Node.js job prospects - conflicting data

Hey there. First post. Thanks to everyone for making such an incredible resource.

I’ve been dabbling with programming for years and have decided recently to take coding more seriously. I’ve been doing some research in order to optimize my learning for hireability in the future since that’s obviously an important part of the journey. I’ve found a couple pieces of information about node.js that seem in conflict with each other and I wanted to get the group’s opinions on this.

In the Stackoverflow 2019 developer survey, node.js was at the top of the list of “other frameworks and tools” used by pros, beating .net by a significant margin. Express.js was very high up the list of frameworks, beating out django, flask, and rails to name a few. By these metrics, node is super successful in the professional world and very widely used. There should be TONS of node.js jobs right?

Indeed has a blog post with an interactive tool for seeing the trends in job ads that I’ve linked to below. Using this tool, you can see that node.js is indeed growing, but it pales in comparison to comparable languages like Python, Java, etc.

And indeed (heh) when I search for jobs mentioning node in Seattle, I get about 800 results vs 5k for python and 7k for Java. I also got very similar results looking in Silicon Valley. If so many companies are using node, why isn’t it reflected in the job market? Don’t get me wrong 800 jobs is a lot, I realize but I’m just curious why there aren’t more given the apparent popularity of node. Is this just bias in the stack overflow community? Maybe I’m using the wrong keywords?

Thanks for reading

Sources

Stackoverflow Survey 2019
Indeed Top Tech Skills

Great question!

The thing to take into account is that these types of surveys usually reflect a larger scope than your local job market.

They can be good for spotting global trends, but not necessarily your local trends.

So doing the kind of research you have is crucial.

That said, advertised roles are not the only available roles. Many companies can be recruiting without using the larger job boards - networking and plugging in to this hidden job market might uncover more node jobs.

2 Likes

I’d call that graph “relative” in more than one way as well.

Sure, Node.js is popular, but if you’re just going by languages alone, of course Java and Python will have higher trend lines. Both of them have been around far longer than Node.js has, and have more applications to them than just web development—Java has historically included Android development as well, and Python has a large market of AI, ML, and data science-related applications.

Node.js is also just one of many platforms that are all competing for market share, and some companies use more than one for different things. That is to say, Node.js has its uses, but it also has limitations, so it will probably never trend super highly. Java in particular has been around for so long and is so widely used by enterprises that it will likely take a long time for another language/platform to take over.

Depend a lot on the question and how it was formatted, but with Node as tool many people would list it thanks to NPM.

So there can be a discrepancy between people who use NPM to maintain portion of their code (both on FE and BE) and actual job that requires a Node.js developer.

A developer in a survey would list Node as part of the technology, yet the company may not look for a Node.js developer if it’s used for very small and limited tasks.

2 Likes

Thanks for the replies, great insights. So based on the job market data available to me, it looks like following the FCC backend program and learning node.js would put me at a not-insignificant disadvantage compared to learning Java or Python in the job markets I’m looking at. That kinda bums me about because I’m excited about the FCC community.

Am I wrong? Maybe employers don’t care about the specific language/tool as much as general knowledge?

Well, it’s different for each employer.

Fwiw, I learned the suggested Node / Express / Mongo stack and landed a job doing Ruby on Rails with a Postgres DB. The right company will be more interested in how you learn rather than what you know.

3 Likes

The primary advantage of Nodejs is that its JavaScript. If you know JS you automatically place yourself into the “I can program the front-end category” which only has JavaScript.

As people above said, the local job market might not have many nodejs jobs, which should be taken into account during the job search. Nodejs isn’t a be all end all back-end solution, unlike Python or Java, simply due to the fact of the single threaded architecture. Its fantastic for building IO intensive applications, as its async approach lends well to it, but its a terrible architecture for cpu intensive tasks.

If you want to maximize your hiring potential in your local area learn multiple back-ends, or at least 1 other one than nodejs. Nodejs is easy enough to learn if you have solid JS skills, which are required for the front-end anyways. I would recommend picking up the most popular language for the most jobs in your area for entry level.

Finally, the simple fact using JS on the front-end and back-end is something you only get with nodejs, which is one of the reasons for its rise in popularity. I can see it being more and more common in the future as you only need to learn/use 1 language rather than multiple.

2 Likes

It’s a fantastic question. I am Oracle ADF developer for years. ADF is used only in the Enterprise level. I learned a lot Spring, Hibernates etc so all Java Stack you can say. Now I search Java job in Toronto in indeed at least 3000 up job comes up but couple of years ago I was fascinated about Node.js and started learning it in my spare time. I also worked for two companies Remotely as a Node.js developer. What I have found currently Node.js has very few jobs in the market and most of the company who are using it are small companies besides some tech giants. Moreover some company like to see how Node will work for some of their side projects but they consider you more as front end. I can easily step to a java job which will offer me more than 80k year but Node.js no way. I wanted to step to a node.js job environment a year ago but even though I have years of Java background, the offer I found most companies are offering is under 50k.Another problem I faced, as a javascript developer, companies want everything from you so a true full stacked dev. In Java world that hardy happens. I worked 4 companies as a java backend dev and I never touched front end + most of the companies who are working enterprise level work, they have Database dev, DBA, System dev all separated. But when you go for Node.js interview, they want a full package on you including Devops and fullstack with such low offering. No more Node.js for me rather small personal project for now cause It is not mature enough.

So I recommend you go for either Java, .net or Python and avoid Node.js for now.

1 Like