Days
Hours
Mins
Secs

to save up to £ Register Now

SDD 2020 Schedule

Show all presentation descriptions

Monday 11 May 2020

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 A day of Azure

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 12 May 2020

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

I’ll get back to you: task, await, and asynchronous methods in C#

Jeremy Clark

11:30–13:00

Track 2

Kim van Wilgen

Keep calm and put it on Azure

Kim van Wilgen

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

Code analysis and team culture

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

Jeremy Clark

Get func-y: understanding delegates in .NET

Jeremy Clark

16:00–17:30

Track 2

Jeff Prosise

Fundamentals of Machine Learning

Jeff Prosise

16:00–17:30

Track 3

Kim van Wilgen

Continuous security

Kim van Wilgen

16:00–17:30

Track 4

Julie Lerman

Building serverless data APIs

Julie Lerman

16:00–17:30

Track 5

Allen Holub

Choreographing Microservices

Allen Holub

16:00–17:30

Track 6

Jessica White

Controlling wildfires while only getting singed

Jessica White

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 13 May 2020

9:30

9:30–11:00

Track 1

Andrew Clymer

Richard Blewett

What’s new in async for .NET Core

Andrew Clymer

Richard Blewett

9:30–11:00

Track 2

Jeff Prosise

Fundamentals of Deep Learning

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

Essential architecture practices

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

Jeremy Clark

Diving deeper into dependency injection

Jeremy Clark

11:30–13:00

Track 2

Dominick Baier

OpenID Connect and OAuth 2.0 – tips from the trenches

Dominick Baier

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

Practical AI for software developers

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

Philip Japikse

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

Philip Japikse

14:00–15:30

Track 5

Jonathan Johnson

Understanding Kubernetes: fundamentals

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

Philip Japikse

Moving to Entity Framework Core 3.x

Philip Japikse

16:00–17:30

Track 3

Scott Brady

Stop blaming your users for bad passwords

Scott Brady

16:00–17:30

Track 4

Christian Wenz

Hidden treasures: browser APIs

Christian Wenz

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

“Design patterns” in dynamic and functional languages

Neal Ford

16:00–17:30

Track 8

Mark Richards

Leading and guiding development teams

Mark Richards

Thursday 14 May 2020

9:30

9:30–11:00

Track 1

Jeff Prosise

Machine Learning for C# Lovers: building sophisticated ML models with ML.NET

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

The rise and fall of Microservices

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

Automating architecture governance

Neal Ford

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Jeremy Clark

Run faster: parallel programming in C#

Jeremy Clark

11:30–13:00

Track 2

Kevlin Henney

Get kata

Kevlin Henney

11:30–13:00

Track 3

Heidi Waterhouse

The death of data: retention, rot, and risk

Heidi Waterhouse

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

Jeremy Clark

What’s new in C# 8 interfaces (and how to use them effectively)

Jeremy Clark

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

Luca Mezzalira

Demystifying micro-frontends

Luca Mezzalira

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–16:40

Track 4

Julie Lerman

Experience report: bringing DDD to a big corporation

Julie Lerman

16:00–16:40

Track 5

Andrew Clymer

Building reliable systems with Polly

Andrew Clymer

16:00–16:40

Track 6

Sven Peters

The effective developer – work smarter, not harder

Sven Peters

16:00–16:40

Track 7

Simon Brown

The lost art of software design

Simon Brown

16:00–17:30

Track 8

Kevlin Henney

Lambda? You keep using that letter

Kevlin Henney

16:50

16:50–17:30

Track 4

James Crowley

Tech for good

James Crowley

16:50–17:30

Track 5

Andrew Clymer

Parallel loops

Andrew Clymer

16:50–17:30

Track 6

Christian Wenz

Surviving a security audit of your ASP.NET site

Christian Wenz

16:50–17:30

Track 7

Simon Brown

The model-code gap

Simon Brown

16:50–17:30

Track 8

Heidi Waterhouse

Y2K and other disappointing disasters: risk reduction and harm mitigation

Heidi Waterhouse

Friday 15 May 2020

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