Anti-patterns
Some event designs look reasonable when you write them and cause trouble months later: consumers have to call back for details, events only say that a field changed, or every sprint adds another field. You’ll learn to recognise these mistakes in your own design, why they hurt, and what to record instead.
The first article is a talk that gives the overview. Five articles each take one mistake and work through an example, under the name it’s known by, such as Clickbait Event or Property Sourcing. Two discuss choices that aren’t clear-cut: recording one event or several, and what to keep in event data. The last one is about naming commands so their intent is clear.
Start with the talk, then read the ones that sound like your system.

Event modelling anti-patterns explained
2024-04-07Have you heard about Passive Aggressive Events or CRUD sourcing? Or maybe about the Clickbait event? If you don’t, you better check the talk I gave at Kafka Summit 202…
Anti-patterns in event modelling - Clickbait event
2023-11-05Doctors Hate Her! Discover the Simple Trick to Lose Weight Overnight! This One Weird Trick Can Save You Hundreds on Your Energy Bills! The Secret Investment Banks Don’t…
Anti-patterns in event modelling - Property Sourcing
2021-08-18The first time I got down to work at Event Sourcing, I was very energized. Book knowledge almost fell out of me. However, when I sat down to programming, I was looking…
Anti-patterns in event modelling - State Obsession
2021-09-15Some time ago, I tackled the first event modelling anti-pattern: “Property Sourcing”. Today I’d like to tackle the next one: “State Obsession”. I have already written…
Anti-patterns in event modelling - I'll just add one more field
2023-05-28Programming origins are in mathematics. Scientists like John Von Neumann and Alan Turing built the foundations for today’s computers. That may be a reason why we tend to…
Should you record multiple events from business logic?
2024-01-14Asking people for feedback is an intriguing story. I like to get constructive criticism for my work, as that allows me to learn something new. When I prepare some new…
Stream ids, event types prefixes and other event data you might not want to slice off
2024-01-21You’re reading much more code than you’re writing. Readability is a highly subjective term. That’s probably why some call what we’re doing craft or even art. Last week…
Anti-patterns in event modelling - Passive-Aggressive Events
2026-04-13Have you ever heard phrases like. Just an update, the milk ran out. Someone finished it and put the empty carton back. Or So everyone is aware, the meeting started 1…
Yoda Principle for better integrations
2026-04-20Try not. Do. Or do not. There is no try! I’m calling this the Yoda Principle. Master Yoda said that to Luke Skywalker a long time ago in a galaxy far, far away. He was…