"Stick to boring architecture for as long as possible, and spend the majority of your time, and resources, building something your customers are willing to pay for." - Kelsey Hightower
When we're starting new projects, there's an undeniable allure to the latest languages, frameworks, and libraries. As engineers, we are, by nature, attracted to novel solutions. However, it’s critical to discern between what’s exciting and what’s right for your use case. Often, “boring” technology – those stable, well-understood, and perhaps previous-generation tools – have a lot to offer. They are usually tried and tested, have proven scalability, and come with extensive documentation and community support.
The Folly of FOMO (Fear of Missing Out)
In the tech world, FOMO can be a driving force behind our choices (we've often been there). However, it is not necessarily productive. While being aware of emerging technologies is important, chasing them without a clear value proposition can lead to needless complexity, technical debt, and resource drain.
Before adopting a new technology, ask yourself: "Does it solve a specific problem or significantly enhance my product? Is it worth the learning curve and potential instability? Is this going to help us further down the line?"
The Innovation Point Principle
One helpful concept that can guide tech choice is the "Innovation Point Principle." Imagine that for each project, you have one “innovation point” that you can spend on adopting an “exciting” technology or architecture. This single point forces you to make a deliberate and judicious choice. Spend it wisely; use it when a new technology clearly adds substantial value to your project.
Otherwise, rely on what you know works.
Reframing Your Mindset: From Creativity to Value
As engineers, we often seek creative expression through our work. However, it is essential to recognize that in a professional setting, our primary goal is to deliver value to the customers.
This does not mean that creativity has no place; rather, it should be channeled into building innovative solutions that customers love and are willing to pay for.
The Strategic Progression
Begin your project with a solid foundation based on well-understood technology. As your project evolves and you thoroughly understand your challenges, evaluate if there’s a compelling reason to incorporate more advanced technologies. It’s an intentional progression: start boring, then strategically innovate.
Prioritize delivering value by initially leaning on stable and well-understood technologies. Innovate selectively and intentionally. Ultimately, the satisfaction of building something that truly makes a difference for your customers is more rewarding than any fleeting excitement that comes from jumping on the latest tech bandwagon.
So, consider embracing the "boring" as the sensible starting point and use "innovation points" wisely to build good products.