That said, I do think there will always be a need for people who are willing to solve tough problems using methods and technologies that may not be cool, but are effective.
That said, I do think there will always be a need for people who are willing to solve tough problems using methods and technologies that may not be cool, but are effective.
If you're specializing in webdev, it cannot hurt to look beyond and make contingency plans if this turns out to be true. You don't want to get laid off unexpectedly and find yourself technically lacking. What I mean by this: find a more specialized area and see if it's interesting. Could be mobile, machine learning, compilers, etc. Don't be scared of systems programming -- it may come back with a vengeance.
FWIW, webdev has smelled of commoditization and 'cheap' devs for a little bit to me, and it's scary. Everyone gets screwed by this; especially as you get older.
I'm an iOS developer and have been looking into webdev to spread out a bit. Possibly something like clojure for a backend and node.js for quick simple services.
How do you counter this? Easy: specialize in something requiring hard-fought knowledge. It could be great chops in UX, or deep domain knowledge. But I use the word hard-fought intentionally: this is know-how that is not easily digestable from a blog post.
Industry may require you to be skilled in certain frameworks, but it's not the same at all as having strong, general programming skills you can apply everywhere. Personally, I'm looking to Clojure for the infinite meta-programmability, and resulting brain-refactoring that ensues.
It's about a lifetime of education, and always challenging yourself. That's the real payoff. Industry will run in circles, convincing itself it is innovating, while ignoring a lot of cool stuff done in the past. Dig into it, learn, and write about it.
Learn math. Learn physics. Learn some chemistry or biology. Be able to write digital signal processing code. Know linear algebra. Learn some NLP. Learn enough algorithms to write an efficient soldering path tool, or network router. Even there I am not sure of the moat; the number of searches for terms like "asymptotic complexity" are far higher in places like India and China than the US. But if you can reasonably say "if I leave it will take 3 normal people to replace me" you will have job security and the ability to command a high salary regardless of the economy.
Secondarily, I think there is an untapped market for people that are actually able to architect software and lead teams. I don't mean writing StrategyFactoryAbstractVistorBuilderFactorySingletonFlyweight horror shows, but actually putting together a solution that is maintainable and extensible over time. The field seems very immature in this regard. Or someone that can just think clearly, put a plan together, and execute it, even just at a middling level, seems pretty rare. I don't know if that (project management) pays a lot, but I think skilled people are worth their weight in gold. It seems to attract people that don't have the technical chops, not because they chose a different education, but more that they tried to be technical and just weren't that smart. If you are smart, you will always have a job in that arena.