Why Developers Love Node.js & what’s their main issue with it? Survey Results.

RisingStack's services:

Sign up to our newsletter!

In this article:

A few months ago we surveyed our readers to gain insights on what Node.js is used for & why developers still love it. Our secondary goal was to figure out what are the most severe problems they face with Node, and what are the most underexplained topics around it – so we could continue writing tutorials that really help moving forward with JavaScript, Microservices & Kubernetes (just like we did it in 2017).

We were also interested in the infrastructural aspect of running Node.js apps in production, so we asked our readers to share where they deploy their services, what are their preferred front-end technologies, what kind of databases they use and which flavor of JavaScript they prefer.

See all survey questions:

  1. What do you like most about developing with Node.js?
  2. What are you using Node.js for?
  3. What difficulties do you face with your production environment?
  4. What’s the hardest thing for you to get right with Node.js at the moment?
  5. What Node.js topics are criminally underexplained in your opinion?
  6. Where do you deploy your Node.js applications?
  7. Which front-end technology do you plan to use in 2018?
  8. Which kind of databases do you plan to use in 2018?
  9. Which flavor of JavaScript do you use?

As a result, 539 devs who use Node in production shared their opinion. Here come the results of our mini-survey:

Fast development, great performance & the easiness of Node.js makes it a favorite.

According to our survey, Node.js is a great option for developers who like to get their apps into production as fast as possible. It’s also loved because it’s easy to learn and has an amazing ecosystem with ready-made modules we can use.

What do you like most about developing with Node.js?

Why use Node.js?

To understand why developers love & use Node.js, let me just show you a sample of the responses we got:

  • Node.js is very performant while allowing me to be very productive.
  • Light weight development in the enterprise, plus the 400k npm packages.
  • Front-end, back-end, and tester have the same language to work with.
  • I can develop and be productive all across the stack without having to juggle different syntax. It’s all JavaScript, and it’s fast to prototype.
  • Same language on client and server; js is conducive to functional programming; Typescript plays well with node; non-blocking io.
  • Speed, familiarity, tooling. Lovely, like a breath of fresh air compared to php.
  • It’s so easy to write the code in Node.js. You can actually read it like any human language.

Node.js is Used Mainly for Developing API’s, Backends/Servers & WebApps.

When we asked developers about what they actually build with Node, the answers gave a pretty clear picture.

What are you using Node.js for?

The answers we received were very diverse, although most of the respondents wrote that they develop REST API’s or backend services with Node.js. Besides that, Webapps, Microservices & Websites were also mentioned a lot.

Other Node.js use cases, just to mention a few:

  • Creating CLI and build tools,
  • Writing mobile apps & backends for them,
  • Building management systems,
  • Scripting & Automation,
  • Rendering React Apps,
  • Internet of Things,
  • Remote Systems Monitoring,
  • Writing Middlewares,
  • Authentication,
  • Creating Workers,

and so on..

Most Node.js Developers Face Performance & Security Problems in Production

We ask developers about their difficulties in a production environment. This time we offered them several categories, which they could pick from (multiple selections were allowed.)

It looks like that Performance Monitoring, Security, and Improving Performance are key issues for most of the respondents. Deployment, Scaling & Maintenance were often selected too. It looks like Downtimes & Networking are not that challenging.

What difficulties do you face with Node.js?

The hardest thing to get right with Node.js are Asynchronous Programming & Security

We also asked the respondents of the survey to use their own words to describe what is the hardest thing to get right with Node.js at the moment?

The answers were pretty hard to synthesise into coherent subgroups, but I tried my best in categorizing them:

What's the hardest thing to get right with Node?
  • Async problems include things like: Asynchronous Programming & Behaviour, Async/Await, Async Patterns, Async Hooks.
  • Clean Coding mainly includes: Code Quality, Code Maintenance / Organization / Management
  • Performance means performance monitoring and improving.
  • Module related issues are usually like: finding the right modules, keeping dependencies up-to-date, package security & the lack of maintained packages that are not buggy.
  • Testing includes unit testing & end-to-end testing.
  • Monitoring problems include performance monitoring, tracing & logging.
  • Structuring mainly contains answers for planning & structuring complex, scalable architectures.
  • Processes include multithreading, parallel-processing, multiprocessing & handling child processes.
  • Promises are often mentioned as promise patterns, promise driven development, proper use of promises.
  • Dependency problems are mainly about upgrading them, reducing their numbers & managing them.

Although these answers are hard to categorize, I think they still provide useful insights into the problems & minds of Node.js developers.

Security is the most underexplained topic for Node.js Developers

This leads to our latest “freeform” questions – where we asked developers to point out the topics that are criminally underexplained.

What Node.js topics are criminally underexplained?

I couldn’t include more in the chart, but we also got answers about databases, microservices, logging, authentication, callbacks & maintenance.

AWS won the Node.js Market (too)

We also asked the respondents of the survey about where they deploy their services. The results were not surprising, the hegemony of AWS is clear:

Where do you deploy your Node.js application?

React is the Leading Front-End Tech

It looks like that React leads the front-end framework war – when it comes to Node.js developers who need to pick one:

Which front-end technology you plan to use in 2018?

In case you’d like to learn more about it, read 8 Tips to Build Awesome React.js Apps in 2018, or check out our Modern Front-End with React Training. Of course Angular came up as the second choice – we got that covered as well.

MongoDB is the go-to DB choice of Node.js developers & ES Next is the most popular flavor

When it comes to databases, MongoDB is the favorite choice of Node developers, but it looks like that the second place is still undecided between Redis, PostgreSQL & MySQL.

Which database do you plan to use in 2018?

Also..

Which flavor of JavaScript do you prefer?

That’s all folks

I hope that you enjoyed the data presented above. Keep in mind that I’m not a well-trained statistician, and the results are not representative – but based on our experience of consulting & teaching Node, they seemed to be relevant & insightful.

In case you’re interested in our previous posts about developer research, check out the following articles:

If you liked the article, please share it – thanks!

F

Share this post

Twitter
Facebook
LinkedIn
Reddit