Why you need a compelling case for adopting shiny new alternatives to established tech solutions
It can be easy to fall victim to shiny object syndrome. Attracted by the fanfare surrounding a new technology, companies may get distracted from their guiding principles and goals in their scramble to appear more innovative than their rivals. Scan your Twitter feed and you’d think that enterprises switched technology with the seasons.
In reality, the vast majority of large organisations run on established technologies. When you think about the most influential technologies of the past ten years, you could count the ones that have transformed the industry on one hand — and still have fingers to spare. Kubernetes, Docker, React or Machine Learning are clear examples of transformational technologies that changed the way we build software. Many others have failed to justify their initial hype, though that doesn’t stop organisations from falling for it.
Falling for shiny tech
One of the best things about being a developer is the opportunity to investigate new technologies. You wouldn’t be doing your job properly if you weren’t keeping up to date with the latest trends in your field. It’s all part of taking the kind of proactive approach that helps your organisation thrive, and senior developers can be very influential in companies as a result. However, they generally don’t have to consider the implications of a new tech adoption for project management and reliability.
Embracing new tech on an ambitious scale can involve a steep learning curve that can delay a project — and if your organisation depends upon its ability to jump into projects, be productive really fast and deliver on time, changing technology regularly just isn’t practical. That’s why at NearForm we leverage foundational technology kits we call accelerators to deliver business impacts fast. You can’t have both speed and reliability if you are changing tech all the time.
Even if an established technology is less productive than a newer alternative, it could still deliver more value for you than the new product. For instance, a developer who has become really good at using that tool and knows its strengths and shortcomings will be more efficient and performant than they would be using the newer tech.
Apart from any skills gaps that need to be filled, new technology brings with it a greater potential for failure than software that has been around for longer. With existing technology, you are familiar with any shortcomings and know how to work around them; a new tool may let you down in ways you haven’t even considered. And what happens if the company that launched the technology decides to abandon it in favour of the next shiny new thing? You’re left with a poorly supported product for which you may have sacrificed a perfectly serviceable solution.
Striking a balance
Being wary of the pitfalls of new tech doesn’t mean you should refuse to innovate. That is the best way to become obsolete. Rather, you need to choose your solutions carefully.
This means giving developers opportunities to explore new technologies and report back on the promising ones. Hackathons are good avenues for trying out new tech in ways that don’t have an impact on the business, and small projects are also good experimentation grounds. By providing the scope for people to engage with new developments, you’re sure to stay informed about potential ways to do things better, while also boosting hiring and retention efforts.
No developer wants to work for a company that sticks with the same old stack, so if they come across an exciting new product, allow them to present a case for it. Listen to their reasons in its favour and accept it for internal review. If it has merit, let them use it on a relatively minor aspect of a platform. There is nothing wrong with using a cool new technology if it’s not putting a project at risk.
When the project is complete, evaluate the performance of the new technology: Did it work? Was it interesting to use? By giving a reasonable amount of freedom and responsibility to your developers when it comes to new technologies, you can remain in touch with the latest cutting edge technologies without putting your business at risk.
That said, it is important to retain your tech pillars. These are the key technologies that support your tech stack, and they should change only under exceptional circumstances. For example, our go-to database is PostgreSQL because it works really well for 90% of projects.
For the same reason, we use AWS for cloud computing if we have the option. Switching to an alternative provider would be prohibitively expensive, and because we have in-depth institutional knowledge of Amazon, retraining our people to use an alternative might not be worth the perceived benefits. You should also bear in mind that some of your customers might be concerned about a change to one of your pillar technologies.
Nonetheless, if there was a truly compelling argument for change, we would consider it.
It may sound counterintuitive, but any innovative company needs to be careful about adopting new technology. Speed and reliability depend on your ability to rely on your tech stack and start delivering for your clients as soon as possible. You can’t do that if you are constantly acquiring new technology.
At NearForm, reproducibility and deep knowledge of our tools is vital. That is why we examine user adoption, maintainability and backing by major companies or reputable communities before we consider taking on a new tech. When we see an established community supporting a technology that is being well reviewed by reputable users, we will look at trialling it for a new project. We use an iterative process to evaluate it, using it on several projects to gain the kind of institutional insights that allow us to be productive.
This is how the approach worked when adopting three of our key technologies:
Node.js, Fastify and React Native
There comes a time when you realise you have a pain point where a new tech could save you time and effort. This happens organically at NearForm, where we give our people agency to try out new technologies for streamlining projects.
Node.js is the open source software environment that NearForm specialises in. We are also one of the most active contributors to Node.js Core, harnessing the huge potential of the Node.js environment for application development, sponsoring frameworks and libraries, and directly developing many projects ourselves. A reliable and performant solution for building digital projects, Node.js offers many advantages to innovation-focused companies.
Fastify is a lightning-fast web framework for Node.js that grew from a desire to create a general-purpose web framework that would provide a great developer experience without compromising on throughput and performance. A community effort started by Tomas della Vedova and NearForm Technical Director Matteo Collina in 2016, Fastify exemplifies the benefits of building on open source according to the proven governance model that oversees collaboration between individuals in the community.
One of the key factors in Fastify’s success was the work invested in creating the community to support it. If you cannot ensure that your technology is kept current, it will die. That is why Fastify was such a massive undertaking — and it worked. The sheer size of the community supporting it means that the framework can continue to grow and evolve to meet enterprise and developer needs.
Another example of the Nearform approach to adopting technology was the company’s decision to embrace React Native, which involved researching an alternative approach to mobile development. We had been rooting by mobile web, sometimes embedding it in an app, but the approach was still mobile web, which had obvious shortcomings when competing against pure native apps. At that point, we researched React Native, concluded that it was a solid technology backed by Facebook and, given that we had considerable React talent in house, it made sense to try it. We started switching tracks by using it on smaller projects before ultimately basing our contact tracing apps on it and training all of our developers in it.
Understanding the role tech plays
Tech alone will not give your organisation the edge: What makes or breaks projects is clear vision, good product management and experienced developers. Ultimately, tech is just a tool and should be evaluated strictly according to the value it provides, irrespective of the hype. In the hands of a beginner, a Gibson Les Paul sounds not much better than a €50 guitar, but give the cheap guitar to an expert, and they’ll make it sing.