Embracing Complexity Entropy in Software Design
summary
Refactors turn a tangled policy-diff library into an HTTP service written in Go, fronting Lambda-backed microservices and DynamoDB, with Snowflake for analytics and LaunchDarkly for rollout. The new API exposes a locked-down concrete adjustment set and always enforces validation, using init-time reflection to guarantee adjustment types, so consumers can no longer skip checks. Result: atomic, feature-flagged rollouts across a platform serving over half a million customers, trading a little extra implementation complexity for far lower interface entropy and safer deployments.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 3:29Go for platform choice
- 7:27Aviva Zero tech stack
- 10:13Insurance policies mutability
- 20:07Policy diff library problems
- 23:01Entropy in software
- 27:34Complexity versus complicated
- 31:47High entropy interfaces risks
- 37:11Restructuring for maintainability
- 46:03Library to service benefits
- 50:15Summary and Q&A
related talks
27mEmbracing Complexity in Serverless
01h 17mWhen Less Is More: Designing & Decoding Complex Distributed Systems
43mQuit Simplifying!
42mHow to Reverse Software Entropy
29mDeprecating Simplicity
22mSimplicity: The Key to Software Success
38mAdding Simplicity to Complexity
26mAccept Complexity or Reject It? — Reflections Facing a Monolith Raised Alongside Business Growth
