Blaming the H1b visa for Offshoring of American Tech jobs is wrong, at least in the R&D space and here’s why.
The H1b visa’s intent is to allow high-tech companies to import foreign workers when it can’t fill these positions domestically. What this also does (maybe unintentionally) is act as a pressure-relief valve for salaries of in-demand R&D engineers. While not optimum for engineers, this reduces the wage difference between US and India/China and acts as a deterrent to product companies considering offshoring R&D.
Offshoring costs a lot in communication overhead, loss of productivity and R&D skills are harder to come by in India and China as most of their workforce is IT services oriented. A product company needs to be employing hundreds of offshore employees before it can reap any cost benefits or make it worthwhile for the management overhead. By making it hard for a company to get H1b workers, you force it to consider offshoring when it needs to grow. When it does decide to do this, it needs to do this on a meaningful scale to make it worthwhile. So in essence, restricting the use of H1b visas actually drives more offshoring and not the other way around.
For most product companies that have their core engineering work done in the US, it is far cheaper to import a few high-skilled H1b workers to augment their team than to introduce the complexity of offshoring.
Instead of blaming the H1b for increased offshoring, it would be wise to focus on how to best improve it so it helps keep more key R&D jobs in US or it may follow the same path that IT and call center jobs did. Increasing the minimum wage level requirement to a minimum of $100K/year might be the easiest way to reduce abuse by services companies and speeding the greencard process would be another way to do it.