Subject
Seasoned software developers know how to approach trendy novelties. But the same often doesn't hold development teams that want to try out the new hot thing everyone's talking about at any price.
A client who approaches the team with a product idea in mind might not have enough technical expertise to suggest a technology or become part of the process of choosing the technology stack.
And that's where development teams encounter a dilemma:
The client wants one thing: a reliable product that works.
But developers often get excited about new technologies and want to put them into practice as quickly as they can. To be competitive on the busy tech market, they need to keep up with their fields and experiment with new technologies.
The key here is finding the balance between the business needs of the client and the potential gains from implementing brand new technologies.
That's what makes hot technologies an interesting testing ground for development teams that need to find a compromise between choosing a good technology stack and building a product that addresses specific market and business realities.
Let’s take a closer look at web development. New technologies appear both in backed and fronted. Most of the time, the trendy innovations everyone is talking about appear in the fronted side. Backend technologies are more mature and not a likely ground for sudden revolutions.
I've seen many people fall into the trap of brand new frontend solutions or frameworks: they invest time in learning it, and then realize that after a month the technology is no longer so fresh – and once tested on the market, not so revolutionary either.
This excellent piece about the brutal lifecycle of JavaScript frameworks shows how JavaScript UI frameworks and libraries function in cycles. The author presents some compelling data that shows how every six months, a new one pops up claiming it can revolutionize UI development. Thousands of developers adopt it into their new projects, write tutorials and blog posts, ask questions on Stack Overflow and answer them – and then a brand new, even more revolutionary framework appears to steal the limelight.
Just have a look at this graph:
Source: https://stackoverflow.blog/2018/01/11/brutal-lifecycle-javascript-frameworks/
Now that we know what hot new technologies are, let's see how development teams can manage the difficult task of choosing the best technology stack for a given project.
A brand new language, framework or library is often prepared to rule the market by savvy marketing teams. I'm talking about well-designed websites that show the benefits of the new technology and present use cases where teams can enjoy particular advantages.
That might look enticing as long as you forget about the fact that not many people are actually using the technology.
What does that mean in practice? That it's going to take some time for the team to learn and use it. Since there aren't many resources around, developers may need to dedicate a lot of time to build what they need – often by trial and error.
So even if a hot new tool promises to speed up the development process, in practice, it might easily slow it down.
Mature technologies, on the other hand, are surrounded by a well-developed ecosystem of manuals, tutorials, and guides that help developers solve problems quickly.
When choosing the technology stack for a product, the team assumes and hopes that the tools don't become obsolete in a year or two. That might happen if they bet on a brand new technology everyone is excited about but nobody really knows how to use.
If the technology falls out of grace after a short period of time, it leaves the client with a product that is hard to improve and scale.
The solution to this problem is very costly because it means the product needs to be rewritten from scratch using a different technology. And that presents both a technological and a business challenge.
Finally, every software development company needs to consider its technology choices strategically.
A team needs to ask these questions before delving into brand technology:
The alternative would be choosing a few established technologies and specializing in them to become recognized as experts. And that’s our direction.
Here are some things to which you should pay attention when deciding whether betting on a hot technology is a good idea:
Software development companies need to keep up with novelties in the tech industry, there's no doubt about that. But they need to approach them carefully – and always considering the client's needs.
In short, the technology we choose for a project should solve the client's problem in the most optimal way.
If you're sure about a new technology and have the skills to back it, you may suggest it to the client. Especially if you've done your homework and even created a Proof of Concept.
It's a good idea to show the client the potential advantages that technology brings – for example, faster development process, fewer lines of code, reduced project complexity, easier maintenance.
If the client is convinced, it's a win-win situation. The client is happy because they're getting a cutting-edge technology and the development team is happy because it gets to play around with a new tool.
Are you looking for a team of expert developers who know how to implement brand new technologies?
Get in touch with us; we offer our clients reliable solutions in line with the latest technology trends.