On building things that last

02 July 2026

engineeringwriting

Most of the software I have loved was small. A single-purpose tool that did one thing, did it well, and kept doing it for years without asking anything of me. I have spent a lot of my career on large systems, and I respect them, but the things I reach for every day are almost always modest.

What durable means

Durable does not mean unchanging. The tools that last are the ones that can absorb change cheaply. A clean seam between what a program decides and how it talks to the world is worth more than any amount of cleverness. When the database, the framework, or the deployment target changes underneath you, and it always does, a good seam lets you swap the part that moved without disturbing the part that matters.

This is not a new idea. It is just hexagonal architecture, or ports and adapters, wearing everyday clothes. Keep the core pure. Push the messy, world-facing details to the edges. Depend on interfaces you own, not on details you rent.

The cost of cleverness

Cleverness has a carrying cost. Every clever line is a line someone has to hold in their head later, often you, months from now, with none of the context you have today. Boring code is a gift to your future self. It is also easier to test, easier to delete, and easier to hand over.

Where I have landed

These days I optimise for three things: a small surface area, a clear seam between decisions and effects, and tests that describe behaviour in plain sentences. None of it is glamorous. All of it compounds.

That is the whole philosophy behind this site, and behind most of what I build. Start small. Keep the seams clean. Let it last.