Love tech?🤩 Hate spam?🙄
Subscribe to our weekly newsletter!
Like what you're reading? Share it!
Follow us to stay up to date with our latest and greatest!
6
minute read

5 Reasons Why Startups Love Node.js

There are many definitions of what makes a startup. Some emphasize its size, some innovation; yet the universal defining element of all startups is their rapid growth.

Companies like these have one common goal in mind – rapid growth. Everything else seems to be irrelevant, as these firms can even generate losses for years (a ride hailing giant comes to mind) – it’s not their goal to be profitable (yet). Because that’s the case, startups have a limited financial runway.

As such, engineering teams at startups need a language and an environment that will enable them to iterate quickly while keeping costs down.

It’s Lighting Fast

Development

In the world of rapid growth, there is one key term – Minimum Viable Product or MVP.

What is it? It is the creation of services or products with basic features with the purpose of gaining customers’ attention. As such, the more advanced features are supposed to be developed with time, and are therefore omitted. On top of that, it might happen that the product-market fit isn’t quite there for the product, which means the company will have to pivot.

Rapidly growing companies are increasingly often looking to JavaScript with TypeScript. Not only are they generally unproblematic with the correct testing approach - they also enable companies to write code faster than with other popular languages. We already mentioned how PayPal marveled at the development speed of their team migrating their backend from Java to JavaScript. In short, not only did it take them less time to write the same functions – they did that in fewer lines of code. It happened all the way back before TypeScript. Imagine the results should the same switch occur now!

Additionally, deployment to production is simple, due to the fact you don’t need to compile the codebase. You also don’t need to set up a separate web server, such as Apache. You upload the code, you spin up PM2 (production process manager; helps manage apps), and you’re pretty much good to go.

Performance

Node.js is fast. How fast? In the TechEmpower benchmark, JavaScript took second place with “just-js.” Of course, the project itself is a bit of a curiosity, though of course the app will work. It’s faster than drogon written in C++, and ntex or actix written in Rust [sic!].

Es4x took 18th place, while Fastify took 58th place. Both of them are JavaScript frameworks – the latter being the most popular out of all three JS frameworks I mentioned with e.g. Microsoft picking it up.

It’s Highly Scalable

There are three main ways to scale an app:

1.      Cloning

It’s when you have each clone of the same app handle some of the work. It’s the easiest approach, and it’s highly effective

2.      Decomposing

It’s the practice of breaking down an app to have multiple, smaller, apps that do the same job. The term is commonly associated with microservices.

3.      Splitting

It’s you want each clone of the app to handle only a part of the data, then you split the app. E.g. each clone would take care of users based on their location or language.

Back to Node.js – it is the king of scalability. The authors of the runtime heavily emphasize the capability of apps written in Node.js to grow. It’s the core feature of the piece of code, and even one of its heavily promoted features. On the project’s about page, in the first sentence, we can read that “ […] Node.js is designed to build scalable network applications.”

One of its built-in modules, “cluster”, provides a ready-to-go way of utilizing all of your machine's processor cores. Yes, even despite the fact that JavaScript does not have a way to use more cores than 1!

Utilizing all the resources of a single server is therefore easy as pie. The way it works is that it will split the main application among several related processes that will communicate with the main one using inter-process communication. If you are curious about how the messaging works exactly, head over to Node’s documentation.

Not only cloning is easy – after all JavaScript is one of the hegemons of microservices. For all the intricacies of scaling Node.js apps, this article is a great resource.

It Uses JavaScript On Both The Front-End & Backend

Maintaining two separate teams is costly. Startups have many assets – though an excess of money is usually not one of them. As such, many new, rapidly growing companies opt-in to use Node.js on the back-end and on the front-end. The choice of Node.js is not subpar by any means at all.

It also is the most natural choice browsers can execute JavaScript only - technically you can use other languages to add interactivity to web pages, though it’s a bit too early for that yet. As such, you have to use JavaScript on the back-end as well as on the front-end if you want to use the same language everywhere.

This way, teams are smaller, more agile, and communicate better.

Deep Candidate Pool - Over 13 Million Of Them

When recruiting JavaScript developers, you can expect a wide pool of them. There are approximately 13.8 million of them, which is the highest number in the world. The number is increasing, as well. Last October (October 2020), the number was at 12.4 million.

Because of the language’s gentle learning curve, the tempo is unlikely to slow down. Unless a major world catastrophe occurs, things won’t change – which is why planning for the future with JavaScript at the center is neither short-sighted nor irresponsible. It’s a safe investment.

Over 1.5 Million Third Party Packages

There is a game in the JS community. Pick a word and check if an npm package exists with a given name. Of course, not quite literally – the point being there that the breadth of packages is unprecedented, and extraordinary. For startups, this means that there is a safety net in terms of ready-made solutions. Components, libraries, packages, modules – whatever you need is there. In fact, in April 2020, there were more than 1.3 million of them!

The package manager makes the installation a breeze as well – both in local scenarios and in e.g. containers. In case you don’t fancy this particular solution – no worries. You have got Yarn, and pnpm at your disposal.

Is there a time where I don’t want to be using JavaScript?

Node.js is blazingly fast, uses little resources, and is future proof. Is there ever any time when you don’t want to use it?

Yes. JavaScript won’t always be a good choice. For instance, if you run a startup developing software for embedded devices or machine learning, then you might want to reconsider the choice of JavaScript for your core product. Here, even after all these years C, and C++ are key. Similarly, in the world of game development, you won’t see games being developed in any dynamic language.

These are all highly specialized areas, though, therefore if you belong to the 95% of businesspeople, the language created by Brendan Eich is always going to be a good choice for startups.

PS: We are hiring Node.js developers

For all the Node.js pros we have good news – we are hiring. Whether you are a backend developer, React developer, React Native developer, or an Angular developer, we are waiting for you.

Categories:
Check Out Our Latest Podcast Episode

Related articles

© 2021 ITMAGINATION. All Rights Reserved. Privacy Policy