The term "event-driven architecture" has a lot of people confused.
Events as state or events as notifications.
I see these two concepts lumped together all the time, but mixing them up is a shortcut to architectural turd pile.
Event sourcing uses events as the source of truth which you can derive state from.
Notifications use events to let other parts of the system react to something that already happened.
Same concept on the surface, very different design purpose underneath. And when those two get lumped together, it creates a lot of confusion about when each approach actually makes sense.
One of the most insidious tics LLMs have when coding is this obsession with adding "fallback" behaviors everywhere
These are extremely toxic because they hide real bugs and most importantly, introduce lots of potential privilege escalation vulnerabilities everywhere
I have noticed that latest versions of claude code need explicit planning while the previous versions decided to plan on their own when the features are big or complex.
“Future proof your architecture” sounds good. But the reality is, you can’t. Where people go wrong is trying to future-proof with abstractions everywhere. What you really want to be doing is controlling the blast radius, meaning controlling where the change goes.