1) Offshore workers are much cheaper than their American counterparts, even after taking into account communication costs, inefficiencies of their work, etc. Even computer coding. It's true that early on, there were some monumental problems with Indian code. But today, many companies that outsource have had outsourcing a priority since day 1. Companies founded in Mountain View contract out some coding immediately. Whenever you try to offshore some development after you've had it going for a while somewhere else, there are going to be problems. They don't know your rules for documenting, variable naming, libraries, etc.
2) EPA and tort lawyers move some jobs offshore, but it's not that many. And none in call centers or computer programming, which are what most people complain about.
3) Companies have a duty to their shareholders to maximize profits, not maximize American jobs. It's sort of ironic that the biggest shareholders in most companies are pension funds of workers. For their workers to be able to retire, they need high returns from their stock investments. In order to secure this, they reward companies who cut costs, and one way for companies to cut their costs is by moving employees overseas.
4) Many computer companies need to move some workers overseas. They simply cannot compete with companies that do so. Add to this that many computer companies are truly global. Take SAP. It's German. It may move workers from the US to India. Can we complain? Suppose Oracle, a US company, produces software targeted for the South African market in the US, and it moves this development to India? Can we complain? What if SAP moves that development? The problem with tariffs for software is that it's hard to figure out exactly where the software was produced. If SAP wants to sell software in the US, how can we know if it was coded in Germany or Ireland or India? Or Canada? And many enterprise software companies generate 1/3 to 1/2 of their revenues in foreign countries. Wouldn't there be retalitory tariffs? Wouldn't this force them to form subsidiaries and move development offshore so that they would have no US code in their foreign software?
5) What would happen if we ordered state pension funds to have a social obligation and not fund companies that were exporting jobs, but instead only buy stock in less profitable companies?