Fewzon logoFewzon
8 min readEngineeringChoices

The Underrated Value of Boring Technology

Novel technology is exciting; boring technology ships. A defense of the unglamorous choices that quietly power most of the software you actually use.

The most valuable phrase in engineering leadership is "we should use Postgres for that." It is not always the right answer. It is nearly always the right starting point, and the fact that it is nearly always the right starting point is one of the great underappreciated facts of building software.

Boring technology has a bad reputation. It is unfashionable, it does not draw crowds at conferences, and it does not make you look sophisticated in a design review. It does, however, work. It works in ways that surprise you less, break in ways that are already documented, and fail in ways that other engineers already know how to fix.

What "boring" actually means

Boring, in this context, does not mean old. It means well-understood. A technology becomes boring when enough people have used it for long enough that its failure modes are cataloged, its performance envelope is known, and its ecosystem is stable enough that the answers to your questions were already written down five years ago.

Postgres is boring. Redis is boring. Nginx is boring. Linux is boring. None of these are old in absolute terms — Postgres is younger than many of the developers using it — but all of them have been in serious production use for long enough that the surprise budget has been mostly spent. When something goes wrong, you can search the error message and find, if not an answer, at least a coherent conversation.

New technology has not been through this refinement. Its edges are still sharp in ways that will only reveal themselves at 3 AM, in production, under a load pattern that nobody quite anticipated.

The innovation budget

There is a useful framing in the "choose boring technology" essay from a decade ago: every project has a fixed budget of novelty. Each novel choice consumes a piece of that budget, and once it is spent, you are out. You cannot ship a project that is simultaneously trying a new database, a new language, a new deployment model, and a new frontend framework. You can try, but what you will actually ship is a demo that survives only in the exact conditions you tested.

Boring technology preserves the budget for the places you need it. The novel thing should be the differentiator — the actual reason your product exists. Everything else should be as unremarkable as possible, so that the surprises, when they come, are concentrated in the place you are prepared to handle them.

Why teams reach for shiny things anyway

Engineers are curious, and curiosity is a load-bearing property of the profession. You cannot ask engineers to stop being interested in new technology, and you should not want to. The trick is separating the impulse to learn from the impulse to adopt.

Learning a new database on a side project is healthy. Adopting a new database in a production system because you learned it on a side project is a category error. The evaluation criteria are different. The failure costs are different. The reversibility is different. Confusing these two frames is one of the most common ways engineering teams talk themselves into decisions they will regret.

The healthiest teams create explicit space for the learning impulse — internal experiments, hack days, personal projects — while keeping the production stack aggressively boring. This is not repression. It is separation of concerns.

When boring is wrong

Boring is not always right. There are moments when a new technology enables something the old ones genuinely cannot, and adopting it is not fashion but necessity. These moments are rarer than the industry pretends, but they are real.

The test is whether the new technology unlocks a capability you actually need, versus whether it merely improves something you already had. Unlocks are worth the risk. Improvements almost never are.

What this looks like in practice

At Fewzon we are aggressively boring in every layer that is not our differentiator. Postgres. Object storage. HTTP. JSON. TypeScript. We reserve novelty for the specific technical bets that are the reason the company exists, and we spend it there deliberately.

This is not because we are unimaginative. It is because we would like the imaginative parts of the product to survive contact with reality, and the best way to give them that chance is to build them on top of layers that are, individually, deeply unglamorous and completely reliable.