"in many cases there aren’t enough Americans with the necessary skills for the jobs. There are solutions to that – greater investment in education programs, or companies that hire underskilled workers and train them up – but those solutions come with a significant cost and time delay. "
This sounds almost similar to the issues that local developers and IT shops face in the UK. It can be cheaper to import from abroad than train-up staff. This attitude must change.