I am torn on this issue.

To give my personal background, I came to the US in 2004 on H1B visa through Infosys.

Working in NY/NJ area, I have seen it first hand how H1B can indeed lower wages. Here's how. The H1B visa belongs to an Employer and not the Employee. This means that losing a job on H1B could have dire consequences if you can't line up a job right away. This leads to a situation where a person on H1B visa avoids jobs where there is a risk of getting laid off. This leads to tons of 'body shops' setup by Indian/Asian folks who will sponsor your visa and then you go do 'hourly consulting' for a multinational firm. (See this page: http://techjobs.sulekha.com/h1b-jobs-usa) The body shops will charge at least 20% for this benefit, 30% in average case and even 50% if the employee is not smart enough. The goal of these body shops is to bring in more folks from India where someone will happily take up job for 60k to come and work in NY/NJ. The guy in India is thinking: 60k USD = ~3,785,000 INR. This is a huge amount which they will not be able to get in India. (In Bangalore, you can expect to get paid around 700,000 on average). However, most of the time, they don't factor in the cost of living and it means that their actual savings are much closer to what they make it in India. By the time they figure all this out and want to make a move, they understand the visa restrictions and realize that they are stuck till they get green card.

To share my personal story, when I first came in 2004, I was making 60k in NJ. Kept making around the same amount for the next 3 years. Then I became friends with a person who worked as recruiter for COMSYS (now acquired by ManpowerGroup) (For those who don't know, it's one of the bigger staffing firms in NY). She gave me the inside detail on how much companies are paying, how much these staffing companies are keeping and how to keep more share of the money. She also told me that if I want to make real money, I should consult for Investment banks. Based on this, I started improving my technical knowledge, finance knowledge and interviewing skills. I started making more and more money. I got green card last year and I am now making over 200k. I have used this knowledge to help my friends but I have seen it first hand how folks are not able to get a better paying full time job due to visa restrictions. This ultimately leads to wage suppression.

Summary: If you think that H1B abuse is not rampant, you are living under the rock.

So, on one hand, I want H1B visa program so that folks like me can come to this great country and make good money. On the other hand, I am fully aware that businesses are strictly using as a way to lower wages. There are very few H1B jobs where the worker is doing a 'highly specialized job' that a local American can not do.

I really don't know what the answer is. One idea I do like is to do the auction of the H1B visas. That way employer who have the money and who really need highly specialized work done can hire the person from any part of the world. I think it's fair that in a capitalistic system, you let the money decide who should get the opportunity to immigrate. (The current lottery system means that a company may not be able to hire a candidate if they get unlucky.) The only dilemma is that if it worked this way from beginning, I would have never made it to the US.