I agree that H1B transfer restrictions are bad though. If people are good enough to let into the country, then they should be free to switch jobs just like anyone else.
I'm not stating the "more people" == "less pay". I'm stating that foreign workers are willing get paid less money, regardless of what the job pool is. They have fewer options available to them, so they accept "worse" pay for what maybe essentially the same job.
Also, the amount of jobs that are available at any point in time is fixed. Jobs are created when a company has a need to fill. Jobs aren't created just because there is an excess supply of unemployed people. They don't spring into existence out of nowhere.
Do companies create more positions just to accommodate the influx of foreign workers? Or do the amount of jobs stay the same regardless?
edit: Wikipedia say that (e.g.) H1Bs are capped at 65k/year. Spread across the US, I'm curious how much this affects job creation? I could see an argument if they were concentrated in one place though.
Agreed that this is the case in a lot of industries, but the problem in Silicon Valley and the tech industry generally isn't the cost of workers, it's finding enough highly-skilled workers to allow companies to grow and achieve their visions.
I think that this can be alleviated without being anti-immigrant though. For example, make it easier for H1Bs to move between jobs and/or start their own businesses so that they don't have to feel so tied to the employer that they don't want to risk 'rocking the boat' too much. Or make it so that switching jobs doesn't 'reset the counter' on building up towards citizenship (or is it just a green card, I forget).