I have a BS and MS in CS from one of the top 10 colleges in the US. For my BS, I had a scholarship from the University and I RA-ed throughout grad school which paid for the MS (incl. living expenses).
As one of the much derided supposedly wage suppressing immigrants, allow me to point out a few things:
1. Not once was I made an offer below market wage or below what American citizens were being offered. If anything, I was made higher offers, as were many of my other international friends. In fact, I was almost always made an offer first and immigration status usually never came into the picture until I had indicated that I would accept. And I make way above what the average American makes - so I'm not the one suppressing your wages.
2. I have never been passed over for promotions or opportunities because of my immigration status, nor have any of my immigrant friends. Most people in the organizations I've worked in are simply unaware that I'm not a citizen.
3. MS is offering to pay for GREEN CARDS for their employees. If the argument here was wage suppression, why the hell would you get your employees Green Cards? Once you get a green card, you can work anywhere, thus undercutting the indentured labor argument that people often make (including normally astute people here on /.). Multiple companies have offered to get green cards for me and my friends from overseas. In fact, in some cases even if my friends didn't want to apply for whatever reason, the companies (MS and Google to be specific) kept pushing them to apply. Again, they would NOT do this if they wanted to underpay us. In fact, pretty much everywhere I've worked, they would have been happy to pay extra to expedite a Green Card for me if that were possible (it isn't because there are strict quotas).
4. If there are even 20 Sergey Brins, Vinod Dhams and Vinod Khoslas in every year's crop of immigrants, the US will come out ahead in terms of jobs created vs. jobs lost to immigrants. I suspect the number has traditionally been higher but might be lower now on account of the increasing prevalence of body-shoppers.
5. People claim that fewer Americans are studying STEM subjects and CS because of immigrants and wage suppression. This is simply utter crap. Go look at salary surveys and you'll find that engineering jobs consistently pay more than most non-STEM jobs, and even if you wanted to work on Wall Street, you are more likely to get hired if you were an engineer because you have domain knowledge which is in high demand on Wall Street and in business these days. CS graduates from my school were routinely offered over $100K after MS degrees (with a BS, it was usually somewhere between $80-100K, typically on the higher end of that range). Some CS majors were making more than McKinsey consultants or Goldman bankers straight out of college (the latter is only true if you look at the hourly wage).
The flaw in my argument that I'll readily admit: my sample is biased because most of the immigrants I know are the cream of the crop, and so my experience is likely not representative of the majority of immigrants, particularly in IT and those from India (I say this as an Indian).
All that said, there is undoubtedly wage suppression that happens but you might want to retrain your guns from the Microsoft to the Indian IT companies and the smaller IT consulting shops.
The bigger problem in IT and CS jobs is *age*. That's the elephant in the room. People don't lose their job because of immigrants, they lose it because IT companies don't like older employees.