Don't Walk Away From Complexity, Run
summary
Argues that software has inherent complexity from the domain but teams add costly accidental complexity through choices like too many moving parts (microservices), pervasive XML configs that make deployments take 6–8 months, invisible state changes, uncontrolled mutability that breaks parallelism, and dependency bloat (one app had ~150 deps). Recommends reducing mutability, preferring libraries over frameworks, assessing reversibility of choices, separating concerns (try-with-resources vs finalize), and avoiding tech infatuation.
AI-written summary · about
chapters (15)
- 0:00Managing software complexity
- 3:19Agile and cost of change
- 6:29Too many moving parts
- 8:58XML config gone wrong
- 11:46Invisible state mutations
- 16:04Uncontrolled mutability costs
- 25:54Immutability and cohesion
- 27:17Excessive dependencies
- 31:48Framework risks
- 35:41Reversible architecture
- 41:37Resume-driven dev
- 41:58Concurrency complexity
- 45:52Separation of concerns
- 50:12Complexity reduction summary
- 51:15Q&A
related talks
43mDon't Walk Away From Complexity, Run
56mKicking the Complexity Habit
43mQuit Simplifying!
48mAccidentally Complex Development
50mThe Unbearable Weight of Architecture
52mFrom Code to Complexity: Shifting to Systems Thinking in Software Development
02mThe architecture of uncertainty
44mDependencies; Devil or Darling?
