1. The government mostly rubber-stamps H1B applications.
2. The company is required to pay "prevailing wage" which isn't necessarily market rate.
3. Companies play fast and loose with titles. They can present "Computer Programmer" as the title in the application but in reality the worker is a Linux Kernel hacker.
As someone who worked through the H1B system and is now a US Citizen, I can say that it’s a decent program when executed properly.
H1Bs are temporary high-skilled workers who are hired when domestic workers are unavailable and can also get sponsored to become permanent US residents if the company is still unable to find domestic workers after a few years.
In my case, I had to relocate to a small town in Kentucky for the job where (at the time) no American tech worker was willing to move to. I was essentially hired out of frustration on part of the hiring manager. I had other job offers but decided to go with that company because of it was a reputed (Fortune 500) company.
That said, numerous issues plague the program:
1. I noticed my fellow H1B co-workers who were Indian were paid much lower than I was. (I’m not Indian and I was paid market-rate). I’m not sure why but it seems companies think Indian workers are more desperate and will take less money.
2. H1B workers have absolutely no power. Your boss/company really does OWN you. You have little room for negotiating raises/work environment/responsibilities/schedule etc. If your boss doesn’t like you, you might end up in legal limbo in a few years.
3. H1B workers are constantly worried about the company’s bottom line/future/decisions. It’s very difficult to change jobs and a layoff/termination automatically invalidates the visa. Even if a H1B worker manages to switch jobs, the time limit on the visa doesn’t reset and the new working conditions might actually be worse than previous company.
This lack of mobility also has a dampening effect on the H1B worker’s career. Six years is a long time in the tech industry and H1B workers usually end up stuck with old technological stacks because they were unable to move on to jobs with better opportunities.
4. Many companies bring H1B workers on board with promises of sponsoring a green card knowing fully well that they have no intention of ever doing so. Some companies tell H1B workers that they have filed an LCA or are working on some other step without actually doing anything. Reason: It costs money.
5. Some companies ONLY hire H1Bs even if domestic workers are available. This is because they can get away with paying SOME H1B workers lower wages and H1B workers are more easily controlled.
Also, some unscrupulous managers use the H1B system to hire their friends and relatives who are absolutely unqualified for the job.
I can’t prove it, but I’m sure their is a shadow market where some managers demand BRIBES from H1B applicants in illegal pay-for-play hiring schemes.
6. H1B workers have been brought in by companies (like the Disney case) to replace American workers. Sometimes, the domestic workers are forced to train their replacements before being laid off. This has caused a lot of resentment towards H1B workers.
7. The Indian “Consultancy” companies: Tata, Wipro, Cognizant, etc. — Too much to talk about. These companies are the worst offenders and chronic abusers of the H1B system. I’d implore both American workers and H1B applicants to stay away from any company that has a large swath of H1B workers — read: INDIAN
1. The government mostly rubber-stamps H1B applications.
2. The company is required to pay "prevailing wage" which isn't necessarily market rate.
3. Companies play fast and loose with titles. They can present "Computer Programmer" as the title in the application but in reality the worker is a Linux Kernel hacker.