Additionally we are facing the reality that being a good programmer is not enough anymore near the upper percentiles and this will trickle down in time to the rest of the industry. You can't just be a programmer, you have to be a statistician with a strong understanding of a hard science like biochemistry/genetics.
Given all this how the hell is a 40 year old married steel mill worker with kids supposed to just switch jobs to something that fills these requirements. At most the government might pay for an undergrad and that is quickly becoming not enough, not that places are eager to higher fresh young graduates from anywhere but Stanford anyways. How is the average younger graduate supposed to compete when we are now weeding out more and more of the top 10% for even basic hireability. Where getting a masters degree at a B/C list school might as well have you be wearing a dunce cap. This is completely ignoring issues like the pedigree system we have set up where if a new graduate takes a job at a boring Java shop they might get passed over by top companies later for being "Not good enough"