Niko Heikkilä

October 21, 2022

When in doubt, be boring.

So, you have found a new shining toy — a cloud development toolkit, state management library, REST framework, or even a new language paradigm — and you're enthusiastic about learning it. Someone on Reddit claimed it would solve all the past problems you've ever had. Great! By all means, assess it in a personal side project.

On the other hand, if it's commercial software you're building, and money is at stake, leave it on the shelf — like a good parent says to their kid in a fancy toy store.

The cost of the latest bleeding-edge technologies accrues a debt with hefty interest over time. Thus, consider the future you and the people who maintain your product further in its lifecycle. If one technology is more boring than another, pick it instead.

That is why I still feel more comfortable using Docker as an easily transferrable cloud packaging solution than the modern vendor-locked cloud. Sure, I don't get to split my app into dozens of tiny serverless functions, but it's worth it.

That is why I typically pick Redux to handle my React application state instead of some new fantastic library published last week. Sure, I have to write a little extra code, but it's worth it.

That is why object-oriented programming is still convenient for many use cases, especially when you understand its fundamentals and the principles of clean and hexagonal architectures.

Being boring is the safest option. Have a boring weekend!

About Niko Heikkilä

Software Craftsman and Extreme Programmer. Currently shipping quality code at Futurice. Building proprietary software for a living and loving it as much as free and open-source software. Linux, Windows, and macOS user. Follow this blog for insights on TDD, BDD, DDD, mob programming, technical agility, lean software development, continuous integration, and delivery.

For shorter posts, check my account on Mastodon.