I think a lot of people who are professional programmers find programming itself scary. Programming is a hard thing to do, and ace programmer's are very opinionated, smart, logical, and can spot non-ace programmer's pretty easily. Or maybe it's just that people are naturally lazy and don't want to get out of their comfort zone. Whatever the reason, many programmers work in one language, in one product, then try and stay in it forever. Then they get laid off after 10 or 15 years and find it quite hard to find a new job.
When hiring people, I'll come across this type of resume, where they focused in some super-niche proprietary tech for many years and are unfamiliar with the latest trends, and usually are asking for a below-average salary. I have interviewed a few, and their lack of talent is so glaringly obvious I feel bad for them. But someone will probably hire them, probably the companies that think that all programmers are replaceable widgets.
In summary, "blue collar" programmers already exist, it's just the author who thought he made some stunning realization, which isn't new.
Not disagreeing with your overall point, put I'm fixing some terrible unit tests (that aren't really unit tests) right now that do nothing but add negative value. So many otherwise experienced programmers write terrible unit tests and/or untestable code that I don't think it could ever be silo'd like that.
Nearly nobody will hire them, because employers like you are expecting 100% domain knowledge on day 1. Because you are completely unwilling to give a person a chance to learn on the job, you are missing out on employees that tend to be low-cost and loyal. There is a cost to having employees regularly quit, and you are paying it because you refuse the sort who stick around.