SAVE THE DATES
SDD 2023 is scheduled for 15–19 May 2023

SDD 2022 Schedule

Note that this page shows the agenda for the 2022 SDD event. Details for 2023 will be published here when available.

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 16 May 2022

9:30

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 engineers

fully booked

Jeff Prosise

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

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

Jeremy Clark

Learn to love lambdas in C# (and LINQ too!)

Jeremy Clark

11:30–13:00

Track 2

Jeff Prosise

Everything you wanted to know about AI in 90 minutes

Jeff Prosise

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

Kevlin Henney

Lambda? You keep using that letter

Kevlin Henney

11:30–13:00

Track 7

Neal Ford

Software architecture foundations: styles, patterns & tradeoffs

Neal Ford

11:30–13:00

Track 8

Simon Brown

Visualising software architecture with the C4 model

Simon Brown

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 2

Andrew Clymer

Richard Blewett

Ten OO design patterns every developer should know in 90 minutes

Andrew Clymer

Richard Blewett

14:00–15:30

Track 3

Jules May

Closures: the next great development in software technology

Jules May

14:00–15:30

Track 4

Christian Weyer

gRPC & Blazor WebAssembly: a match made in heaven

Christian Weyer

14:00–15:30

Track 5

Allen Holub

Choreographing Microservices

Allen Holub

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

Kevlin Henney

Why is my Agile so fragile?

Kevlin Henney

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jeremy Clark

Getting Func-y: understanding delegates in C#

Jeremy Clark

16:00–17:30

Track 2

Jeff Prosise

Support-Vector Machines

Jeff Prosise

16:00–17:30

Track 3

Kevlin Henney

Get kata

Kevlin Henney

16:00–17:30

Track 4

Kim van Wilgen

Continuous security

Kim van Wilgen

16:00–17:30

Track 6

Jonathan Johnson

Chaos experiment design – boom!

Jonathan Johnson

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

Andrew Harmel-Law

Gayathri Thiyagarajan

Adopting Domain-Driven Design at scale – combating near enemies

Andrew Harmel-Law

Gayathri Thiyagarajan

17:30

17:30–19:00

Drinks Reception

Wednesday 18 May 2022

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

Operationalizing Machine-Learning 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

Neal Ford

Modern trade-off analysis

Neal Ford

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

Jeremy Clark

A tour of Go for the C# Developer

Jeremy Clark

11:30–13:00

Track 2

Cecilia Wirén

Take control of your Azure resources with code using Terraform

Cecilia Wirén

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

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

Neal Ford

Automating architecture governance

Neal Ford

11:30–13:00

Track 7

Simon Brown

Diagrams as code 2.0

Simon Brown

11:30–13:00

Track 8

Juval Löwy

Composable design

Juval Löwy

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Oliver Sturm

Advanced Pattern Matching in C#

Oliver Sturm

14:00–15:30

Track 2

Jeff Prosise

Tricks of the Machine Learning masters

Jeff Prosise

14:00–15:30

Track 3

Jules May

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

Jules May

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

Nate Schutta

Thinking architecturally

Nate Schutta

14:00–15:30

Track 7

Philip Japikse

Leaders are made, not born

Philip Japikse

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

Jeremy Clark

Diving deeper into dependency injection

Jeremy Clark

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 from ASP.NET

Philip Japikse

16:00–17:30

Track 5

Rob Richardson

Securing Docker containers: Kubernetes just handles that, right?

Rob Richardson

16:00–17:30

Track 6

Sven Peters

The effective developer – work smarter, not harder

Sven Peters

16:00–17:30

Track 7

Clare Sudbery

How to stop testing and break your code base

Clare Sudbery

16:00–17:30

Track 8

Jonathan Johnson

Architectures for Cloud Native

Jonathan Johnson

Thursday 19 May 2022

9:30

9:30–11:00

Track 1

Andrew Clymer

Richard Blewett

Parallel programming

Andrew Clymer

Richard Blewett

9:30–11:00

Track 2

Dror Helper

Unit testing patterns for concurrent code

Dror Helper

9:30–11:00

Track 3

Jeff Prosise

Image Processing with Deep Neural Networks

Jeff Prosise

9:30–11:00

Track 4

Philip Japikse

Versioning ASP.NET Core APIs

Philip Japikse

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

Jeremy Clark

Better parallel code with C# channels

Jeremy Clark

11:30–13:00

Track 2

Philip Japikse

Moving to Entity Framework Core from Entity Framework

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

Christian Wenz

OWASP top ten 2021: worth the wait?

Christian Wenz

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

Kate Gregory

Emotional code

Kate Gregory

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

Richard Blewett

Simplifying thread safety

Andrew Clymer

Richard Blewett

14:00–15:30

Track 2

Nate Schutta

Reading, writing and refactoring

Nate Schutta

14:00–15:30

Track 3

Jeff Prosise

Natural Language Processing with Deep Neural Networks

Jeff Prosise

14:00–15:30

Track 4

Rob Richardson

Minimal APIs with ASP.NET 6.0

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

Neal Ford

Domain to Architecture Isomorphism

Neal Ford

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jeremy Clark

Catching up with C# interfaces: what you know is probably wrong

Jeremy Clark

16:00–17:30

Track 2

Jules May

Version control for data

Jules May

16:00–17:30

Track 3

Dror Helper

Developing .NET cloud native applications with AWS

Dror Helper

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

Automated security testing pipelines with OWASP ZAP

Philip Rashleigh

16:00–17:30

Track 6

Rob Richardson

JavaScript: the grumpy parts

Rob Richardson

16:00–17:30

Track 7

Clare Sudbery

Let them learn! How to nurture great software engineers

Clare Sudbery

16:00–16:49

Track 8

Simon Brown

The lost art of software design

Simon Brown

16:50

16:50–17:30

Track 8

Simon Brown

The lost art of software architects

Simon Brown

Friday 20 May 2022

9:30

9:30–17:30

Post-Conference Workshop

Neal Ford

POST-01 Architecture: the hard parts

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

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