Boring on purpose: why we reach for dependable technology first.
New technology is thrilling precisely because nobody knows where the sharp edges are yet. Here is why we usually choose the calm, proven option instead, and when we don't.
There is a certain kind of engineer who lights up at a brand new database, a framework released last month, a language feature that nobody has run in production yet. We understand the pull. We feel it too. And most of the time, we choose something older, slower to excite, and far more predictable instead.
That is not an accident, and it is not laziness. Reaching for dependable technology first is one of the quieter decisions we make, and over a few years it has shaped more of Existence than almost anything we have written about. So we want to make the case for it plainly: we try to be boring on purpose.
What "boring" actually means
Boring, here, is not an insult. A boring technology is one whose failure modes are already well understood, whose edges other people have already cut themselves on, and whose behaviour under load holds few surprises. When something goes wrong at an awkward hour, the answer is usually a web search away, because thousands of teams hit the same wall before us and wrote down what they found.
New technology is the opposite. It is thrilling precisely because nobody knows where the sharp edges are yet. That mystery is wonderful on a weekend project. It is a liability when a real person is relying on one of our apps to work.
Every tool you adopt is a promise to maintain it, debug it at 2am, and still understand it two years from now. Boring technology keeps that promise cheap.
The real cost of exciting
The sticker price of a shiny new dependency is zero. The real cost arrives later, and it arrives quietly. It shows up as the afternoon lost to an undocumented quirk, the upgrade that breaks in a way the changelog never mentioned, the one person on the team who understands the clever part and is now on leave. None of these appear in the decision to adopt. All of them appear afterward.
We have learned to price that in. Before we take on a new piece of core infrastructure, we ask a simple question: if this breaks in eighteen months, who fixes it, how long will it take, and how many of our apps go down while they do? If the honest answer is unsettling, the excitement fades fast.
A novelty budget, spent on purpose
None of this means we never try anything new. It means novelty is a budget, not a default. A team can only hold so many unfamiliar, half understood things in its head at once before the whole system starts to feel fragile. So we spend that budget deliberately, on the few places where something genuinely new gives our users something they could not get otherwise.
Everywhere else, we want the plumbing to be unremarkable. The database should just store things. The queue should just move messages. The deploy should just happen. When those foundations are boring, our attention is free for the part that is supposed to be interesting: the product itself.
Here is roughly how we sort a decision when a newer option is on the table:
- Does it solve a problem we actually have? Not a problem we might have one day, not a problem it would be fun to solve, a real one in front of us now.
- Could a dependable, well worn tool do the same job? If yes, that tool usually wins, even when it is less elegant.
- What does it cost us the day it misbehaves? We imagine the worst afternoon, not the best demo.
- Do enough other people run it in anger? A large, honest community of users is worth more than a beautiful readme.
Boring scales a small team
We are not a large company, and we build a whole suite of apps on one shared foundation. That combination only works because the foundation is calm. When our core depends on tools that behave the same way today as they did last year, one engineer can reason about the entire stack. When it depends on a dozen clever, bespoke, bleeding edge pieces, nobody can.
Dependable technology is, in that sense, a leverage decision as much as a safety one. Every hour we do not spend fighting our own infrastructure is an hour we spend on the things our users can actually see. For a small team, that trade is not close.
When we do reach for the new thing
There are moments the boring answer is the wrong one. Sometimes the established tool genuinely cannot do what we need, or the newer option is not a gamble but a clear generational improvement that the wider industry has already validated. When that happens, we adopt it with open eyes, we contain it to one place rather than letting it spread through the core, and we make sure more than one of us understands it before it carries real weight.
The discipline is not refusing anything new. It is refusing to be seduced by newness for its own sake, and asking the dull, grown up questions before we commit.
The quiet payoff
Boring technology does not make for an exciting conference talk. It makes for something better: systems that are still standing, still understandable, and still ours to fix long after the excitement would have worn off anyway. We would rather spend our surprises on what we build for people, and leave the surprises out of the floor they are standing on.
So yes, we will keep choosing the older database, the proven framework, the deploy path that has carried us a thousand times. Not because we cannot appreciate the new, but because we have come to appreciate the quiet. That quiet is where the real work gets done.