Boring Tech Is Underrated
2 min read
There’s a new JavaScript framework every few months promising to fix everything the last one got wrong. Meanwhile, PostgreSQL just keeps shipping solid releases that make it a little better at what it already does.
I find that kind of interesting.
What I mean by “boring”
Not bad. Just well-understood. The kind of technology where the error messages are googleable, the edge cases are documented, and the Stack Overflow answers are actually for your version. When something goes wrong with PostgreSQL, someone’s probably already written about it. When something goes wrong with a brand new tool, you might be the first person to hit that bug.
PostgreSQL, Redis, Linux. These have been around long enough that the rough edges are well-known. That’s a real advantage when you’re debugging something and don’t have a team of experts to ask.
The innovation budget idea
Dan McKinley wrote about this concept of an “innovation budget,” and it’s stuck with me. The idea is that you can only absorb so much new, unproven technology in a project. Spend that budget on the parts that actually differentiate what you’re building, not on the commodity stuff.
- The database probably doesn’t need to be novel. PostgreSQL covers more use cases than people give it credit for.
- The deploy pipeline probably doesn’t need to be novel either. Docker and whatever CI tool you already understand will get you pretty far.
- The core logic, the part that makes the project actually interesting, that’s where it’s worth trying something new if you need to.
When newer tools make sense
I’m not against using new things. I’ve used Kafka, and I’ve been working with LLMs and embeddings for some projects. Sometimes there’s no established tool that solves the specific problem you have, and you have to reach for something newer. That’s fine.
I just try to ask a few questions first:
- Does this actually solve something that existing tools can’t?
- If something breaks, can I debug it without relying on one specific person or a Discord server?
- Will this project still be maintained in a year or two?
If the answer to any of those is no, I usually just go with the boring option. It’s less exciting but things tend to go smoother.
With the current AI hype, there are a lot of new tools and libraries popping up constantly. Some of them are great. A lot of them will be abandoned in six months. I’m trying to be selective about which ones I invest time in learning, and default to the established stuff for everything else.