
Ask HN: Are there and will there be a lot of JavaScript backend developer jobs? - Onixelen
How is it going to compare to Ruby and PHP?<p>PHP is pretty old and popular. Around 82% of websites are using PHP. How long is it going to stick around for?
======
languagewars
I 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
Python needs popular applications such as Magento, Joomla, oscommerce, etc. in
PHP. Python needs better integrated with LAMP as the default in 'P'.

~~~
languagewars
Absolutely 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.

------
gaius
No, 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
> 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
>>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)

------
ubersoldat2k7
From 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.

------
erikb
PHP, 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
The 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
For 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)

~~~
vizeroth
In most cases, it's probably still easier to use C#, but JScript has always
been an option in ASP.Net (and classic ASP). I found that the ability to use
the same code on the back-end and front-end was nice when you needed it, but
those occasions were quite rare.

The code also usually required some (often significant) refactoring of the
code in question to make it portable between the front-end and back-end
environments. In classic ASP, this usually meant ensuring front-end code
moving to the back-end was isolated from any DOM interaction and didn't use
any ES5(+) features, while back-end code moving to the front-end had to be
isolated from the ASP objects (Application, Server, Session, etc.). It's all
stuff that seems like common sense, but wasn't rigorously applied to JScript
code which only had to work on IE5 (later 6, finally 7 before the project was
put out to pasture), especially since use of JavaScript on the client wasn't
significant until the project's last couple of years.

~~~
caseymarquis
IronES2015 or IronTypeScript. Interesting thought.

------
subpublic
As 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
Express seems pretty popular, it has stuff for routes, templates etc... Bit
like Backbone for Client, without the HTTP stuff

~~~
cjhveal
I'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).

------
heisenbit
Ruby 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
The 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
For 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.

------
collyw
I hope not. It's the only real choice on the front end.

------
kristiandupont
As 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
I used to be a flash developer.

It's worth considering.

~~~
heisenbit
It 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.

------
joobus
I 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
I personally see elm + phoenix becoming the next mega stack. They are both
very elegant, and performance-wise there's hardly anything better.

------
british_india
Absolutely not.

