Take a walk around Qualcomm's grounds some day and check out the engineers: a disproportionate amount of non-Americans. They have gone for the cheap imported engineering talent for years. Why pay an American engineer $100k/yr when you can get a green card Indian engineer for $60k?
I have a friend who works for TXU. Needed a programmer with strong English to communicate with power plant employees. Offered a good salary - and did not get a single American-born applicant. Ended up hiring an Indian girl with marginal English - the best he could do.