Writing
2 min read

Boring is a feature

The most exciting thing a system can do is nothing unexpected.

Engineers are drawn to novelty for good reasons. New tools often are better. But a production system is not a showcase. It is a promise to the people who depend on it that tomorrow will look like today.

Mature technology is boring precisely because its failure modes have been found, documented and argued about on forums for a decade. When Postgres misbehaves, someone has seen it before. When the framework released last month misbehaves, you may be the first.

Spend novelty where it earns something

Every team has a limited budget for the unknown. Spend it on the part of the product that actually differentiates you. If your product is a novel editor, a novel rendering approach may be worth the risk. A novel queue, auth system and deployment pipeline under that editor are almost certainly not.

The question to ask of any new dependency is not whether it is better, but whether it is better enough to justify being among the first to discover how it breaks.

Boring frees attention

There is a quieter benefit. When the infrastructure is boring, nobody has to think about it. That attention flows back to the problems users actually care about. Excitement in the foundation is paid for with distraction everywhere above it.

Boring is a skill, not a default

None of this means boring systems happen by accident. Making something boring takes deliberate work: sensible defaults, good alerts that fire rarely and mean something, runbooks that are actually current, and deployments so routine that nobody gathers to watch them. Boring is what competence looks like from the outside.

It also means resisting the urge to rewrite things that work. A rewrite resets a system's accumulated knowledge of its own failure modes to zero. The old code may be ugly, but every strange conditional in it is a scar from a real incident. Throwing it away throws away the lessons, and the lessons will have to be relearned, usually in production.

There is a place for excitement. It belongs in what users see and feel: a workflow that suddenly takes one step instead of five, a report that answers the question before it is asked. Spend boldness there. Underneath, choose the tools that let you sleep.

The best compliment a system can receive is that nobody has mentioned it in months.

Next
The case for deleting code