Distributed systems & reliability
Resilient systems
Distributed systems, release risk and migrations: designing for the failures production will find anyway.
What I believe
Systems rarely fail in the code everyone reviewed. They fail at the boundaries: ordering, timing, retries, and who owns the data. Good architecture makes those assumptions explicit and survivable, so a bad day stays small.
Start here
A multi-tab bug that looked like a one-off defect turned out to be a design assumption the product had outgrown. Why I argued for fixing the model, not just the bug, and how to raise that kind of risk.
Read →Article · 3 min readRelease risk usually isn't in the codeMost release risk I've dealt with wasn't a software defect. It was environment differences, unclear ownership of manual steps, late changes and rollback plans nobody had tried. What I learned preparing a high-risk platform migration.
Read →