Return to site

3 reasons why Node.js is good for your startup

Choosing the right programming platform for a product has more implications than we can think of before we start. It impacts the speed you iterate your product, maintenance costs and HR hunting. Of course, the influence will be different at different stages of your project. One thing is sure, you can’t just sit and plan once your tech stack up-front. But you can make it easier to let your platform evolve as your startup matures. This post shows 3 greatest Node.js benefits that will make you consider it as your platform of choice.

Time to Market
The first startup months or I should say years means tireless journey to the product/market fit. You have to iterate fast. Massive number of A/B tests will force you to hack, test and deploy your code quickly. Sometimes over a dozen times a day. Let’s see then how Node.js can help you here.

Firstly, it is lightweight. No compilation, no JARs, no applications servers. Just write and fire. This gives you dead simple deployments and thus immediate feedback from production environment. To put it in a nutshell, it makes customer-driven development effortless.

Secondly, JS community has released many decent instruments to boost your development speed. You can get more out-of-the-box features by using reliable tools for modern web development like MEAN.io. But there’s more, NPM (a node package manager) consists of growing number of libraries you can easily incorporate into your code base. You avoid reinventing the wheel and focus on generating value from the very beginning.

Node.js is also a first-class platform for major SaaS providers. Be it big players such as Uber or trending ones like Slack. Almost each of them has a library allowing you to integrate your node back-end to their API. In case there isn’t any official one, great community (see below) immediately pops in with their own client app. It’s very unlikely that you’re required to write your custom integration. But let’s suppose that you have to.

Easy to learn and to code

Node.js is a relatively new player on the tech scene comparing to good, old Java frameworks, or Ruby on Rails which celebrated 10th birthday last year. Many of us, at rspective, come from different tech backgrounds such as Java or .NET and we had to learn Node.js from scratch. Actually we had to brush up on JavaScript as well. To our surprise it was a quite pleasant experience.

First of all, Node has no steep learning curve. Every developer has to play around some js scripting on a website every now and  then. It’s enough to start. You will find plenty of examples on github and other great tutorials that let you step in. I throughly recommend https://www.codeschool.com/paths/javascript or http://nodeschool.io as I find interactive courses worthwhile.

A nice benefit of having Node.js on board as your main framework is that you share the same language on front and backend side. This supports a full-stack developer movement and is especially valuable in the initial phase of your product. There is far less mental switching between the front and the back end of a web project.

It was also one of the triggers that encouraged Paypal to move towards Node.js. Their stats speak for themselves:

  • Built almost twice as fast with fewer people
  • Written in 33% fewer lines of code
  • Constructed with 40% fewer files

They started big - by rewriting one of their core systems. PayPal then decided to go Node.js because the system written in Java didn’t keep up with the market. If you’re interested in tech details visit their blog.

But the most important advantage of Node.js is performance. Most types of applications are I/O bound and Node serves them well:

  • Web applications, Mobile, IoT, APIs, Mashups.
  • DIRTy Applications (Data Intensive Real-Time Applications).
  • Mashups and glueing together APIs (integration with 3rd parties etc.).

Thus most types of scaling issues are solved out-of-the-box. Take one of our cases for example. We could handle over 1000 mobile devices using a single Heroku dyno which is free of charge. I doubt if this would be possible using good, old PHP + Apache approach.

On top of that, Node.js encourages microservices architecture. It may be the most important trend in modern software architecture. It’s adapted by big fish such as Netflix or Amazon but startups too. It’s because of the fact that microservices support lean software development. You get:

  • reduced developer ramp up time - large code base intimidates developers
  • reduced startup time - faster feedback
  • less risky re-write - rapid A/B testing
  • easier scaling - maintaining a good service when customer base growing fast

Finally, if implemented right microservices can be rewritten quickly. This helps you postpone decisions about technological stack to the very last moment - when you found your product/market fit and all you have to worry about is performance.

Vibrant community

Sceptics may say Node.js is just another buzzword. But, actually, it is the buzz behind that gives you tangible benefits.

Node’s popularity has been growing rapidly for several years now. Just look at the github stats. This has led to a number of libs and frameworks that speed up your development. At the moment node package manager is the fastest growing module repository in the world http://modulecounts.com (140k packages).

The trend is not only seen in open source community. Big companies like PayPal, Walmart, eBay, Microsoft or Linkedin have joined the hype as well. And this means Node is stable enough for big enterprises. It’s worth pointing out that Joyent, a company backing Node, together with Microsoft, IBM, PayPal and Linux Foundation has recently moved to establish Node.js Foundation to support Node.js community with neutral and open governance. There’s also io.js, an alternative fork backed by top Node.js committers, that prevents it from vendor lock-in.

Last but not least. Node.js trend attracts many talented devs. A lot of senior devs recognise Node’s features and choose it their platform of choice. Many software architects and product managers appreciate node.js for it’s maturity and scalability capabilities. As a result we can see a worldwide, sky-rocketing demand for Node devs:

As the trend is growing, more and more local communities are created to share the knowledge and polish skills. Meetup.com shows over 500 groups worldwide. We run one too.

Summary

While Node.js is not the most obvious choice for startup founders, we’ve noticed that more and more tech-educated CEOs is giving it a try. With its top-notch prototyping capabilities, readiness for scalability and vast talent pool, it’s proven to be a solid alternative to PHP and Ruby-based platforms.

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly