Rising Stack is a Silver member of the Node.js Foundation and an important node.js and javascript user. They handle enterprise grade node.js development and consulting, working on full life cycles of JavaScript applications. This summer, they conducted a survey on 1126 node.js developers from the 11th of July until the 15th of August. The survey covers several aspects of node.js development and tells us a lot about how developers work with node. 55 % of the questioned developers have been working with node for more than two years while 26 % have between 1 and 2 years of experience.
Let’s get to it!
When it comes to databases MongoDB was the clear winner, as more than 63% of respondents chose it as their database of choice. Second was Redis, followed by MySQL/MariaDB.
Source: Rising Stack
The survey also showed that developers with more than 4 years of experience lean towards Redis and PostgreSQL.
Source: Rising Stack
The cache section of the survey led to some surprising results. Although Redis came out as a clear winner with 48%, almost 44% of respondents said they don’t use any!
Source: Rising Stack
Messaging systems didn’t bode well either, as a staggering 58% of developers said they don’t use any. The most popular messaging app was RabbitMW who came in second with 24%. There is something to wonder and investigate here. Why would such a large percentage of developers leave out messaging systems?
Source: Rising Stack
AWS is the most popular choice for running node.js apps with 43%, followed by the option of having your own datacenter with 34%. The third and fourth choices are DigitalOcean with 25.22% and Heroku, 24.51%. If we cross this piece of data with company size, we see that more than 50% of enterprises (with more than 10.000 employees) run their own data center, while self employed individual or small companies turn to DigitalOcean.
Source: Rising Stack
When it comes to containers, Docker is the way to go. At least that’s what 47% of respondents said. It’s very popular in all company sizes, with a small inclination towards developers with more than 4 years of experience.
The survey covers a wide variety of questions and topics, here’s a quick brief up:
-
59% of developers prefer config files over credentials (38%)
-
Promises are the way to go when it comes to async control, at least that’s what a vast majority, 75% of node developers said
-
Console.log is the primary facilitator for debugging (82%)
-
Finding issues is also a log thing, as almost 90% of node developers report using it, while only 25% respondents use APMs to identify issues
-
53% of developers use shell scripts to push code or containers, this is the most popular method followed by Jenkins – in house Travis CI, Circle CI, Codeship and hosted Jenkins.
-
Node developers don’t update dependencies. Most developers update dependencies rarely and very rarely, which is an issue as frequently updating dependencies is highly recommended with Node.js applications
-
Google is the top choice for finding packages for node.js developers.
-
Semantic versioning is used by 71 % of node.js developers, although there are also 15% of them who haven’t heard of it. In this case, usage grows with experience – the more experienced the developers the more likely it is that it will use semantic versioning
-
When it comes to rolling out products fast, node is in good shape as 35% of respondents report that they can introduce a new product or feature in just a few days while 29% of them can do the same in a few weeks.
The survey also covered the pain points of node.js development, which consist of:
-
Debugging / Profiling / Performance Monitoring
-
Callbacks and Callback hell
-
Understanding Async programming
-
Dependency management
-
Lack of conventions/best practices
-
Structuring
-
Bad documentation
-
Finding the right packages
This a great opportunity for the community to get pertinent data from developers themselves. From node.js developers for node.js developers. You can check out the full survey on Rising Stacks blog.
Tweet