Business

When to choose a hot new technology for your project and how to do it

Adrian Kasprzak, Mar 13, 2019

5 min read

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:

Should they choose a battle-tested, proven technology or use the opportunity to experiment with a brand new solution?

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.

What exactly are hot technologies?

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.

The risks of hot new technologies

Lack of resources slows down the development process

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.

 

The risk of becoming obsolete

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.

 

The question of specialization

Finally, every software development company needs to consider its technology choices strategically.

A team needs to ask these questions before delving into brand technology:

  • Do we want to become that kind of team specializing in hot technologies?
  • Is it worth to invest time in learning and using them?

The alternative would be choosing a few established technologies and specializing in them to become recognized as experts. And that’s our direction.

What to look out for when choosing a new hot technology?

Here are some things to which you should pay attention when deciding whether betting on a hot technology is a good idea:

  • Github – check the technology's profile on Github if available. Pay attention to the number of stars and contributors.
  • Google Trends – check whether the popularity of the technology is steadily growing or starting to decline.
  • Stack Overflow – check tags to see if developers are asking a lot of questions about the tool and contributing a fair amount of answers. That will give you an idea about how active the community around this technology is.
  • Meetups, workshops, conferences – another sign that the community is active and engaged is the high number of events about it.
  • Support from an established company - consider whether the tool is officially backed by a tech giant. For example, Facebook stands behind the React.js framework and the machine learning framework Tensorflow is supported by Google. That type of support means the technology isn’t going anywhere.

 

The takeaway

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.