PubNub sponsors SDD. Pub/sub messaging, IoT control, Real-time data-stream network, Trusted by 2,000 companies for thousands of apps. Get Started.

SDD 2019 Schedule

NOTE: This agenda is for a past SDD event.

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 20 May 2019

9:30

9:30–17:30

Pre-Conference Workshop

Jimmy Bogard

PRE-01 SOA done right (with examples in ASP.NET Core and NServiceBus)

Jimmy Bogard

9:30–17:30

Pre-Conference Workshop

Jeff Prosise

PRE-02 A day of Azure

Fully Booked

Jeff Prosise

9:30–17:30

Pre-Conference Workshop

Dino Esposito

PRE-03 Programming ASP.NET Blazor

Dino Esposito

9:30–17:30

Pre-Conference Workshop

Allen Holub

PRE-04 Practical Microservices

Allen Holub

9:30–17:30

Pre-Conference Workshop

Allan Kelly

PRE-05 One-day introduction to Agile

Cancelled

Allan Kelly

9:30–17:30

Pre-Conference Workshop

Juval Löwy

PRE-06 Zen of architecture (workshop)

Juval Löwy

9:30–17:30

Pre-Conference Workshop

Elton Stoneman

PRE-07 Modernising .NET monoliths with Docker on Windows

Fully Booked

Elton Stoneman

9:30–17:30

Pre-Conference Workshop

Neal Ford

PRE-08 Building evolutionary architectures

Neal Ford

9:30–17:30

Pre-Conference Workshop

Andrew Clymer

Richard Blewett

PRE-09 Solid async in .NET

Andrew Clymer

Richard Blewett

Tuesday 21 May 2019

9:30

9:30–11:00

Keynote Presentation

Sander Hoogendoorn

Kim van Wilgen

Flow: the worst software development approach in history

Sander Hoogendoorn

Kim van Wilgen

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Jeremy Clark

Getting started with .NET Core

Jeremy Clark

11:30–13:00

Track 2

Elton Stoneman

Why containers will take over the world

Elton Stoneman

11:30–13:00

Track 3

Christian Wenz

.NET in the browser with Blazor: how, and why?

Christian Wenz

11:30–13:00

Track 4

James Bender

Write better JavaScript with unit testing

James Bender

11:30–13:00

Track 5

Kevlin Henney

Kathleen Dollard

Quality, Legacy and Entropy in Code

Kevlin Henney

Kathleen Dollard

11:30–13:00

Track 6

Mark Richards

Choosing the right architecture pattern

Mark Richards

11:30–13:00

Track 7

Philip Japikse

Agile failures: stories from the trenches

Philip Japikse

11:30–13:00

Track 8

Jeff Prosise

Fundamentals of Machine Learning

Jeff Prosise

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Andrew Clymer

Richard Blewett

GC: how it works

Andrew Clymer

Richard Blewett

14:00–15:30

Track 2

Elton Stoneman

Modernizing legacy .NET apps with Docker - revisited

Elton Stoneman

14:00–15:30

Track 3

Joe Natoli

Fixing enterprise product design: UX lessons from start-ups

Joe Natoli

14:00–15:30

Track 4

Dominick Baier

Building clients for OpenID Connect/OAuth 2 based systems

Dominick Baier

14:00–15:30

Track 5

Neal Ford

Stories every developer should know

Neal Ford

14:00–15:30

Track 6

Sander Hoogendoorn

How micro-teams change the way we collaborate. Again. Introducing the next evolution of autonomous collaboration

Sander Hoogendoorn

14:00–15:30

Track 7

Allen Holub

What is a Microservice?

Allen Holub

14:00–15:30

Track 8

Andy Olsen

Big Data and the Hadoop ecosystem

Andy Olsen

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jeff Prosise

AI for C# developers: introducing ML.NET

Jeff Prosise

16:00–17:30

Track 2

Jimmy Bogard

From SQL to Azure Cosmos DB

Jimmy Bogard

16:00–17:30

Track 3

Philip Japikse

ASP.NET Core for mere mortals

Philip Japikse

16:00–17:30

Track 4

James Bender

I promise to give you a callback if you’ll just await: working with asynchronous JavaScript

James Bender

16:00–17:30

Track 5

Allen Holub

#NoEstimates in depth

Allen Holub

16:00–17:30

Track 6

Matt Stine

Domain-driven serverless design

Matt Stine

16:00–17:30

Track 7

Jules May

Post-Agile development

Jules May

16:00–17:30

Track 8

Mark Richards

Essential software architecture practices

Mark Richards

17:30

17:30–19:00

Drinks Reception

Wednesday 22 May 2019

9:30

9:30–11:00

Track 1

Kathleen Dollard

Debugging and light profiling

Kathleen Dollard

9:30–11:00

Track 2

Jon Skeet

Programming language complexity

Jon Skeet

9:30–11:00

Track 3

Philip Japikse

Versioning APIs with ASP.NET Core

Philip Japikse

9:30–11:00

Track 4

Jules May

Hello, quantum world!

Jules May

9:30–11:00

Track 5

Matt Stine

Making sense of architectural coupling with Connascence

Matt Stine

9:30–11:00

Track 6

Allen Holub

Incremental architecture

Allen Holub

9:30–11:00

Track 7

Sander Hoogendoorn

Domain-Driven Design at the heart of your micro landscape: how bounded contexts and other patterns help you deliver on Microservices promises

Sander Hoogendoorn

9:30–11:00

Track 8

Jeff Prosise

Fundamentals of Deep Learning

Jeff Prosise

11:00

11:00–11:30

Coffee Break

11:30

11:30–13:00

Track 1

Jeremy Clark

Practical reflection in .NET

Jeremy Clark

11:30–13:00

Track 2

Ed Courtenay

Introduction to Railway Oriented Programming

Ed Courtenay

11:30–13:00

Track 3

Dominick Baier

Securing web applications and APIs with ASP.NET Core 2.2 and 3.0

Dominick Baier

11:30–13:00

Track 4

Richard Blewett

Build RabbitMQ Microservices in C#

Richard Blewett

11:30–13:00

Track 5

Juval Löwy

The Architect

Juval Löwy

11:30–13:00

Track 6

Jimmy Bogard

Vertical slice architecture

Jimmy Bogard

11:30–13:00

Track 7

Mark Richards

Analysing software architecture

Mark Richards

11:30–13:00

Track 8

Allen Holub

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

Allen Holub

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Kathleen Dollard

Functional techniques for C#

Kathleen Dollard

14:00–15:30

Track 2

Philip Japikse

Entity Framework Core 2 for mere mortals

Philip Japikse

14:00–15:30

Track 3

Andy Olsen

ASP.NET Core and TDD

Andy Olsen

14:00–15:30

Track 4

James Bender

Building REST API of your dreams

James Bender

14:00–15:30

Track 5

Luca Minudel

The fantastic four: coding patterns of continuous delivery

Luca Minudel

14:00–15:30

Track 6

Neal Ford

Building evolutionary architectures: architectural fitness functions

Neal Ford

14:00–15:30

Track 7

Mark Richards

The rise and fall of the Microservices architecture

Mark Richards

14:00–15:30

Track 8

Kevlin Henney

Agility ≠ Speed

Kevlin Henney

15:30

15:30–16:00

Coffee Break

16:00

16:00–17:30

Track 1

Jeremy Clark

DI why? Getting a grip on dependency injection

Jeremy Clark

16:00–17:30

Track 2

Andrew Clymer

Richard Blewett

Ten OO design patterns every developer should know in 90 minutes

Andrew Clymer

Richard Blewett

16:00–17:30

Track 3

Dino Esposito

Introduction to VueJS for ASP.NET developers

Dino Esposito

16:00–17:30

Track 4

Christian Wenz

The end of cross-site scripting (and more): Content Security Policy

Christian Wenz

16:00–17:30

Track 5

Kim van Wilgen

Continuously delivering continuous delivery

Kim van Wilgen

16:00–17:30

Track 6

Neal Ford

Building evolutionary architectures: restructuring architectures

Neal Ford

16:00–17:30

Track 7

Zhamak Dehghani

A pragmatic guide for migrating to Microservices

Zhamak Dehghani

16:00–17:30

Track 8

Juval Löwy

Zen of architecture

Juval Löwy

Thursday 23 May 2019

9:30

9:30–11:00

Track 1

Andrew Clymer

LINQ: how it works

Andrew Clymer

9:30–11:00

Track 2

Konrad Kokosa

Make your custom .NET GC - “whys” and “hows”

Konrad Kokosa

9:30–11:00

Track 3

Joe Natoli

UI design crash course for software developers

Joe Natoli

9:30–11:00

Track 4

Kevlin Henney

A functional primer - part 1

Kevlin Henney

9:30–11:00

Track 5

Adam Tornhill

Guide refactorings with Behavioral Code Analysis

Adam Tornhill

9:30–11:00

Track 6

Allen Holub

Microservice swarms: decentralised discovery and scaling with message-based Microservices

Allen Holub

9:30–11:00

Track 7

Stephen Haunts

Demystifying Blockchain: a developer’s view of how Blockchain works

Stephen Haunts

9:30–11:00

Track 8

Juval Löwy

Actors - the past and future of software engineering

Juval Löwy

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

Brian Randell

DevOps for the SQL Server database

Brian Randell

11:30–13:00

Track 3

Dino Esposito

In retrospect - Web Forms and Web Frontends

Dino Esposito

11:30–13:00

Track 4

Kevlin Henney

A functional primer - part 2

Kevlin Henney

11:30–13:00

Track 5

Allen Holub

Contemporary web application architecture: the whole stack

Allen Holub

11:30–13:00

Track 6

Mark Richards

Space-based Microservices

Mark Richards

11:30–13:00

Track 7

Neal Ford

Architecture: the hard parts

Neal Ford

11:30–13:00

Track 8

Juval Löwy

Software project design

Juval Löwy

13:00

13:00–14:00

Lunch Break

14:00

14:00–15:30

Track 1

Jeremy Clark

IEnumerable, ISaveable, IDontGetIt: understanding .NET interfaces

Jeremy Clark

14:00–15:30

Track 2

Brian Randell

DevOps on Azure with Docker, K8s, and Azure DevOps

Brian Randell

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

Zhamak Dehghani

The next data platform architecture: beyond a monolithic data lake to a distributed data mesh

Zhamak Dehghani

14:00–15:30

Track 5

Matt Stine

Event sourcing and CQRS with Apache Kafka and friends

Matt Stine

14:00–15:30

Track 6

Stefano Tempesta

Architect Blockchain applications as Microservices

Stefano Tempesta

14:00–15:30

Track 7

Allen Holub

Patterns of software architecture

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

16:00

16:00–16:40

Track 1

Andrew Clymer

Building reliable systems with Polly

Andrew Clymer

16:00–16:40

Track 2

Jules May

Version control for data

Jules May

16:00–16:40

Track 3

Tom Wey

A brief history of asynchronous JavaScript

Tom Wey

16:00–16:40

Track 4

Christian Wenz

What’s new in web application security?

Christian Wenz

16:00–16:40

Track 5

Kathleen Dollard

What do you do with 30 years of mistakes?

Kathleen Dollard

16:00–16:40

Track 6

Adam Tornhill

In retrospect: is your code still a crime scene?

Adam Tornhill

16:00–16:40

Track 7

Allan Kelly

Evolution from #NoProjects to Continuous Digital

Allan Kelly

16:00–17:30

Track 8

Kevlin Henney

Lean Code

Kevlin Henney

16:50

16:50–17:30

Track 1

Andrew Clymer

Parallel loops

Andrew Clymer

16:50–17:30

Track 2

Jules May

Event Sourcing - the Cinderella database paradigm

Jules May

16:50–17:30

Track 3

Laurie Young

Luke Mitchell

Can designers and developers co-exist peacefully?

Laurie Young

Luke Mitchell

16:50–17:30

Track 4

Christian Wenz

Razor pages: all you need to know in 40 minutes

Christian Wenz

16:50–17:30

Track 5

Scott Brady

Leaving passwords behind

Scott Brady

16:50–17:30

Track 6

Andy Olsen

Angular bells and whistles

Andy Olsen

16:50–17:30

Track 7

Allan Kelly

Requirements – whose job are they anyway?

Allan Kelly

Friday 24 May 2019

9:30

9:30–17:30

Post-Conference Workshop

Neal Ford

Mark Richards

POST-01 Software architecture: the hard parts

Neal Ford

Mark Richards

9:30–17:30

Post-Conference Workshop

Philip Japikse

POST-02 Hands-on lab: develop an ASP.NET Core & EF Core app in a day

Philip Japikse

9:30–17:30

Post-Conference Workshop

Brian Randell

POST-03 Azure DevOps: any app, any platform, any code

Brian Randell

9:30–17:30

Post-Conference Workshop

Kathleen Dollard

POST-04 I will make you a better C# programmer – 2019 edition

Kathleen Dollard

9:30–17:30

Post-Conference Workshop

Allen Holub

POST-05 Incremental architecture hands-on: Design by Coding, Event Storming, and Mob Programming

Allen Holub

9:30–17:30

Post-Conference Workshop

Matt Stine

POST-06 Domain-Driven Design and event-driven Microservices

Matt Stine

9:30–17:30

Post-Conference Workshop

Dino Esposito

POST-07 AI for (preferably .NET) dummies

Dino Esposito

9:30–17:30

Post-Conference Workshop

Juval Löwy

POST-08 Microservices-oriented development process

Juval Löwy

9:30–17:30

Post-Conference Workshop

Adam Tornhill

POST-09 Code as a crime scene: fix technical debt with Behavioural Code Analysis

Cancelled

Adam Tornhill