SDD 2021 has been rescheduled to 16–20 May 2022 – click for details

SDD 2022 Schedule

Change of Dates

Please note that the agenda below relates to the conference schedule originally planned for November 2021, and will be updated by November for 16–20 May 2022.

We’re pleased to confirm that most of the speakers selected for November 2021 have confirmed that they’re available for May 2022, so we’re expecting that a relatively small number of changes to the planned schedule will be required.

Show all presentation descriptions

Monday 16 May 2022 (provisional agenda)

9:30

9:30–17:30

Pre-Conference Workshop

Mark Richards

PRE-01 Software architecture fundamentals

Mark Richards

9:30–17:30

Pre-Conference Workshop

Jules May

PRE-02 Programming like your life depends on it: a reliability masterclass

Jules May

9:30–17:30

Pre-Conference Workshop

Andrew Clymer

Richard Blewett

PRE-03 Asynchronous programming with .NET

Andrew Clymer

Richard Blewett

9:30–17:30

Pre-Conference Workshop

Jonathan Johnson

PRE-04 Kubernetes working for you

Jonathan Johnson

9:30–17:30

Pre-Conference Workshop

Neal Ford

PRE-05 Building evolutionary architectures: hands-on

Neal Ford

9:30–17:30

Pre-Conference Workshop

Jeff Prosise

PRE-06 Deep Learning (AI) for software developers

Jeff Prosise

9:30–17:30

Pre-Conference Workshop

Stefan Hofer

Isabella Tran

PRE-07 Dive deep into your domain with Domain Storytelling

Stefan Hofer

Isabella Tran

9:30–17:30

Pre-Conference Workshop

Jimmy Bogard

PRE-08 SOA done right – with examples in ASP.NET Core & NServiceBus

Jimmy Bogard

9:30–17:30

Pre-Conference Workshop

Juval Löwy

PRE-09 Righting software – a method for system and project design

Juval Löwy

Tuesday 17 May 2022 (provisional agenda)

9:30

9:30–11:00

Keynote Presentation

Jules May

Quantum supremacy: what's in it for me?

Jules May

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Kim van Wilgen

Keep calm and put it on Azure

Kim van Wilgen

11:30–13:00

Track 2

Kevlin Henney

Lambda? You keep using that letter

Kevlin Henney

11:30–13:00

Track 3

Sander Hoogendoorn

Do or don’t. There’s no try. Or is there? The power of monads explained. Sort of.

Sander Hoogendoorn

11:30–13:00

Track 4

Oliver Sturm

Getting started with React

Oliver Sturm

11:30–13:00

Track 5

Allen Holub

What is a Microservice?

Allen Holub

11:30–13:00

Track 6

Jimmy Bogard

Continuous integration & delivery for databases

Jimmy Bogard

11:30–13:00

Track 7

Neal Ford

Software architecture foundations: styles, patterns & tradeoffs

Neal Ford

11:30–13:00

Track 8

Venkat Subramaniam

Qualities of a highly effective architect

Venkat Subramaniam

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Andrew Clymer

Richard Blewett

Ten OO design patterns every developer should know in 90 minutes

Andrew Clymer

Richard Blewett

14:00–15:30

Track 2

Dominick Baier

OpenID Connect & OAuth 2.0 – security best practices

Dominick Baier

14:00–15:30

Track 3

Jules May

Closures: the next great development in software technology

Jules May

14:00–15:30

Track 4

Venkat Subramaniam

Rediscovering JavaScript

Venkat Subramaniam

14:00–15:30

Track 5

Mark Richards

Microservices migration patterns

Mark Richards

14:00–15:30

Track 6

Jonathan Johnson

Understanding Kubernetes: fundamentals

Jonathan Johnson

14:00–15:30

Track 7

Neal Ford

Software architecture foundations: identifying characteristics

Neal Ford

14:00–15:30

Track 8

Simon Brown

Visualising software architecture with the C4 model

Simon Brown

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jeff Prosise

Fundamentals of Machine Learning: supervised & unsupervised learning

Jeff Prosise

16:00–17:30

Track 2

Kevlin Henney

Get kata

Kevlin Henney

16:00–17:30

Track 3

Julie Lerman

Building serverless data APIs

Julie Lerman

16:00–17:30

Track 4

Christian Weyer

Applied Blazor WebAssembly: five things you should know

Christian Weyer

16:00–17:30

Track 5

Allen Holub

Choreographing Microservices

Allen Holub

16:00–17:30

Track 6

Kim van Wilgen

Continuous security

Kim van Wilgen

16:00–17:30

Track 7

Juval Löwy

Actors – the past and future of software engineering

Juval Löwy

16:00–17:30

Track 8

Venkat Subramaniam

Towards an evolutionary architecture

Venkat Subramaniam

17:30

17:30–19:00

Drinks Reception

Wednesday 18 May 2022 (provisional agenda)

9:30

9:30–11:00

Track 1

Andrew Clymer

Richard Blewett

Removing the smoke and mirrors of async/await

Andrew Clymer

Richard Blewett

9:30–11:00

Track 2

Jeff Prosise

Fundamentals of Machine Learning: building sophisticated classification models

Jeff Prosise

9:30–11:00

Track 3

Kate Gregory

Naming is hard: let’s do better

Kate Gregory

9:30–11:00

Track 4

Christian Wenz

The Final Line of Defence: Browser Security Headers

Christian Wenz

9:30–11:00

Track 5

Allen Holub

Practical event storming

Allen Holub

9:30–11:00

Track 6

Mark Richards

Analyzing architectural risk

Mark Richards

9:30–11:00

Track 7

Rob Richardson

Git scenarios: how do I fix that?

Rob Richardson

9:30–11:00

Track 8

Kim van Wilgen

How people learn

Kim van Wilgen

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Dominick Baier

OpenID Connect and OAuth 2.0 – tips from the trenches

Dominick Baier

11:30–13:00

Track 2

Christian Weyer

Blazor & gRPC – code-first .NET SPA developer productivity

Christian Weyer

11:30–13:00

Track 3

Dror Helper

From clever code to better code

Dror Helper

11:30–13:00

Track 4

Philip Japikse

Getting started with ASP.NET Core 3.x

Philip Japikse

11:30–13:00

Track 5

Sander Hoogendoorn

Building a Microservices architecture in small steps

Sander Hoogendoorn

11:30–13:00

Track 6

Dave Farley

Reactive systems

Dave Farley

11:30–13:00

Track 7

Sven Peters

How to rock remote work

Sven Peters

11:30–13:00

Track 8

Juval Löwy

Zen of architecture

Juval Löwy

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Cecilia Wirén

Security features to consider in .NET Core

Cecilia Wirén

14:00–15:30

Track 2

Jeff Prosise

Fundamentals of Machine Learning: operationalising Machine Learning models

Jeff Prosise

14:00–15:30

Track 3

Joe Natoli

Dark patterns: responsible software design in the age of moving fast and breaking things

Joe Natoli

14:00–15:30

Track 4

Christian Wenz

Hidden treasures: browser APIs

Christian Wenz

14:00–15:30

Track 5

Jonathan Johnson

Serverless Distributed Computing

Jonathan Johnson

14:00–15:30

Track 6

Jimmy Bogard

Messaging with metaphors

Jimmy Bogard

14:00–15:30

Track 7

Julie Lerman

Dev and test agility for your database with Docker

Julie Lerman

14:00–15:30

Track 8

Juval Löwy

Software project design

Juval Löwy

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Hadi Hariri

Kotlin for .NET developers

Hadi Hariri

16:00–17:30

Track 2

Nate Schutta

Architecting cloud native applications

Nate Schutta

16:00–17:30

Track 3

Scott Brady

Stop blaming your users for bad passwords

Scott Brady

16:00–17:30

Track 4

Philip Japikse

Moving to ASP.NET Core 3.x from ASP.NET

Philip Japikse

16:00–17:30

Track 5

Jimmy Bogard

Effective Microservice communication and conversation patterns

Jimmy Bogard

16:00–17:30

Track 6

Rob Richardson

Securing Docker containers: Kubernetes just handles that, right?

Rob Richardson

16:00–17:30

Track 7

Neal Ford

Automating architecture governance

Neal Ford

16:00–17:30

Track 8

Mark Richards

Modern trade-off analysis

Mark Richards

Thursday 19 May 2022 (provisional agenda)

9:30

9:30–11:00

Track 1

Jeff Prosise

Tricks of the Machine Learning masters

Jeff Prosise

9:30–11:00

Track 2

Dror Helper

Unit testing patterns for concurrent code

Dror Helper

9:30–11:00

Track 3

Venkat Subramaniam

Twelve ways to make code suck less

Venkat Subramaniam

9:30–11:00

Track 4

Philip Japikse

Versioning ASP.NET Core APIs

Philip Japikse

9:30–11:00

Track 5

Mark Richards

Domain to Architecture Isomorphism

Mark Richards

9:30–11:00

Track 6

Oliver Sturm

CQRS and Event Sourcing

Oliver Sturm

9:30–11:00

Track 7

Cecilia Wirén

Add security into your Agile process

Cecilia Wirén

9:30–11:00

Track 8

Neal Ford

Communication styles for Distributed Architectures and Microservices

Neal Ford

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Andrew Clymer

Parallel programming

Andrew Clymer

11:30–13:00

Track 2

Philip Japikse

Moving to Entity Framework Core 3.x

Philip Japikse

11:30–13:00

Track 3

Nate Schutta

Bridging the gap between ops and developers with CI/CD

Nate Schutta

11:30–13:00

Track 4

Jennifer Wadella

Supporting an old-fashioned AngularJS app in a modern TypeScript world

Jennifer Wadella

11:30–13:00

Track 5

Rob Richardson

Choosing from the many ways to Docker in Azure

Rob Richardson

11:30–13:00

Track 6

Andrew Harmel-Law

Gayathri Thiyagarajan

Adopting Domain-Driven Design at scale – combating near enemies

Andrew Harmel-Law

Gayathri Thiyagarajan

11:30–13:00

Track 7

Allen Holub

Patterns of software architecture

Allen Holub

11:30–13:00

Track 8

Neal Ford

Restructuring & migrating architectures

Neal Ford

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Andrew Clymer

Simplifying thread safety

Andrew Clymer

14:00–15:30

Track 2

Venkat Subramaniam

Core software design principles for programmers

Venkat Subramaniam

14:00–15:30

Track 3

Joe Natoli

What do you WANT from me? Figuring out what users really need, want and will actually use

Joe Natoli

14:00–15:30

Track 4

Rob Richardson

JavaScript: the grumpy parts

Rob Richardson

14:00–15:30

Track 5

Oliver Sturm

GraphQL and Microservices

Oliver Sturm

14:00–15:30

Track 6

Juval Löwy

The great architecture restructuring

Juval Löwy

14:00–15:30

Track 7

Allen Holub

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

Allen Holub

14:00–15:30

Track 8

Mark Richards

Patterns of event-driven architecture

Mark Richards

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jules May

Version control for data

Jules May

16:00–17:30

Track 2

Kate Gregory

Emotional code

Kate Gregory

16:00–17:30

Track 3

Jennifer Wadella

Leadership without a paycheck

Jennifer Wadella

16:00–17:30

Track 4

Scott Brady

How to build a modern SSO stack with ASP.NET Core

Scott Brady

16:00–17:30

Track 5

Philip Rashleigh

How No-Code & Low-Code platforms enable developers

Philip Rashleigh

16:00–16:49

Track 6

Christian Wenz

Surviving a security audit of your ASP.NET site

Christian Wenz

16:00–16:49

Track 7

Sven Peters

The effective developer – work smarter, not harder

Sven Peters

16:00–16:49

Track 8

Simon Brown

The lost art of software design

Simon Brown

16:50

16:50–17:30

Track 6

Andrew Clymer

Building reliable systems with Polly

Andrew Clymer

16:50–17:30

Track 7

Julie Lerman

Experience report: bringing DDD to a big corporation

Julie Lerman

16:50–17:30

Track 8

Simon Brown

Diagrams as code 2.0

Simon Brown

Friday 20 May 2022 (provisional agenda)

9:30

9:30–17:30

Post-Conference Workshop

Mark Richards

Neal Ford

POST-01 Architecture: the hard parts

Mark Richards

Neal Ford

9:30–17:30

Post-Conference Workshop

Oliver Sturm

POST-02 Developing React applications

Oliver Sturm

9:30–17:30

Post-Conference Workshop

Allen Holub

POST-03 Practical Microservices

Allen Holub

9:30–17:30

Post-Conference Workshop

Clare Sudbery

POST-04 Compassionate refactoring

Clare Sudbery

9:30–17:30

Post-Conference Workshop

Dave Farley

POST-05 Advanced deployment pipeline techniques

Dave Farley

9:30–17:30

Post-Conference Workshop

Kenny Baas-Schwegler

João Rosa

POST-06 EventStorming for Domain-Driven Design modelling

Kenny Baas-Schwegler

João Rosa

9:30–17:30

Post-Conference Workshop

Dino Esposito

POST-07 Machine Learning for .NET developers with ML.NET

Dino Esposito

9:30–17:30

Post-Conference Workshop

Juval Löwy

POST-08 A modular development process

Juval Löwy

9:30–17:30

Post-Conference Workshop

Jules May

POST-09 Hello, quantum world!

Jules May