Engineering

Why we deliberately choose boring technology.

It is tempting to build on whatever is exciting this year. We resist, because boring technology is boring precisely because it works. Predictability compounds. Here is our framework for when to choose the dull, proven option and when novelty is worth it.

Every year there is a new framework, a new database, a new way to structure a service that promises to make everything faster and cleaner. I have watched engineers fall for the pitch many times, and I have fallen for it myself. The newest thing is exciting, it is well-marketed, and it makes you feel like you are building on the frontier. What it almost never is, in my experience, is worth the risk it carries. So at wrxstack we make a deliberate, sometimes unpopular choice: we build on boring technology, the proven and dull tools that are boring precisely because they have stopped surprising people. The surprises are the expensive part.

I want to be careful here, because "use boring technology" has become a slogan, and slogans make people stop thinking. The real question in software architecture is never boring versus exciting in the abstract. It is where to spend the limited budget of novelty you can afford. Every team has a number of risky, unproven bets it can run at once before reliability starts to slip and velocity collapses under the weight of unknowns. That number is small. The whole discipline is deciding what to spend it on.

Why predictability compounds

The case for boring technology is not that new tools are bad. It is that proven tools have something new tools cannot have at any price: a long tail of solved problems. When we run our core data on a mature relational database, every failure mode we are likely to hit has already been hit by ten thousand teams before us. The error message has a Stack Overflow answer from 2014. The performance cliff has a blog post explaining exactly which index fixes it. The weird edge case at 3am has a known cause. That accumulated, battle-tested knowledge is the actual product you are buying, and a tool that shipped last year simply does not have it yet, no matter how elegant its API.

This is where predictability compounds. A boring tool you have run for five years has a known shape. You know its failure modes, its operational quirks, how it behaves under load, what wakes you up and what does not. Every quarter you operate it, your confidence grows and your incident count drops, because you are climbing a curve thousands of teams climbed before you. A novel tool resets that curve to zero. You are back to discovering its failure modes in production, on your own, usually during your worst week. Reliability is not a property of the code. It is a property of how well you know the system, and you cannot know a new system well.

The hidden tax on novelty

The cost of an exciting tool is rarely the cost you see in the proof of concept. The demo always works. The tax shows up later, distributed across your whole engineering practice in ways that are hard to attribute. Hiring gets harder, because the pool of engineers who know your exotic stack is a fraction of the pool who know the boring one. Debugging gets slower, because there is no community answer when something breaks, so your team is the support team. Integrations get fragile, because the rest of your ecosystem was built assuming the mainstream tools. Upgrades get scary, because the project is young and breaking changes are frequent and under-documented.

None of these show up as a line item. They show up as a team that is mysteriously slower than it should be, an on-call rotation that is mysteriously more painful, a roadmap that keeps slipping for reasons no single person can name. I have seen teams spend a year of their best engineers' time becoming the world's leading experts in a database that solved a problem they did not actually have, while their competitors shipped features on Postgres and moved on. The exciting choice felt like an investment. It was a debt with a variable interest rate.

Where we choose boring, deliberately

Concretely, the boring core at wrxstack looks like this. A mature relational database holds the data that matters, because correctness and durability are non-negotiable and relational databases have spent forty years getting those right. Our primary services run on a small number of well-understood languages and runtimes with deep ecosystems and easy hiring. We deploy with conventional, widely-used infrastructure rather than the orchestration platform of the month. For the parts of Atlas that have to stay dependable, including the API, automations, and the storage behind contracts and e-signature, we have chosen, almost without exception, the option that is least likely to surprise us. Whoever uses Atlas does not see the architecture. They see whether their work is there when they open the app. Boring is how we make sure it is.

This shows up in how we treat reliability as a deliberate output rather than an accident of good intentions. You cannot promise customers their work will be safe and then run their data on a database you have operated for six months. The boring choice and the reliability promise are the same decision viewed from two angles.

When novelty is worth the risk

None of this means we never adopt new technology. A team that only ever picks the safe option ossifies and gets passed by, and I have no interest in running a museum. The discipline is about spending the novelty budget where the payoff is genuinely large and the alternative is genuinely inadequate, not where the new thing is merely nicer. We hold a few questions against any exciting choice before we make it.

  • Does the boring option actually fail to do the job, or is it just less fashionable? Most of the time the boring option works fine and the itch is aesthetic.
  • Is this bet in our core or at the edge? We will try a new tool on an internal service where failure is cheap long before we put it under customer data.
  • If this tool is abandoned in two years, how badly are we hurt, and can we get out? Reversibility is the whole question. A bet you can unwind is cheap. A bet you cannot is a wager on the maturity of someone else's open-source project.
  • Is the advantage measured in factors or in percentages? A tool that is ten percent nicer is not worth resetting the reliability curve. A tool that makes something previously impossible suddenly possible might be.

The AI-native parts of our product are the clearest example of spending the budget on purpose. Building an assistant like Ask Atlas and a serious model layer genuinely required tools that did not exist a few years ago, and there was no boring equivalent that did the job, so we accepted the instability that came with the frontier. But we made that bet consciously, ring-fenced it from the durable core, and built the data underneath it on the same boring foundations as everything else. You can read more about that product in Atlas. The frontier is one layer. The ground it stands on is deliberately dull.

Boring technology and scaling are the same conversation

There is a particular reason this matters more the larger you get, and it is worth making explicit because it runs against intuition. People assume that scaling rewards sophistication, that a bigger system needs fancier tools. The opposite is true. As you scale, the cost of a surprise grows in lockstep with the number of people, customers, and dollars riding on the system, while the value of predictability grows with it. A bug in a database you barely understand is an inconvenience at ten customers and an existential event at ten thousand. The novelty you could absorb when you were small becomes a liability you cannot afford when you are large, because there is more on the line every quarter and less room to be surprised.

This is also why I push back when an engineer argues that a boring tool "won't scale." Most of the time that claim is theoretical, a worry about a wall the team is nowhere near and may never reach. The mature, dull tools are dull precisely because enormous companies have already pushed them far past where you are likely to go and documented exactly how. A proven relational database, run well, carries businesses far larger than ours. The honest version of "it won't scale" is usually "I would find the exciting tool more interesting to work on," which is a real human motivation and a terrible basis for an architecture decision. The question is never whether the boring tool can scale in the abstract. It is whether it will scale for your actual, measured load, and the answer is almost always yes, with room to spare.

The point is the payoff, not nostalgia

I am not arguing for nostalgia, and I am certainly not arguing that older is automatically better. I am arguing for an honest accounting of risk. Exciting technology charges you with surprises, and surprises are most expensive at exactly the moment you can least afford them, when you are scaling, when traffic spikes, when a customer is depending on you. Boring technology has already paid that bill, decades ago, on someone else's watch. Choosing it is not a failure of ambition. It is what lets you put your scarce, irreplaceable engineering attention on the few problems where you can actually build something nobody else has. Spend the boring everywhere you can, so you can afford to be brave in the one place it counts.

F

Farhan

Farhan is the solo builder of wrxstack. He designs, writes, and ships Atlas and Portfolio on his own, and writes here about product, engineering, careers, and the craft of building software as one person.