6 ms·
Ask HN: Are there and will there be a lot of JavaScript backend developer jobs?
How is it going to compare to Ruby and PHP?
PHP is pretty old and popular. Around 82% of websites are using PHP. How long is it going to stick around for?
- kristiandupont 10y agoAs you say, PHP is pretty old and still widely used. There is still a lot of Cobol code running in the world. I would argue that there is so much inertia in programming languages that you can allow yourself the privilege of selecting strictly from which language you enjoy the most, not by trying to analyze which will provide a stronger career path.
- throwaway13337 10y agoI used to be a flash developer. It's worth considering.
- kristiandupont 10y agoFair point.
- heisenbit 10y agoIt is. Flash however is also an example of something very much depending on a single vendor. If is somewhat comparable with focusing on the application level. There are plus sides to it but risks can materialize faster.
- imaginenore 10y agoYou can't compare PHP and Cobol. PHP is insanely popular (#3 globally) and will be for a while. Cobol isn't even in the top 20. http://pypl.github.io/PYPL.html http://pypl.github.io/PYPL.html
- gaius 10y agoSearches on Google don't mean anything. COBOL programmers are from an era where programming wasn't just cut-and-paste-from-Stack Overflow.
- imaginenore 10y agoStill, PHP is more popular than many "good" languages. It's not going anywhere. Cobol has been dead for a long time. It's not popular even on HN.
- gaius 10y agoNeither is FORTRAN. But the computing world is a good deal bigger than web-based startups making CRUD applications.
- collyw 10y agoI hope not. It's the only real choice on the front end.
- british_india 10y agoAbsolutely not.
- gaius 10y agoNo, front-end and back-end cultures are too different. Front-end people like things that are shiny and new, the latest framework in the latest browser and it's only got to last a year at the very most before it gets re-written again (or the company is bust). Back-end people like things that are proven and stable and don't care if it's a decade old, because they want something that will last another decade. If you try and cross these streams you get things like MongoDB and Node.JS - lol. It's why I never trust anyone who claims to be a "full-stack" developer. They will be bad at least one of them.
- kozikow 10y ago> It's why I never trust anyone who claims to be a "full-stack" developer. They will be bad at least one of them. Or you don't have to use the latest fart.js and still implement frontend that will last more than 1 year. Or maybe I'm just a backend developer claiming to be full stack...
- enraged_camel 10y ago>>Or you don't have to use the latest fart.js and... You joke, but that's an actual thing: http://jsfart.com http://jsfart.com
- je42 10y agoit is not about trust. Probe them. Ask them questions. You will know with an hour how deep their knowledge of frontend or backend goes.
- gaius 10y agoAbsolutely. There's a lot of value to be had in understanding everything from the browser down to the power supply into the rack. But no-one is equally good at all of it - I have more respect for people who know their strengths and play to them, while also knowing how they fit into a team, and the team is "full stack".
- je42 10y agoGo is not a decade old. And backend guys like it as well. Django is not that stable either and backend guys like it as well.
- subpublic 10y agoAs javascript has continued to crawl into many areas where nobody thought it would, my guess it could grow in the future. But it still lacks a good/popular backend framework (in node), as apposed to client frameworks. At the same time I think PHP has a good future, where 7.0 made a really great progress in performance. Laravel is awsome for web development.
- kevv87 10y agoExpress seems pretty popular, it has stuff for routes, templates etc... Bit like Backbone for Client, without the HTTP stuff
- subpublic 10y agoYeah, though I still think its a bit thin to act as a good backend. I'm waiting for a better DB/model/controller framework to serve APIs.
- cjhveal 10y agoI'd say the backbone comparison is pretty apt, but I've always felt both strived to be "libraries" of structural building blocks rather than frameworks (for better or worse). Writing express servers feels a lot like writing a Ruby server at the Rack level. To people that are used to Rails/Django, it feels a lot more manual and painstaking. While I personally like the clarity of request flow and modularity that I get using express, there are definitely some friction points (picking the best model layer, quickly picking up a new codebase, generating admin UI, to name a few).
- ubersoldat2k7 10y agoFrom my point of view, JS development can only grow. I'm seeing it in more different places and is our way to go for different projects. Now, as a professional, I wouldn't tie myself down to a single stack but be able to work with others because there's lot of stuff written on JEE, .Net and PHP that someone has to maintain and are so different from Node. Also, I don't see other stacks growing as much as Node, like Go or Pyton. And even PHP is that big not because PHP itself but because of Magento, Joomla and all the other PHP based products already out there. On a final note, affirming that a frontend developer can't do backend is simply stupid. And once Node and ES6 confluence it will be even easier.
- ubersoldat2k7 10y agoFrom my point of view, JS development can only grow. I'm seeing it in more different places and is our way to go for different projects. Now, as a professional, I wouldn't tie myself down to a single stack but be able to work with others because there's lot of stuff written on JEE, .Net and PHP that someone has to maintain and are so different from Node. Also, I don't see other stacks growing as much as Node, like Go or Pyton. And even PHP is that big not because PHP itself but because of Magento, Joomla and all the other PHP based products already out there. On a final note, affirming that a frontend developer can't do backend is simply stupid. And once Node and ES6 confluence it will be even easier.
- altern8 10y agoThere are a ton of PHP jobs, but I have the impression that you don't get paid as much as NodeJS and other programming languages, since a lot of people know PHP.
- erikb 10y agoPHP, Java, and C will probably stay around as long as their isn't a huge shift in software development, e.g. by having AI doing the development for you. JS as a backend is more of a joke, though. It has heartful followers, true. But it doesn't bring anything valuable to the table. I may be wrong (and happy to be corrected) but this was developed by people who learned the JS frontend stuff first and then didn't want to learn another language for the backend just as well. So they decided to make the language they already know available in the backend as well. But that's it. Think about competitions in the backend/desktop area. For instance Go. It aims to combine the advantages you have in the most popular programming languages, while also providing stuff as core elements (e.g. packaging) that are only attached on top of other languages. Or coming from the other direction of the "cool" languages, it provides all the nice little modern features you know from other languages but also enables you to write and compile code as fast as the C codes of the ancients you always read about. This is what real competition looks like. It provides something huge and new while also providing quality features you know from your current favorite language. If you don't bring something like that to the table people won't switch to you, at least not for serious projects. The advantage of already having educated developers on the market for the "old stuff" and having an infrastructure of libraries that solve most of the tasks at hand, is just too big to compete against without killer features. And as I said, I may just not know the killer feature of server side JS, in which case it may be just a marketing blunder of the server JS people that can be corrected.
- danielheath 10y agoThe killer feature (and only reason I use it) is being able to render the same templates with the same data on the server (isomorphic/universal/whatever). The result is a webpage that can do lightening-fast transitions client-side without breaking the back button.
- taspeotis 10y agoFor what it's worth, ReactJS.NET does server side rendering, so you can have a .NET backend. https://reactjs.net/guides/server-side-rendering.html https://reactjs.net/guides/server-side-rendering.html
- languagewars 10y agoI think JS will do quite well as JS becomes the back end scripting language over time (in place of lua for example.) I don't see a bright future for ruby, I think it had some lead advantage, but RoR/opinionated-design really cut down the options for innovation with a Ruby based web dev group. It is interesting to see how diametrically opposed philosophy of Ruby the language is from the RoR community, it is like Ruby created a liberal blank space and RoR immediately filled it with conservative inflexibility. Php is in an interesting position, but I think ecommerce systems catching up and offering more integrations will erode its position. It is very expensive to hire and retain loyalty on a php project, especially when it is of any complexity since anyone who will tolerate it and understands CS has plenty of other options. If I had to say what will trouble JS, it is C++ as the VM. Too many groups will lack members that are able to look bellow the scripting layer when the inevitable low level problems occur. Personally, I see the future as a war (and up/down stack integration) between JS/v8 and LLVM based languages. While other options will keep their markets for years, they have no solid positions for growth. Python will hold on as long as it has the academic position, but it needs a better relation with LLVM or clever curriculum builders will choose another language to teach using only one easy enough language up through compilers, with llvm-ir replacing assembly in a way that makes sense given the Arm/Intel war could go either way now.
- botw 10y agoPython needs popular applications such as Magento, Joomla, oscommerce, etc. in PHP. Python needs better integrated with LAMP as the default in 'P'.
- languagewars 10y agoAbsolutely agree that Python has a weak showing, but Java always had an odd disconnect with the real world too. These languages survive in every field despite relatively odd and impractical infrastructure in most due to the availablity of fresh grads that have been taught in them.
- PunchTornado 10y agoI see PHP holding its position. It looks like the committee has woken up and now PHP is moving into the right direction.
- heisenbit 10y agoRuby and parts of PHP are the quick wins. The real question when it comes to backend jobs is what is going to happen in the JS backend vs. Java. And that is at the moment hard to predict. The Java eco system is showing some weakness (Oracle stewardship, Eclipse stumbling, IBM embracing Swift) but on the other hand it is massive. JS is not in a place yet where it could take on Java. But it is on the way to become an alternative that could eat away at Java use cases. JS6, TypeScript and the consolidation around NPM packages are significant improvements. Node control is too concentrated for a long term healthy ecosystem and lacks alternatives but if such would emerge then all bets are off. The primary back-end stack which is at the moment compiled Java byte-code could in the long run split into compiled whatever code and scripted Typescript code. Caveat: Java investments stay subdued. JS investments don't level off.
- botw 10y agoThe trend is microservice with polyglot environment where developers can use their favorite language for the right task. I can see Java, Python, Go, Nodejs all having their place in back end. Especially with PaaS buildpack, docker container, devops, it is less and less significant to choose one particular language as primary back end language.
- dfcowell 10y agoFor basic CRUD apps, choice of language is arbitrary. At my company we have a mix of python, PHP and JS devs. Node is great for a lot of things, but it's better suited to smaller apps that do one thing. Cue microservice debate. We have a lot of worker services written in Node, with a majority of our API services using PHP (Laravel/Lumen.) That's starting to change as some of our developers see the benefits of not having to context switch between languages when working on front and back end simultaneously.
- joobus 10y agoI think/am hoping that as web assembly becomes better defined, that JavaScript becomes less necessary on the front end, and with JS not as required, people won't choose JS on the back end either.
- gremlinsinc 10y agoI personally see elm + phoenix becoming the next mega stack. They are both very elegant, and performance-wise there's hardly anything better.