What is an event


Many developers have the wrong mental model of an event.

Very often they think about an event as 'something that happened in the system'.

This definition isn't ideal, as it only allows to represent state changes.

A better definition is:

An event represents a meaningfull business decission taken, which alters the state of the system.

This definition allows to represent these decissions explictly and let the system adapt to them.

This makes distributed systems design a lot easier, and opens up new opportunities as well. a.o. polyglot persistence.


Bad: SalesOrderChanged, DeliveryCreated
Good: SalesOrderBooked, DeliveryConfirmed

About the author


I've been a software architect for over 20 years.

My main areas of expertise are large scale distributed systems, progressive web applications, event driven architecture, domain driven design, event sourcing, messaging, and the Microsoft Azure platform.

As I've transitioned into the second half of my career, I made it my personal goal to train the next generation of software architects.

Get in touch

Want to get better at software architecture?

Sign up to my newsletter and get regular advice to improve your architecture skills.

You can unsubscribe at any time by clicking the link in the footer of your emails. I use Mailchimp as my marketing platform. By clicking subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.