Why boring software is a smart choice

Table of contents

Every month, developers see new tools that promise to make software development better and faster. These new technologies often look exciting and promise to solve all our problems. But there's an important truth we need to consider: each new technology we add to our work creates extra challenges, even if it's a well-known one.

Understanding the Cost of Technology Choices

When companies choose new technologies, they need to be careful. Let's say your team decides to use a brand new database instead of a common one, or picks the latest programming framework instead of a proven one. These choices affect everyone in your company. Even choosing between two well-known options, like MySQL or PostgreSQL, can create unnecessary work if your team already knows one of them well. This is especially important when your company's main goal is to build products for customers rather than to create new technology tools. If you're building an online store or a payment system, you should focus on making those services better instead of learning new tools - even good ones.

Why "Boring" Technology is Good

When we say "boring" technology, we mean this as a good thing. We're talking about tools that many developers trust and use successfully. These technologies have been tested in many real situations and have proven they work well. Boring technologies like MySQL for databases, Python for programming, and standard tools for running scheduled tasks might not be exciting, but they are reliable.

But there's another level to being "boring" - it's even better when the technology is boring AND familiar to your team. A technology that your developers already use every day is worth much more than an equally good option that nobody on the team knows well. For example, if your team has been using MySQL successfully for years, switching to PostgreSQL might not be worth it, even though both are excellent "boring" choices.

Why Adding More Technologies Creates Problems

Every time we add a new technology to our system, we create more work than we might expect. Teams need to learn how to watch for problems with the new tool, create new ways to test it, write instructions for using it, and train other developers. These tasks take a lot of time and effort - even if the new technology is well-known in the industry. What matters most is what your specific team knows and uses successfully today.

Over time, these extra tasks become even more demanding. What starts as "just one more tool" can grow into a complex system where different technologies need to work together. While it might seem smart to always pick the "most exciting tool for each job," or even to pick another reliable tool that your team doesn't know well, this approach often creates more problems than it solves.

When to Move Beyond Boring

This doesn't mean companies should never use new technology. Instead, they should think carefully before adding anything new - even if it's another boring choice. The best question isn't just "Is this technology reliable?" but also "Do we already have something that works well for us?" Teams should ask important questions about how any new technology will affect their work over time, and whether their existing tools could solve the problem just as well.

Good companies find a balance between using boring tools and trying new ones. They carefully check new technologies to make sure they solve real problems and aren't just interesting because they're new. Most importantly, they look first at what they already have and know before considering any alternatives.

Why Boring Helps Us Work Better

Having fewer technology choices can actually help teams be more productive. When developers don't need to switch between many different tools or spend time learning new systems (even good ones), they can focus on building better products for their users. The best developer is one who knows their tools deeply, not one who knows many tools superficially.

When teams can't just pick a new tool for every problem, they often find better ways to use their existing tools. This usually leads to solutions that are easier to maintain and understand. After all, the best code is often written by developers who know their tools inside and out.

Key Points to Remember

When you look at new technology, remember that boring and tested tools are often the best choice - and the tools your team already knows are usually the very best choice of all. Your team will thank you later for choosing familiar, boring technologies instead of new ones, or even instead of equally boring ones that nobody on the team knows well.

Creating good software isn't about using the newest tools, or even about using all the good older tools. It's about building reliable systems that work well and are easy to maintain using tools your team knows deeply. Sometimes, the best innovation is choosing to be boring and stick with what you know.

More articles

Common pitfalls running docker in production

Avoiding the mistakes many make when embracing containerized deployments

Modern linux networking basics

Getting started with systemd-networkd, NetworkManager and the iproute2 suite

Understanding how RAID 5 works

Striking a balance between fault tolerance, speed and usable disk space