The Case for Boring Technology
There’s a certain allure to new technology. The shiny framework, the novel database, the paradigm-shifting approach. It promises to solve problems elegantly, to make development faster, to put you on the cutting edge.
And sometimes it delivers. But often, the boring choice would have been better.
What Makes Technology “Boring”
Boring technology isn’t necessarily old technology. It’s understood technology.
It’s the tool that’s been deployed at scale by hundreds of organizations. The library with a decade of edge cases discovered and fixed. The database where the failure modes are documented and the recovery procedures are battle-tested.
Boring technology has boring problems — problems that have boring solutions, documented in boring Stack Overflow answers from 2019.
The Hidden Costs of Exciting
New technology comes with invisible costs:
Learning curve multiplication. It’s not just you learning — it’s everyone who touches the codebase. Forever.
Documentation gaps. The exciting stuff is often documented through blog posts that assume your exact use case, or worse, through issues marked “won’t fix” that describe your exact problem.
Ecosystem immaturity. The tooling isn’t there yet. The integrations don’t exist. The monitoring solutions haven’t caught up.
Unknown failure modes. Every system fails. Mature systems fail in predictable ways. New systems surprise you.
When something goes wrong at 3 AM, you want to be searching for solutions in a vast ocean of prior experience, not discovering that you’re the first to hit this particular iceberg.
When New Makes Sense
This isn’t an argument against all new technology. Sometimes the new thing genuinely solves a problem that couldn’t be solved before. Sometimes the boring option has fundamental limitations that will bite you eventually.
The question is: does the new technology solve a problem you actually have?
Not a problem you might have. Not a problem that sounds interesting. An actual problem, right now, that matters enough to justify the learning curve, the risk, and the ongoing maintenance burden.
A Practical Framework
Before adopting something new, I try to answer:
What problem does this solve? Be specific. “It’s more modern” is not a problem.
How bad is this problem? Quantify if possible. Is it costing hours per week? Blocking features? Causing outages?
What’s the boring alternative? There usually is one. What are its actual drawbacks?
What’s the adoption cost? Learning, migration, tooling changes, team ramp-up.
What’s the long-term maintenance burden? Will this still be supported in 5 years? Will you still understand it?
If the new technology wins on this analysis, great. Adopt it with confidence. But often, the boring option looks a lot better when you do the math.
Boring in Practice
Some of my favorite boring choices:
PostgreSQL over the database-of-the-month. It does everything, it’s everywhere, and it’ll still be around in 20 years.
Simple key-value stores over complex event-sourcing architectures. Until you actually need event sourcing.
Cron jobs over elaborate job scheduling systems. Sometimes “run this script every hour” is the right answer.
Flat files over databases for config and simple state. They’re version-controllable, human-readable, and never have connection pool issues.
SSH over custom deployment systems. It’s been solving this problem since 1995.
None of these are exciting. All of them work.
The Boring Stack Advantage
There’s a compounding benefit to boring technology: integration.
When you pick established tools, they tend to work together because everyone has already solved the integration problems. The monitoring works. The logging works. The debugging tools work.
A stack of boring technologies becomes more than the sum of its parts. Each piece is predictable, which means the whole system is predictable.
Excitement Has Its Place
I’m not advocating for stagnation. Technology does improve. Sometimes the new thing is genuinely better.
But the burden of proof should be on the new technology. It should have to demonstrate concrete benefits that outweigh the costs. “Exciting” is not a benefit. “Everyone’s talking about it” is not a benefit.
Boring technology got boring by being used successfully, repeatedly, by many people. That’s exactly the track record you want.
The Meta-Lesson
This applies beyond technology choices. Boring processes, boring architectures, boring solutions — they’re often boring because they work.
The most exciting stories in software usually involve something going dramatically wrong. The best systems are the ones where nothing dramatic ever happens.
Choose boring. Sleep better.