Training course

Event Sourcing and CQRS Basics - September 2023

Beginner training course

In this beginner's course, you will learn the basic concepts around Event Sourcing, how it relates to CQRS (Command-Query Responsibility Segregation), and how to use the pattern.

Course details

31 Aug - 1 Sep 2023
2 x 0.5 days
Virtual classroom
Beginner training course

Event Sourcing and CQRS Basics | CET Timezone | September 2023

Sorry, this course date is now unavailable.

If you are interested in this course, please see future available dates or register your interest.


Day 1

31st August 2023 - 2023-08-31T07:00Z to 2023-08-31T10:30Z

Day 2

1st September 2023 - 2023-09-01T07:00Z to 2023-09-01T10:30Z


Event Sourcing has quickly become one of the most important development patterns for building modern distributed systems. In contrast to traditional state-based systems where you only store the latest state, in Event Sourcing you persist the full history of changes as events, which then can be used to derive the latest information. In turn, it will give you powerful capabilities such as audit trail, scalability, traceability, and many others.

This course provides you the basic concepts around Event Sourcing, how it relates to CQRS (Command-Query Responsibility Segregation), and how to use the pattern.

It includes hands-on coding for a basic event-sourced application. You won’t become an expert but you will understand the basics and have a feel for what is necessary to take these ideas into production systems.

Understanding Event Sourcing is a great way to enhance your expertise as a developer, grow your career, and help your customers be successful. Join us on this 1-day introduction course and get started with Event Sourcing!


This introductory training course is targeted at software developers & architects not familiar with the pattern willing to learn how to implement microservices using Event Sourcing. It will consist of 30% lecture and 70% hands-on coding and exercises. Please make sure you are aware of the prerequisites before any potential bookings.


  • Challenges of classic persistence model
  • CQRS and Event Sourcing
  • Event Sourcing as persistence model
  • What is required from Event Store

Benefits of Event Sourcing

  • Audit trail
  • Traceability, Debuggability & Observability
  • Scalability & Fault Tolerance
  • Temporal queries
  • Separation of concerns & Decoupling

Building blocks

  • Domain Event
  • Command
  • Aggregate
  • Projection

Learning outcomes

  • Explain 5 benefits of Event Sourcing
  • Recognise challenges of a 3rd normal form model and explain how CQRS addresses it
  • List 3 traits of an Event Store (global ordering, optimistic concurrency & fine-grained streams)
  • Implement an application with one Event Sourced Aggregate
  • Explain the difference between Command and Event
  • Implement a Projection that will create a read model


  • Proficiency in either C# and Java (these are the languages we have our sample code in currently)
  • Laptop/notebook with a working development environment and ability to connect to the internet
  • Docker daemon up and running