My wife is a pharmacist. Over the past two decades the number of pharmacy schools has increased and some schools have gotten bigger classes, such that now every year there are about 25% more Pharm.D's made than in 2005. The result has been a predictable decrease in pharmacist quality of life- the pay is basically the same number of dollars today that you would get in 2005 so inflation has made them poorer, the hours are worse, the tech hours are worse, etc.- because pharmacy school is selling the same dream of respectable, well paying work. Law school has already done one cycle of boom, massive overproduction, bust, and is starting to boom again. I know a couple of airline pilots who face similar problems- very slippery rungs at the lowest ends of the ladder, with a lot of the feel of a pyramid scheme (generally to get enough hours to get to the higher rungs you need to be an instructor teaching other people to fly) and for the few who can grab one of the highest rungs (senior pilot at a major) quite a bit of job security and well-paid respect.
If she hadn't become a pharmacist, my wife's back-up plan was to be a chemical engineer, which generally means she would be working for an oil company baby-sitting a machine in a refinery. Over the same period that pharmacists job quality declined, ExxonMobil went from the largest company in the US by market capitalization to the 12th biggest in the US, and from what I've read the quality of life of ChemE's has declined a lot in step with that. So this clearly isn't something where "STEM jobs will save you."
I remain puzzled as to why software engineering seems to be immune to this overproduction problem. Is it just that since software is still eating the world, we haven't found a natural limit to the demand for our kind of engineers yet? Is it that we are so unproductive and failure-prone that we guarantee ourselves full employment?