High Optionality Programming: software architectures that reduce technical debt
summary
Argues that architectures preserving choices cut technical debt, showing concrete moves: moving from RavenDB-tied code (10k → 5–8M events/day caused map-reduce indices to go stale for 2–3 days) to an event-driven pipeline that emits analytic deltas, separates read/write via CQRS, and abstracts persistence so databases can be swapped. Describes using Akka.NET actors for per-entity, thread-safe event processing, event sourcing to replay history, and extend-only schemas to avoid breaking migrations and enable zero-downtime upgrades.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:58What is technical debt
- 8:56Optionality in software
- 13:11High optionality programming
- 19:31Event-driven programming benefits
- 27:52Event sourcing advantages
- 35:31CQRS and decoupling
- 43:18Actors for scalability
- 52:25Extend-only design
- 58:18Common high optionality traits
- 1:00:03Conclusion and Q&A
related talks
49mGetting a handle on software architecture
49mRethinking Reactive Architectures
38mAgile Architecture
18mPlatform-Oriented Legacy Modernization
55mUnderstanding Modern Trade-off Analysis in Software Architecture
36mApplication Architecture Patterns
58mEffective Architecture Practices Debate
54mSoftware architecture evolution, what to expect? Panel Discussion
