It's not about the money. Tech workers still make plenty of money compared to other professions. It's about work-place conditions. The 24 lachs figure that gets quoted (~$40,000) is a lot of money in India... much more than $150,000 in the US. It's about uprooting a family and forcing a deportation if the worker gets fired. This makes H1B visa an indentured servitude (even if it is well-paid). The only solution is to say that anyone who deserves an H1B visa should get a Resident Alien card instead (because it's what they are). Oh, and Resident Alien card isn't green color anymore. A person should not be afraid to go home after less than 10 hours of work lest he gets deported. If he gets fired, he should get unemployment benefits and look for a new job without begging for sponsorship. Otherwise, it's still indentured servitude. And as long as US workers are forced to compete with indentured servants on work conditions, they'll stay away from STEM career if they are smart enough to do anything else. That's why there is a shortage of local workers. It's artificially created.