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.

  1. 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…
  2. 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…
  3. 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…
  4. 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…
  5. 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…
  6. 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…
  7. 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…
  8. 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…
  9. 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…