Tomasz Szkaradek
Tomasz Szkaradek
Head of Development

CTO’s Dilemma. How to Choose the Best Technology for Product Development?

With each product, we face many compromises and challenges that determine the future of the venture. However, it is the technology, or rather the choice of the technology, that is the most important dilemma because it affects all aspects in the future. In this article, I would like to present the conundrums associated with making such a decision.

In my work as a programmer, I have dealt with many products and many CTOs, and I was able to capture the most important aspects of the work and the problems it involves, as well as the difficulties pertaining to projects and technologies.

Ease of Maintenance

Your product must be highly available and not cause problems with implementation and operation. Each technology is built to perform well in the right environment, which is why the decision is so important. A rather risky choice would be C ++ put into a highly available web application in a world where we have Elixir and Go Lang, because they can boast of high availability. On the other hand, if we are building IOT services and we have little resources, the decision may be different. Ruby can also be the answer to each of the above-mentioned questions, it all depends on compromises and what you care about when maintaining the application or website.

Technological maturity

Every year, many technologies are created, some of them are revolutionary at the time of their creation. The question is whether this is the moment to use them. The maturity of a technology is not only the availability of specialists, but basically what the community does in the form of documentation, libraries, courses and articles. We cannot compare the number of new repositories on GitHub for JavaScript with those for Ruby as JavaScript has many large new frameworks and libraries and each requires development and building packages. In Ruby, ​​we have one leading framework and an ecosystem associated with it; therefore, many authentication libraries or API customers are already established and maintained, the problems with them are also well-known. Therefore, we cannot be surprised that the transaction system in our bank is based on Java and not JavaScript and ExpressJS, and that a startup you know about has problems with taming the application architecture because no one has solved their problem in this new technology they chose.

However, there is still a trend here, because everyone has heard about Perl or Cobol, these are age-old well-established technologies, but they are, unfortunately, not fashionable enough to encourage developers to work with them. A trend is an important factor in attracting talent, especially since the higher the age bracket, the fewer programmers.

Number of specialists

While handling an IT project, we are not going to program but we need to understand exactly what is happening. It is worth going to LinkedIn first and checking how many specialists there are in your country; this will tell us how big the environment we are dealing with is. It is also worth going to the Clutch and checking how the software house market looks like. You must be ready for sudden growth and fast filling of job vacancies. Of course, the abundance of potential candidates does not equal quality, but it makes it easier to acquire talents and reach various specialists with your offer.

You must also assume that employees in the company are replaceable; in the post-covid period, it is especially important because the quarantine was able to block many companies. Such an approach also allows you to avoid the crisis of the outflow of specialists and expand technical documentation.



Operating costs

The combination of the points above generates the operating cost, so how much it will actually cost to maintain the application and the development team. We all select a team that meets our needs, but you must remember about the entire back end of the application, or possibly opt for an IaaS and SaaS solution for services that are critical for the operation of the product. Each self-hosted service management is an additional cost for you and a burden that distances you from the goal. In the initial phase of product development, even a well-known solution, such as Netlify or Heroku, puts the whole environment into one pipeline and you do not waste the team's time on creating everything from scratch.

In the long run, the road-ready infrastructure may be cheaper than reinventing the wheel. The operating cost, the team's performance in relation to the given functionality, maturity of technology and the scope of available employees on the market are of great importance. The Business Operations Summary can be a good editorial for analyzing and deciding which technology is the right one for you.

Product development consulting

Read more:

How to Find the Best Product Design Services Company?

Highest quality code in your SaaS project. Why should you care about it as a (non-technical) founder?

7 Startups & Scaleups that Will Shake the Marketplace Scene in 2022