Ask HN: Career Advice Node.js vs. Django route

For someone with academic python and JavaScript experience considering web dev role. Which way should they take in your opinion.

considering things such as job availability, salary, and ease of working in the ecosystem.

  • My opinion on these kinds of questions is that I don’t trust places that hire for specific technologies. Do whichever one fires you up, and work at a place that respects that energy.

  • I don't think the choice of language/framework matters too much in the grand scheme of things provided you understand the concepts behind the decisions that languages/frameworks make for you. So pick whichever piques your interest.

    As far as job prospects, my bet is on Rust/Actix. I'm pitching the idea of creating new micro-services with Actix to my company. (We're a Java shop). I implemented a simple proof-of-concept api server that takes in a single type of request, runs some business logic, makes a db call and returns a response with additional fields. Preliminary testing has shown that the Rust/Actix implementation is 5x faster at processing requests compared to the Java/Spring implementation.

  • Both are safe options job wise.

    With python/Django it is going to be easier to land a backend position, where you will be using Django mostly for building APIS and interacting with databases and third party systems and it will be less likely you will be expected to do frontend related stuff. Sadly not many companies nowadays do frontend with Django anymore, even if it were the right tool for the job, it is unfashionable to not do SPAs in most companies.

    With node, it will be easier to land on a position where you're more "full stack" and expected to also know css, html and more frontendy stuff.

  • I think there are market for both technologies. I have been working with Python/Django for more than 5 years and I always receive offers. I have friends that work with Node/React and they also receive offers. I would say pick the one you like more.

  • If you plan on switching to a job with Machine Learning sticking with Python might be worth it. Otherwise for web developer careers I recommend going with Javascript. It will allow you to be a frontend or backend or fullstack developer.

  • go with python, it's the most general purpose language out there. devops/data science/data engineering/web it's just so versatile.

    nodejs/javascript story is so fragmented, but there's a lot of innovation going on right now for how to make the most performant web app without sacrificing developer productivity.

  • > considering things such as job availability, salary

    These things do not depend much on the tech you learn. Besides, Django and Node.js are way too mainstream to notice any difference in salary/job offers.

    > and ease of working in the ecosystem.

    Pip is "less worse" than NPM in my opinion.

    But, why don't you learn both? Is not that it's going to take you years to learn any of such frameworks.