Courses and Talks

I am available for training and speaking on subjects such as microservices, .NET Core, event sourcing, software craftmanship and more. Below are my currently open public courses - if you would like something different or an internal course please contact me at c.horsdal@gmail.com or +45 28 89 65 02.

Upcoming Talks

No plans at the moment :)

Current Courses


Introduction to Strategic Domain Driven Design
Domain Driven Design (DDD) is an approach to software development that aims at building long lived, robust, and maintainable software systems based on a thorough understanding of the domain the system is part of. This course is an introduction to the strategic part of DDD which teaches how to discover the domain, build a shared understanding between all stakeholders, split a complex domain into manageable chunks – called bounded contexts, design the interactions between bounded context and how to use all of this to create robust architectures.

This course includes:
  • Introduction to DDD and the principles behind
  • Domain Discovery
  • Intro to Event Storming
  • Splitting a domain into bounded context - technics and heuristics
  • Bonded context canvas
  • Context mapping and integration between bounded contexts
  • Prioritization and build/buy using Core Domain Charts
Duration: 2 days

Microservices in .NET: Introduction
Over the past few years microservices have proven to be a very useful architectural approach for a great many systems. Microservice systems can enable continuous delivery and great business agility, be highly robust, scalable and maintainable. On the other hand microservices come with their own complexities and also requires a certain level of maturity technically and organizationally. In this workshop you will get an introduction to microservices, you will learn how to succeed with them and what the pre-requisites to working with microservices are. On top of that, you will get an introduction to a lightweight .NET based tech stack well suited for building microservices - consisting of .NET, Minimal API and few other things.
This course is built in part on my Microservices in .NET book and of course on real world experience building microservices.

Duration: 3 days


Event Sourcing and CQRS with .NET Core
Event sourcing is an approach to data persistence that is safe and flexible at the same time. It safely stores data in log over all changes ever made. Nothing is lost. At the same time, event sourcing give us tremendous flexibilty to changes the business rules that govern how the data is used. These are some of the reasons that event sourcing has become increasingly popular over the past years.

Command-query responsibility segregation or CQRS for short is an architectural style that allows for a high degree of separation of concerns that makes a good fit for complex collaborative domains. Furhtermore CQRS fits well with event sourcing, which I will show in the course where we start from event sourcing and evolve the software to a CQRS design.

In this workshop participants will get a hands-on introduction to event sourcing and CQRS. We will expand on that introduction to show how event sourcing tends to introduce a need for "readmodels". Along the way there might be an anecdote or two from using event sourcing and CQRS in the real world and under heavy load.

Duration: 2 days

Past Talks


2023 Update Conference Prague
Effective testing in Microservice systems
2023 Techorama Netherlands
 Effective testing in microservice systems

Practical event sourcing with Marten and PostgreSql
2023 Tech Passion Day Cph
Strategies for introducing DDD: Leading upwards and sideways
2023 ANUG
Effective testing in Microservice systems
2022 NDC Oslo
Effective testing in Microservice systems
2022 DDD EU
Strategies for introducing DDD: Leading upwards and sideways
2021

Manning Publications Twitch Channel
Microservices collaboration

2021

Update Conf Prague
Marten: Turning Postgres into an event and document store

2020 BuildStuff Online
Collaboration in socio-technical systems
2019 BuildStuff
Lessons learned working remotely across timezones
2019

DevConf Krakow
Scoping and Identifying Microservices
2019 Barcelona .NET Core
Marten: Turning Postgres into an event and document store
2019 ANUG
Marten: Turning Postgres into an event and document store
2018 NDC Oslo
Lightweight microservice collaboration using HTTP
2018 DOTNEXT Skt. Petersburg
Lightweight microservice collaboration using HTTP
2017 GET.NET
Microservices! Lots of microservices! But how do they collaborate?
2017 ANUG
Book release party and presentation about microservice collaboration
2017 CNUG
Book release party and presentation about microservice collaboration
2017 L&B Faglig Fredag
Consolidating Services using Middleware
2017 NDC London
Consolidating Services using Middleware (video: http://www.horsdal-consult.dk/2017/03/talk-video-consolidating-services-with.html)
2016 ANUG
Title: .NETCore
2015  GOTO Cph
Title: NET Core and DNX - .NET is Going X-platform
2015 Web European Conference
Title: Why Middleware?
2015

CNUG
Title: ASP.NET 5 – Intro and Hands-On
2015 NCrafts Conference
Title: Layers Considered Harmful (video available at: http://www.horsdal-consult.dk/2015/09/ncraftsconf-talk-video.html)
2015 AANUG
Title: ASP.NET 5 – Intro and Hands-On
2014 Campus Days Copenhagen
Title: Modular Web Applications with OWIN
2014 Software Architecture Open Space 2014 (organizer)
2014 ANUG
Title: ASP.NET vNext – Intro and Hands-On
2014 AANUG
Title: Nancy Deep Dive
2014 Warm Crocodile Developers Conference 2014
Title of my talk: Does Your Architecture Enable Flow
2013 ØreDev
Title of my talk: Layers Considered Harmful
Video available at: http://www.horsdal-consult.dk/2013/11/video-of-my-redev-talk-is-up.html
2013 Software Architecture Open Space 2013 (organizer)
2013 Norwegian Developers Conference
Title of my talk: Test-driving Nancy
Video available at: http://www.horsdal-consult.dk/2013/06/my-nancy-talk-from-ndc.html
2013 Dynamicweb Tech Conference 2013
Title of my talk: The Lightweight Approach to Building Web Based APIs with .NET and Nancy
2013 Warm Crocodile Conference
Title of my first talk: Introduction to Nancy
Title of my second talk: Layers Considered Harmful
2012 aspConf 2012
Title of first talk: Three web frameworks. All .NET. All Community Driven. One hour. Go.
Title of second talk: The Lightweight Approach to Building Web Based APIs with .Net
Videos of my talks are available on Channel9 at http://channel9.msdn.com/Events/Speakers/christian-horsdal
2012 Agile Architecture Open Space Conference (Organizer)
2012 Web.NET Conference Milan
Title of my talk: Three web frameworks. All .NET. One hour. Go.
Video of my talk is available on Vimeo at  http://vimeo.com/53252020
2012 Community Day Cph
Title of my talk: Four web frameworks. All .NET. All Community Driven. One hour. Go.
2012 Miracle Open World 2012
Title of my talk: The Lightweight Approach to Building Web Based APIs with .Net
2012 ANUG
Title: Battle of Web Framework: Nancy, ServiceStack and WebAPI
2011 Agile Architecture Open Space Conference (Organizer)
2011 ANUG
Title: Nancy: Letvægts web framework
2011 ANUG Codecamp
Title: Forbedring af test suiter
2011 Software Craftsmanship Conference 2011 (Speaker)
Title of my talk: Enhancing Legacy Test Suites
2010 ANUG
Title: Data, Context and Interaction