I was working for one of those body shops Indian consultancy company back in India. When they applied for my H1B , I knew what I was signing up for. So after a while I switched to one of the top employer in US (within an year of my arrival in US). So I basically made use of the Indian body shop to get my H1B using them as a bridge.
During that switch, the idiosyncrasies of the US' broken immigration system played a major role in my salary negotiation with my new employer. Many have an opinion that Indian H1Bs are unskilled. I am not going to judge them. AFAIK , I went through many rounds of interviews (whiteboard,project,cognitive) and I am pretty much sure I have engineering skills which are in demand. I am brave enough to state that I have more mathematical skills than many of my American counterparts.
Let me explain the idiosyncrasies of the US immigration system for an H1B worker.
While I was making the switch , my current employer came to know about my interview (possibly through a mole in my team) and the manager wanted to send me back to India. So he started the process of cancelling my petition.
So now I was under pressure to switch. The new employer knows that I am on H1B and they low balled me. This employer is not a body shop. This employer is simply trying to take advantage of my visa restrictions. Since my previous employer was in the process of cancelling my petition , I had no other choice but to accept the offer and join the new employer.
Your petition and visa is tied to your employer. Your job & freedom is under their mercy. If your employer cancels your petition , you are an illegal alien from the very next day. There is no grace time. (think about booking flight tickets, selling your car, breaking the lease and what not. Imagine school, kids and their state of mind. Its a mental torture).
So I joined my new employer and started working. I am beginning to feel that I am assigned a lot of work than my American counter parts , but I am not given any recognition and I am pretty much sure , I will be the one to get the lowest appraisals , because I cannot bargain. If my new employer fires me , I am an illegal resident from the very next day. I cannot search for a job , because there is no grace period. No employer will hire me because my petition would have been cancelled by then.
Not only Indian companies exploit H1B workers. American companies does that too.
Remember , American is a capitalist country. No employer whether Indian or American care about H1B workers. They just exploit them to the maximum extend because of this broken immigration system.
How to change it ? Immigration reforms like employer portability will be a good start.
But I am not waiting on these to decide my career & future. I have applied for the Canada Express Entry system and qualify with high points. My visa & permanent residency will not be controlled by employers in Canada. Soon I will say goodbye to this country. It has taught me many good things to remember and bad things to forget.