Since I am a millennium I thought I should chip in at least once. Although this thread started has H1B which actually hurts both the foreign worker and the American work that's my stance there. The American worker is losing their job to someone that will take a lot less but do the same work. The foreign worker because they are being paid less and although there are places to live that are dirt cheap they are not always the best. The economy has suffered for years and there are too many contributing factors to name.
Now the last couple of arguments are more hitting home. Yes I have a bachelors and a couple of certificates, working on more certificates, but still working help desk. Do I know more than that sure. Could I work in a different place that could accelerate my learning/understanding/knowledge whatever you want to call it yes. When my father was young he went to the military and went to school That was the first time he really touched a computer. So in those days yes it was almost handed to people to have jobs. Nowadays it's more of who you know rather than what you know. I can't tell you how many "network technicians" I've helped over the years to configure a router. I've worked to get where I am and struggling to move around. But it's not only my location but also my type of degree. CIS is not the most notable computer degree out there. But beyond that I have certificates, practice my *nix skills at home. But they don't mean anything to the work place. My other degree would be in business management so hopefully I'm not stepping on feet here.
On the one hand you need to have the education and knowledge how to do what you work with. Getting a good paying job doesn't only help with that whether the company is paying for the training or not. But you also need to be physically strong and mentally healthy. So getting paid a living wage is necessary to have both of those. Sure you could be poor and be laid back and still get a decent job. But to uplift yourself does take a degree of basic needs. From economics when a people can satisfy their basic needs then they start to look at other needs. Now onto the reverse, like I said I've worked with enough technicians setup a router for nothing more than simple routing. These people properly knew someone and then they got hired and make decent money. So they could have high marks, certificates, and all other form of so called knowledge that means nothing. Yet they are still making big bucks.
The take away here hopefully is one, foreign workers aren't getting screwed any less than American workers. You need to have your basic needs met first before you can worry about uplifting yourself. And last but not least not trying to sound like a recruiter but getting to know someone these days is a necessary. Just please don't call tech support asking how to put your router that has a static IP into bridge mode.