Episode Summary
Martin and Adam address common criticisms of event sourcing, particularly around projection replay performance and perceived complexity. They demonstrate how event sourcing provides unmatched accountability and auditability that traditional systems cannot offer. The discussion tackles the “skill issues” accusation - that developers who struggle with event sourcing simply lack experience.
Main Discussion Points
- Accountability Advantage: How event sourcing’s complete audit trail provides accountability impossible in traditional CRUD systems
- Projection Replay Strategies: Techniques for handling large event streams including snapshots, incremental updates, and selective replay
- Addressing Critics: Responding to common arguments against event sourcing complexity and performance concerns
- Skill Development: Why event sourcing requires different thinking patterns than traditional development and how to develop those skills
- Simplifying Sagas Redux: Further discussion on avoiding saga complexity through simpler event choreography patterns
- Performance Realities: Actual performance characteristics of event-sourced systems versus theoretical concerns
Key Takeaways
Event sourcing’s complete history provides accountability and auditability that CRUD systems achieve only through complex, often incomplete audit logging mechanisms. Projection replay concerns are overstated - with proper snapshot strategies and incremental updates, even large event streams rebuild efficiently. Critics often conflate implementation complexity from poor pattern choices with inherent event sourcing complexity. The “skill issue” criticism has merit in that event sourcing requires unlearning CRUD habits, but the patterns themselves are learnable and simpler than traditional distributed system patterns.
Memorable Quotes
- “The bigger the project gets the bigger you need a context window so you need to tell thei needs to understand more and more and more to make the right decisions” - Martin
- “What I give the AI is always basically the slice the current slice and the context so what are the events that go into the slice what are the read models that are connected” - Martin
- “We will no longer write code I’m I’m 100% sure about it but what we need to do is we need to provide the proper guard guard ra for the AI and for the code generation” - Martin
- “Not only not only AI has a context window also humans have the context window” - Martin
- “If you ask me nulles is always a red flag if that that the topic comes up I it’s always suspicious normally you shouldn’t use nulles” - Martin
Key Learnings
- AI code generation fails when context windows become too large - projects become unmaintainable when AI generates heterogeneous code without consistent patterns
- Event modeling provides natural context boundaries for AI - feed only the relevant slice, connected events, and read models rather than entire codebases
- The future of programming involves providing guardrails for AI through system design (like event modeling) rather than writing detailed code
- Both AI and humans have context window limitations - event modeling’s slice architecture works well for both by limiting scope
- Using separate processors for external API calls (one per API/cloud provider) keeps complexity manageable rather than having one processor reach out to multiple services
Ready to Learn More?
Explore Event Modeling and Event Sourcing in depth with our tutorials and book.
Join our Event Modeling Workshop to get hands-on experience.
Want to learn how to apply Event Modeling and Event Sourcing in practice?
Follow the Online Course “Implementing Eventsourcing” - comes with a Lifetime Event Modeling Toolkit License.