I explained event-driven architecture to our CEO using a food delivery app. It landed faster than my last three whiteboard diagrams combined.
Start with a system the listener already understands intuitively, introduce the benefit before the terminology, and only name the pattern last.
communicationarchitecture
Problem
Every time I tried to explain event-driven architecture with technical language (“publishers,” “topics,” “consumers”), non-technical stakeholders nodded politely and understood nothing. The concept stayed abstract no matter how clean the diagram was.
Why it happens
- Technical vocabulary front-loads jargon before the mental model exists to hang it on
- Diagrams show boxes and arrows, but not why the system is built that way instead of one service calling another directly
- Most explanations describe the mechanism before the motivation, so listeners can’t tell what problem it’s solving
Better approach
- Start with a system the listener already understands intuitively, then map each technical piece onto it
- Introduce the decoupling benefit before the terminology: explain why nobody waits on anybody, then name the pattern
- Only bring in real vocabulary (event, topic, consumer) after the analogy has done the conceptual work
Example
When you order food, the restaurant doesn’t personally call the driver, who doesn’t personally call you. The order just gets “announced”: the kitchen reacts to it, the driver reacts to the kitchen finishing, you react to the driver arriving. Nobody is on hold waiting for anybody else, and you can add a new step (like a tip-adjustment service) without changing how the restaurant or driver work. That’s a message queue, a consumer, and loose coupling; before I ever said those words, she’d already built the model.