June 20, 2026
On writing durable software
Durability is not a feature you add at the end. It is a hundred small refusals made along the way.
Every codebase tells you, eventually, what its authors valued. You can read it in the names, in the seams, in what was left deliberately undone.
Durable software is mostly a matter of refusal — refusing the clever abstraction, the premature dependency, the config flag you will never remove. Each refusal is small. Together they are the difference between a system you maintain and one that maintains you.
Three refusals
Refuse to hide state you will need to debug. Refuse to couple two things that merely happen to change together today. Refuse to ship a dependency you cannot explain.
None of this is glamorous. That is rather the point.