Choose Exciting Technology
There is a popular movement on Choosing Boring Technology started by article by Dan McKinley, followed by some discussions on Hacker News. While I agree that it can be good rule of thumb from a business perspective, I want to shed some light on other angles and why I think it shouldn’t become universal.
Slowing down innovation
Choosing Boring Technology can lead to slowing down innovation. It started recently — in 2015. It may be hard to notice because it’s fresh, but having similar movement going popular 20 years earlier could be disastrous. Many valuable languages and technologies (Ruby, .NET, Rust, to name a few) would have a really hard time becoming popular. Language or technology, no matter how good it is, cannot thrive without adoption and community. Especially early on in its life. Choose Boring Technology manifesto stands in opposition to early adoption and may slow down innovation.
Joy of programming
The choice of some new framework, technology or language can make us slower in delivering value. It can make it harder to maintain the codebase in the future. Fewer developers know it. All of it matters from a short-term business perspective. But there is more to life and work than just maximizing the business value of everything we do. It’s important to keep business in mind and optimize ROI, but it’s too easy to fall into the trap of optimizing too much.
This new exciting thing will make our team learn a lot faster than something well-established. It will give a new perspective to what we already know. It can help to attract talents. It can bring more joy to programming. Sometimes business risk outweighs all those, but it’s rare. We tend to overestimate business risk, and I write it from an entrepreneur’s perspective.
Case in point
I help to build Surfer as co-founder and CTO for over three years now. It started as a side project, with a simple idea of creating better SEO tooling, now it’s a $3M ARR, entirely bootstrapped company, hiring 30 people. Our primary goal for this project was to learn. I was an experienced Ruby developer at that point. Learning JavaScript gave me a completely new perspective on programming and made me a better developer in Ruby and everything else. I knew Choosing Exciting Technology was a way to go.
Elixir became Surfer’s foundation. It wasn’t completely new territory for me — syntax is similar to Ruby, and I knew some functional programming from JavaScript, but it was Exciting, not Boring. Some would say I should have chosen Rails. Three years later, I know choosing Elixir was one of the primary reasons why we thrive. It was an excellent choice with many benefits.
I learned a lot. It kept me motivated through hard times with no customers, as I kept saying to myself if this won’t work, at least I’d learn something. Later on, it was a magnet on great talents which would be hard to acquire otherwise. Technology, especially a niche one, can be a good filter for hiring developers. If someone is interested in Elixir, we can assume they have curiosity, an essential feat for a programmer.
Did it make us slower in the beginning? Sure. But it kept us motivated when it was tough. Is it harder to hire Elixir developer than Ruby developer? Yep. But all of the programmers we interviewed were exceptional.
Don’t follow rules of thumb blindly. If excitement drives you, you are not alone. Join Choose Exciting Technology club.