People, when picking a career in college, still seem to believe that you can have a 9-5 job for life. I know quite a few university bank employees (ubs, Barclay's, etc) before and/or now still in London who are not programmers; sure they make more, faster after uni, but they work stupid hours. And get kicked fast if they kick up a fuss.
The expectation that things are like what you were told by parents or grandparents maybe needs adjusting. You are not hireable with this attitude, it is not a programmer-only problem.
I tend to agree, but there's been two competing posts on HN today, one about attracting developers like ants to honey with exciting new technology and the other about avoiding hype and delivering products with stable tech.
If i were a lawyer, I'd go to school once, and reap benefit form that education as an assets and build on it with experience.
Software is not like that. Yes school is an asset, but it dates, and so does experience when the market moves constantly.
The problem is that there are a lot of technologies that are simply insufficient or bad. jquery is critically insufficient. A lot of one way databinding frameworks are merely insufficient. The reason why react and the VDOM won is that it's literally just client side html rendering with the exact same flow as a server side html template. VDOM is merely an implementation detail that makes this type of client side rendering efficient enough that you can trigger it all the time, no matter how trivial the interaction is.
Although I personally dislike React itself and rather use preact I consider the API itself to be pretty solid and definitively worthy of building a career on top of it that would last at least 10 years. Above a certain level of sufficiency any change in framework/language is just churn.
I consider PHP to be critically insufficient because you have to force people to learn Lavarel otherwise they get the stupid idea of writing an old school apache PHP app. It also has some stupid warts that provide no value. Overall it's not meeting the level of quality necessary to build a career on top of it. The only benefit it provides is that once you learn all the warts its merely ok.
Java is also insufficient because it is missing very simple features. The foundation is solid but the details just aren't there. Getters and Setters shouldn't be a thing. They only exist to please certain frameworks and some theoretical futureproofing. Replace them with properties (that automatically generate getters and setters) and end the discussion right there. It's really sad how much effort it is to write a small data class in Java. I have a small project where I chose to use groovy simply because I had to define 30 data classes. With Java 50% of the codebase would be getters and setters to please the serialization library. Groovy is mature but it's not exactly popular, since people who don't want to use it are forced to use it (Gradle).
The software industry isn't mature. That's the reality. There are lots of established but insufficient solutions. There are lots of sufficient but not established solutions. React is right in the sweet spot. PHP is clearly insufficient. Java is insufficient but close. Modern languages and frameworks rarely get traction and are replaced all the time. Groovy is something that you could in theory build a whole career on but the jobs aren't there.
Await with promises vs monadic promises is also a point of contention. The only thing that everyone agrees on is that raw callsbacks should be wrapped in a promise or future, but whether a promise is supposed to be used as a monad (chain of .then calls) or whether its supposed to be used via special compiler support is still open. I honestly don't know. I would go with await because C# has adopted it with great success but it's also not something that can just be added to an existing language without rebuilding the entire ecosystem and thus causing it to be a bad career choice.
I would never hire him.