Dealing with complex domains can be a challenge in traditional software environments. Event sourcing is a pattern that can help building complex domains.
There is a huge amount of material out on the internet about what event sourcing is. Furthermore, there are multiple frameworks and software packages for building event sourced systems. But how do you start from all of this? How do you know how, why or when to use event sourcing and any of the frameworks?
In this 2 day remote workshop we'll start from nothing to learn you the basic of event sourcing from the ground up. Step by step we'll be connecting more pieces until we have a fully event sourced example working where every piece is well known. In this way, you'll have the knowledge you need to evaluate, design or build your own event sourced systems.
The format of this workshop will be mostly practical excercises intermingled with smaller blocks of theory and Q&A.
Topics you’ll learn about
- Modeling events from whiteboard to domain model
- Event sourcing
- CQRS
- Projections
- How to test your model
- Read model
- Write model
What will not be handled
- Advanced topics like migrations,...
- A specific framework or event store. This workshop is framework agnostic. You learn the basics, after this you can start using a framework if you want, you’ll be able to evaluate if the framework suits your needs
How will this work
Remote training can be harder in some ways. Because this is a coding workshop this is less of a disadvantage and we can even use being remote to our advantage in many ways. To have a great remote workshop these are some things we are going to do:
- We will keep the group small so that one-on-one and pairing will be possible with the trainer.
- We will switch between small blocks of theory and then implement this theory. The implementation part will be done on your own in a remote pair. The trainer will also be part of this group and will be able to join at any point.
- At any point you can ask questions, these will be handled in group or one-on-one.
- We feel that following a remote workshop can sometimes be more draining, so we’ll split the 2 day workshop over 4 half days spread over 2 weeks. So that the energy levels stay high.
Prerequisites
- A laptop with a “Hello world” application with unit tests in a language that you’re proficient in.
- You are comfortable reading C#/Java like syntax.
- You have some knowledge of design patterns and tactical DDD patterns, but being a novice at DDD is fine.