Follow the money. At my corp, we have crap loads of Chinese and Indians.
The more the company lays off, the more foreigners they bring.
This has been going on for the last decade, particularly within the last 5 years.
Worked in a software shop for a Major U.S. corporation. Of about 100 software engineers, less than 50% were American. The rest were all H1B.
The reason American engineers cannot compete with many H1B workers is not because of the Liberal “Americans are greedy” meme, it is because people of foreign birth have a different view of money and success. A person in India or China may think 30,000 is an unbelievable amount of money. And it is in their culture.
So, an employer can offer an extremely well qualified candidate 45,000 a year AND, they get to come to America. The guy's eyes will pop out of his head and he will jump on it. The H1B is working for more than just salary. He is working for his visa as well. This tends to keep him highly motivated. H1Bs have had a huge negative impact on the American technical jobs market in keeping jobs scarce and salaries low.
By the way, this erosion and destruction of American technical dominance was fully supported by all administrations Republican and Democrat over the last 40 years, the same way they supported the destruction of any form of American manufacturing. All it takes is for one employer to give a few congressmen a briefcase full of money and 'voila', suddenly you can outsource anything you want and import as many foreign workers as you want and, wink, wink, sure we'll keep that border open. Don't worry about it. (wink)
Anything Americans invent or build, politicians tear it down and distribute it globally in the name of 'fairness' or something. It is the stupidest thing on Earth, but what can you do? I really do believe that many politicians would sell their own mother into slavery for a few bucks. But never mind.
If you are going into the tech field today, it would serve you well to speak Urdu and some Chinese. That is where all the action is now. A software guy named Ted or Bill or Paul is a rare breed these days. Oh, and get used to pronouncing names with 56 characters in them. It is pretty common out there.