In particular, for those of us who came up through development 10+ years ago but didn't get formal CS training, we're often being shuffled into these blue collar jobs even though we've put the time and effort into developing all of the CS skills that we'd need for the more sophisticated jobs. I went to a trade school for a non-CS degree, then spent over a decade writing everything from kernel code and device drivers to novel software exploits to designing and implementing video codecs, compiler toolchains, type systems, and large scale distributed systems. With the rising tide of bootcamps, all of that still matters, and there are still some good opportunities out there, but the pool of opportunities for interesting and fulfilling work is shrinking rapidly as the volume of jobs doing devops, mobile and web frontends, or menial node.js crud applications has been growing exponentially.
And like lots of blue-collar work companies are scrambling to offshore it to the cheapest locations and don’t care about quality because it’s all disposable.
I could not in good faith recommend this to anyone now, become a plumber or a nurse, that’s not going offshore anytime soon.
The majority of software development is essentially blue collar work now. You don't need a CS degree to make a mobile app or a JS-driven web page. At least 50% of developers haven't used a POSIX library in their entire career. They probably don't know what POSIX is. Software development is mostly glueing together other people's code in ways that don't trip you up later. We'll always need some of the low-level clever coders to build the foundation libraries we use, but that doesn't mean every developer has to be one of those people, or even capable of being one of those people.
And the thing is ... I think this is great. Making software is fun, comfortable desk work that loads of people should have the opportunity to do. Given the demand for new applications we need to make the barriers to working as a developer as low as possible.