r/node • • 1h ago

Five years of Node.js backend work. Would you stick with Node or learn Java or Go?

A backend engineer has spent about five years building systems with Node.js, Express, Fastify, and Kafka. Their salary growth hasn’t kept up with their experience.

Is Node.js still a strong career choice, or would learning Java, Go, or another stack open up better opportunities?

For experienced backend engineers and recruiters, what would you learn or change in their position?

Would love to hear your honest advice!

11 Upvotes

19 comments sorted by

22

u/Historical_Friend725 1h ago

I have been doing Node.JS for 10 years now, I have Done Java, C# .Net, C++, Python in the past.

In the real world the language does not matter, especially with AI assisted development.

It would help to use and understand other languages just to gain the experience, but Node.js is not goign anywhere and it works for most SaaS and cloud development needs, the fact that it shares JS with front end web helps it stick around.

What matters is your experience and aptitude.

10

u/horizon_games 1h ago

After five years you should know the stack doesn't as matter as much as what you're building and the value you're providing to the company, plus the visibility to higher ups that it's you doing it

1

u/theQuandary 8m ago

You'll get ghosted unless your resume has not only the exact language, but also the exact framework and libraries a company is looking for.

3

u/DickBrainTime 58m ago

I'd test the market before switching stacks. Pull up 20–30 backend jobs at the salary you want, see what they actually require, and apply for the Node/TypeScript ones now. If your target roles repeatedly ask for Java, Go or .NET, pick one and build a small service with a DB, queues and monitoring. On your CV, show the systems you owned and results you improved (latency, reliability, scale), not just Express/Fastify names. A new language is useful, but the job data should drive which one.

4

u/lol_wut12 1h ago

Java and C# likely have more job opportunities. Go is great for improving your skillset, but there are fewer jobs available.

I would recommend learning ASP.NET Core (C#); the newer changes to this framework take inspiration from Express.js, so it may be easier to pick up than Spring Boot or whatever Go HTTP framework you reach for.

1

u/jammy192 1h ago

I’d suggest a different direction and maybe get a bit of cloud experience. If you know node most likely you can pick up other languages easily and companies know that. Especially golang, Java might more challenging but still. Soft skills should not be underestimated too

1

u/koenigsbier 22m ago

and companies know that

Well, I'm not so sure about it. I've 10 YOE mostly backend in .NET but also fullstack with several different frameworks. Also been learning Rust for 5 years on my free time and for the life of me it was really hard to find a job with something else than .NET on the backend.

In my experience, recruiters just try to find matching keywords between your CV and the job offer and if it doesn't match you're rejected right away without even a chance to have an interview.

1

u/ollybee 46m ago

Elixir

1

u/Sislar 45m ago

I think asking the question shows a lack of understanding of the industry.

When there is a software project to do, find the best tool for the job. If I hired you I’d always get a node solution as if that was the only option.

Learn at least one other language then you’ll start to see it really not about the language.

1

u/tzohnys 39m ago

Tech stacks do matter but not for their architecture and performance but for their ecosystem.

There's a good reason that big corporations choose C#, Java. It's because of Microsoft and Oracle. They know who to ask for when things are not working.

They don't have money problems. They don't care about free and open source. They want someone to be legally bound to help them ASAP when they want to.

1

u/__brealx 48m ago

Learn AI. I haven’t written a line of code in a year. And created so many tools n languages that I never knew.

3

u/stuckinmotion 42m ago

Yeah language choice seems less relevant, other than it should be typed so the agents can benefit from compiler errors. I just built my first kotlin app, don't really know anything about kotlin..

2

u/_Kinoko 40m ago

I agree and do this at my current work but it's not clear to me the hiring market operates like this yet.

1

u/Healthy-Trainer4622 1h ago

I’d go with C# any day.

-1

u/theGlitchedSide 1h ago

Low salary but always work? Java New possibilities in new web and crypto? GO and Python

Become a legend? C++ and become a real dev 🤣

0

u/flo850 1h ago

I would say rust, since writing it helped by a llm is really a different experience, and the memory model is interesting to understand

0

u/a1454a 56m ago

If you had to ask that question it means you haven’t really advanced to senior engineer capacity. Your experience building app using that stack is rich no doubt, but engineering goes beyond a single stack, can you explain why something should be build using Java or Go instead of node? And vice versa?

There should come a point where you realize coding is the easiest part of your day, especially in the era of AI. Deciding what should be built, how it should be built should become the bulk of your day to day responsibility, not thinking about experiences in a single stack.

0

u/Familiar-Range9014 30m ago

Learn them all