Days
Hours
Mins
Secs

to save up to £ Register Now

SDD 2023 Schedule

The Coding Level shown within each description is a rating from 1 to 5 to indicate how much demo coding the session will contain – 1 means none, and 5 means nothing-but.

The Advanced Level shown within each description is a rating from 1 to 5 to indicate how advanced the session is – 1 means introductory, and 5 means black-belt.

Monday 15 May 2023

9:30

9:30–17:30

Pre-Conference Workshop

Mark Richards

WK01 Architectural thinking

Mark Richards

9:30–17:30

Pre-Conference Workshop

Jules May

WK02 Programming like your life depends on it: a reliability masterclass

Jules May

9:30–17:30

Pre-Conference Workshop

Andrew Clymer

Richard Blewett

WK03 Solid async programming in C#

Andrew Clymer

Richard Blewett

9:30–17:30

Pre-Conference Workshop

Loek Duys

Alex Thissen

WK04 Doing Kubernetes DevOps style with Codespaces

Loek Duys

Alex Thissen

9:30–17:30

Pre-Conference Workshop

Neal Ford

WK05 Building evolutionary architectures – hands-on (2nd edition)

Neal Ford

9:30–17:30

Pre-Conference Workshop

Jeff Prosise

WK06 Machine Learning for software developers

Jeff Prosise

9:30–17:30

Pre-Conference Workshop

Allen Holub

WK07 Practical Microservices

Allen Holub

9:30–17:30

Pre-Conference Workshop

Christian Wenz

WK08 Web application security bootcamp

Christian Wenz

9:30–17:30

Pre-Conference Workshop

Joe Natoli

WK09 What’s worth doing: creating requirements that ACTUALLY matter

Joe Natoli

Tuesday 16 May 2023

9:30

9:30–11:00

Keynote Presentation

Allen Holub

#No

Allen Holub

11:00

11:00–11:30

Coffee Break 1

11:30

11:30–13:00

Track 1

Andrew Clymer

Richard Blewett

Let’s stop programming like 2017

Andrew Clymer

Richard Blewett

11:30–13:00

Track 2

Jeff Prosise

AI as a service: introducing Azure Cognitive Services

Jeff Prosise

11:30–13:00

Track 3

Christian Wenz

Future-proof mobile cross-platform apps with Flutter

Christian Wenz

11:30–13:00

Track 4

Kevlin Henney

Gilding the rose

Kevlin Henney

11:30–13:00

Track 5

Nathaniel Schutta

Fallacies of software development

Nathaniel Schutta

11:30–13:00

Track 6

Allen Holub

What is a Microservice?

Allen Holub

11:30–13:00

Track 7

Mark Richards

Testing software architecture

Mark Richards

11:30–13:00

Track 8

Neal Ford

Software architecture foundations: identifying characteristics

Neal Ford

13:00

13:00–14:00

Lunch Break 1

14:00

14:00–15:30

Track 1

Jeremy Clark

Get comfortable with .NET 7 and the CLI

Jeremy Clark

14:00–15:30

Track 2

Jonah Andersson

Learned experience from migrating .NET applications to Azure

Jonah Andersson

14:00–15:30

Track 3

Kevlin Henney

Go with the flow

Kevlin Henney

14:00–15:30

Track 4

Talia Nassi

Testing in production

Talia Nassi

14:00–15:30

Track 5

Grishma Jena

Demystifying data science

Grishma Jena

14:00–15:30

Track 6

Nathaniel Schutta

Responsible Microservices

Nathaniel Schutta

14:00–15:30

Track 7

Juval Löwy

Service contract design

Juval Löwy

14:00–15:30

Track 8

Neal Ford

Software architecture foundations: styles, patterns, and trade-offs

Neal Ford

15:30

15:30–16:00

Coffee Break 2

16:00

16:00–17:30

Track 1

Oliver Sturm

Parallelization using Actors in C#

Oliver Sturm

16:00–17:30

Track 2

Jeff Prosise

Natural language processing with deep neural networks

Jeff Prosise

16:00–17:30

Track 3

Andrew Clymer

Richard Blewett

Ten OO design patterns every developer should know, in 90 minutes

Andrew Clymer

Richard Blewett

16:00–17:30

Track 4

Joe Natoli

UI design crash course for software developers

Joe Natoli

16:00–17:30

Track 5

Kevlin Henney

Beyond the known knowns

Kevlin Henney

16:00–17:30

Track 6

Seb Rose

Microservices delivery without the pitfalls

Seb Rose

16:00–17:30

Track 7

Allen Holub

Incremental architecture: an overview

Allen Holub

16:00–17:30

Track 8

Mark Richards

Elements of distributed architectures

Mark Richards

17:30

17:30–19:00

Drinks Reception

Wednesday 17 May 2023

9:30

9:30–11:00

Track 1

Jeremy Clark

DI why? Getting a grip on dependency injection

Jeremy Clark

9:30–11:00

Track 2

Jeff Prosise

Image processing with Deep Neural Networks

Jeff Prosise

9:30–11:00

Track 3

James Bender

Yes, you need to unit test your JavaScript – here’s how

James Bender

9:30–11:00

Track 4

Joe Natoli

Everything you know about UX & Agile integration is WRONG

Joe Natoli

9:30–11:00

Track 5

Gayathri Thiyagarajan

Assuring data quality at scale – a study of Data Mesh in practice

Gayathri Thiyagarajan

9:30–11:00

Track 6

Allen Holub

Choreographing Microservices

Allen Holub

9:30–11:00

Track 7

Nathaniel Schutta

Thinking architecturally

Nathaniel Schutta

9:30–11:00

Track 8

Jules May

The cash value of technical debt – how to scare your boss into doing the right thing

Jules May

11:00

11:00–11:30

Coffee Break 3

11:30

11:30–13:00

Track 1

Andrew Clymer

Richard Blewett

Async and Await, How it works

Andrew Clymer

Richard Blewett

11:30–13:00

Track 2

Vyron Vasileiadis

Practical logging & monitoring with .NET

Vyron Vasileiadis

11:30–13:00

Track 3

Rob Richardson

Scaling the testing pyramid in TypeScript

Rob Richardson

11:30–13:00

Track 4

Talia Nassi

Building applications with infrastructure as code

Talia Nassi

11:30–13:00

Track 5

Eduard Keilholz

Kubernetes made easy – getting the hang of Azure Container Apps

Eduard Keilholz

11:30–13:00

Track 6

Mark Richards

Decomposition patterns

Mark Richards

11:30–13:00

Track 7

Neal Ford

Mastering technical presentations by example

Neal Ford

11:30–13:00

Track 8

Juval Löwy

The great architecture restructuring

Juval Löwy

13:00

13:00–14:00

Lunch Break 2

14:00

14:00–15:30

Track 1

Jeremy Clark

Safer code: nullabilty and null operators in C#

Jeremy Clark

14:00–15:30

Track 2

Jeff Prosise

Principal Component Analysis

Jeff Prosise

14:00–15:30

Track 3

Cecilia Wirén

Azure app configuration

Cecilia Wirén

14:00–15:30

Track 4

James Bender

The case for burning down your application and starting over

James Bender

14:00–15:30

Track 5

Rob Richardson

Level-up your DevOps with GitHub Actions and Kubernetes

Rob Richardson

14:00–15:30

Track 6

Oliver Sturm

Clean Microservices communications with CQRS and Event Sourcing

Oliver Sturm

14:00–15:30

Track 7

Allen Holub

Creating architecture from patterns

Allen Holub

14:00–15:30

Track 8

Juval Löwy

Advanced techniques in software project design

Juval Löwy

15:30

15:30–16:00

Coffee Break 4

16:00

16:00–17:30

Track 1

Oliver Sturm

Functional code in C# 10 (or newer!)

Oliver Sturm

16:00–17:30

Track 2

Andrew Clymer

Richard Blewett

Parallel patterns

Andrew Clymer

Richard Blewett

16:00–17:30

Track 3

Christian Wenz

Prevent getting hacked: security features in modern browsers

Christian Wenz

16:00–17:30

Track 4

Clare Sudbery

Continuous integration – that’s not what they meant

Clare Sudbery

16:00–17:30

Track 5

Jules May

Infinitely elastic, highly performant, relational databases

Jules May

16:00–17:30

Track 6

Neal Ford

Granularity and communication in Microservice architectures

Neal Ford

16:00–17:30

Track 7

Seb Rose

User stories – from good intentions to bad advice

Seb Rose

16:00–17:30

Track 8

Mark Richards

Creating an architecture narrative

Mark Richards

Thursday 18 May 2023

9:30

9:30–11:00

Track 1

Jeremy Clark

Get Func-y: understanding delegates in C#

Jeremy Clark

9:30–11:00

Track 2

Jeff Prosise

Make AI come to life with OpenAI

Jeff Prosise

9:30–11:00

Track 3

Jules May

Back to the future: why analog computers are coming back

Jules May

9:30–11:00

Track 4

Oliver Sturm

Building Svelte components in the real world

Oliver Sturm

9:30–11:00

Track 5

Cecilia Wirén

GitHub – what’s new and what’s next?

Cecilia Wirén

9:30–11:00

Track 6

Sander Hoogendoorn

The Zen of programming – a personal journey towards writing beautiful code

Sander Hoogendoorn

9:30–11:00

Track 7

Mark Richards

Patterns of event-driven architecture

Mark Richards

9:30–11:00

Track 8

Andrew Harmel-Law

A commune in the ivory tower: a new approach to software architecture

Andrew Harmel-Law

11:00

11:00–11:30

Coffee Break 5

11:30

11:30–13:00

Track 1

Oliver Sturm

Advanced pattern matching in C#

Oliver Sturm

11:30–13:00

Track 2

Rob Richardson

Minimal APIs in ASP.NET 7.0

Rob Richardson

11:30–13:00

Track 3

Toni Petrina

Klavs Madsen

Porting code – lessons learned

Toni Petrina

Klavs Madsen

11:30–13:00

Track 4

Kim van Wilgen

Leading self-organising teams

Kim van Wilgen

11:30–13:00

Track 5

Roy Derks

Doubling down on GraphQL – with REST

Roy Derks

11:30–13:00

Track 6

Zoran Horvat

There and back again of software architecture: Monoliths vs Microservices

Zoran Horvat

11:30–13:00

Track 7

Juval Löwy

Actors – the past and future of software engineering

Juval Löwy

11:30–13:00

Track 8

Allen Holub

Practical event storming

Allen Holub

13:00

13:00–14:00

Lunch Break 3

14:00

14:00–15:30

Track 1

Jeremy Clark

Better parallel code with C# channels

Jeremy Clark

14:00–15:30

Track 2

Jonah Andersson

Serverless stateful workflows with Azure Durable Functions

Jonah Andersson

14:00–15:30

Track 3

Christian Wenz

OWASP top ten for ASP.NET Core: web application security risks

Christian Wenz

14:00–15:30

Track 4

Clare Sudbery

When software delivery goes wrong: why app stores could make you sad

Clare Sudbery

14:00–15:30

Track 5

Roy Derks

GraphQL as the magic glue for your APIs

Roy Derks

14:00–15:30

Track 6

Sander Hoogendoorn

Surviving the innovator’s dilemma – a personal journey through scale-ups, tech boards and microteams

Sander Hoogendoorn

14:00–15:30

Track 7

Mete Atamel

Service orchestration patterns

Mete Atamel

14:00–15:30

Track 8

Neal Ford

Automating architecture governance

Neal Ford

15:30

15:30–16:00

Coffee Break 6

16:00

16:00–17:30

Track 1

Vyron Vasileiadis

Reverse proxying with .NET and YARP

Vyron Vasileiadis

16:00–17:30

Track 2

James Bender

How Storybook makes your UI development super easy

James Bender

16:00–17:30

Track 3

Cecilia Wirén

Hacking the OWASP Juice Shop

Cecilia Wirén

16:00–17:30

Track 4

Kim van Wilgen

How people learn

Kim van Wilgen

16:00–17:30

Track 5

Rob Richardson

Horizontal autoscaling with Kubernetes

Rob Richardson

16:00–17:30

Track 6

Jules May

Hello, quantum world!

Jules May

16:00–17:30

Track 7

Sheen Brisals

Let’s talk about the other SDLC: the Serverless Development Lifecycle

Sheen Brisals

16:00–17:30

Track 8

Allen Holub

DbC (Design by Coding): applying TDD principles to architecture

Allen Holub

Friday 19 May 2023

9:30

9:30–17:30

Post-Conference Workshop

Mark Richards

Neal Ford

WK10 Software architecture: the hard parts

Mark Richards

Neal Ford

9:30–17:30

Post-Conference Workshop

Jeff Prosise

WK11 Deep Learning (AI) for software developers

Jeff Prosise

9:30–17:30

Post-Conference Workshop

Allen Holub

WK12 Agility (#NoAgile)

Allen Holub

9:30–17:30

Post-Conference Workshop

Nathaniel Schutta

WK13 Cloud-native architecture

Nathaniel Schutta

9:30–17:30

Post-Conference Workshop

Grishma Jena

WK14 Learning data science in Python

Grishma Jena

9:30–17:30

Post-Conference Workshop

Jacqui Read

WK15 Hands-on visual communication for software architecture

Jacqui Read

9:30–17:30

Post-Conference Workshop

Zoran Horvat

WK16 Gradually improving software design (applying the emergent OOD)

Zoran Horvat

9:30–17:30

Post-Conference Workshop

Cecilia Wirén

WK17 Infrastructure as Code for Azure using Terraform

Cecilia Wirén

9:30–17:30

Post-Conference Workshop

Juval Löwy

WK18 Righting software – a method for system and project design

Juval Löwy