It cost me about $5000 of my own money and a year and a half of my own time to become a permanent resident of Australia, with no advanced degree and no cash reserve needed. That route is literally impossible for potential U.S. immigrants. You either have to marry your way in, play the greencard lottery, have a PhD, or buy your way in via an investor-class visa.
The alternative, if you can get one, is an H1-B visa that ties you to a single employer who's free to take full advantage of your situation for half a decade. And this is what Microsoft wants more of.
Out of curiosity, how much does it cost a company to takeover an existing visa?
This notion that we have to hire over-seas is not correct at all and while I am all in favor or the immigration of foreign skill/knowledge/work ethic into the US, to call it a 'crisis' is nothing more than a publicity stunt to pull attention away from the fact that they are outsourcing jobs when they could be paying that money into the local economies.
Corporations understand Marx much better than workers ever did.
Companies don't hire people on H1B to save money, but because they are starving for talent.
EDIT: Sorry, didn't understand that you referred to the employee's salary with the 50K. Are you assuming that H1B employees are payed less in general?
And of course, the foreigner is locked into the company for X years, whereas a local can piss off after three months.
Note: I say that as an Italian-born UK resident who looked into the US visa system and found it, er, suboptimal for everyone involved except corporations.
There is some sense in the idea that the native population should be protected against unfair competition, but there is no evidence that this is the issue - Microsoft (and many other tech companies) legitimately can't fill these jobs, so there's literally no downside to opening the floodgates [of eligible H1-Bs].
Lets draw a new political circle containing everybody/anybody who can program. Lets call it New Abrainica. Let them all have free visas wherever they wish on the planet. How does this hurt anyone? Oh sure, temporarily some lame spot will have trouble getting someone to move there to work. But now they can also move the job to where the programmers are! Or get remote workers.
Hey, this already sort of happens. So what's the real issue? I'm not sure, but this conversation keeps coming up.
But wait, that means all you need is gcc, emacs, git sometimes ssh and internet connection and Paypall (sic.) account? How could they sell all that disconnected from reality, bloated crap they produce, spending billions per year?
The answer is quite easy - in order to get 200+k salaries and bonuses managers must maintain this bloated hierarchy and fabric-style sweatshops. Otherwise, who needs them?
But the real question is - why we still care about MS? Who cares about old Nokia phones or Delphi or Java or things like Novell Netware?))