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
Stackoverflow Survey 2019
Indeed Top Tech Skills
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.
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
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.
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.
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.
So I recommend you go for either Java, .net or Python and avoid Node.js for now.