I worked at a large financial institution in the US and here's how it worked there: They made heavy use of remote Indian contractors. When they needed to fill an on-site position, they wrote the job ad to require experience working on their proprietary software. No Americans had that experience unless they were already working there, so they could plausibly say they couldn't find qualified Americans and bring one of the offshore contractors in on an H1B. Realistically any experienced developer could do the job, it was standard enterprise Java. The Americans don't even have an opportunity to compete for that job despite having the requisite skills because of the games the company is allowed to play.