I'm arguing that the supply is more fungible than that, especially in the long run and especially given a floating price point, and that changing the laws and regulations to solve challenges in particular business models is basically an indirect form of lobbying for special interests.
Think about it: WHY do we need programs to encourage engineering careers? Do we have programs to encourage people to go into law or medicine? Why not? Well those professions don't seem to have a shortage of people willing to work hard to get into those schools. So why does engineering have such a shortage?
These programs assume that there's something wrong with young people, or with the culture, causing them to avoid these careers.
Maybe, instead, there's something wrong with the careers themselves, and the employers, which cause people to avoid them. So why are we, as a society, subsidizing these rich companies to help them get more workers? If these companies really need these workers so badly, maybe they should foot the bill to recruit people into the profession and then train them (I mean their entire college costs here). If an employer isn't willing to pay $100k for a kid to go through college, who otherwise isn't willing to take that risk himself, then why should the rest of us try to brainwash that kid to do it, or help fund a scholarship for him?
Or perhaps, move the job to another country which has a larger supply of workers.
Microsoft could easily just pack up and move all their dev work to India. There's a large supply of workers there, and they can pay them a fraction of what they have to pay here.
Why aren't they doing this? The big companies threaten this, but they never do it.
Simple: if it were really this easy, they'd have already done it. There's obviously some good reasons why they're not, and why instead they choose to import people under H1-B, pay them roughly similar salaries to US workers, and pay for lots of immigration/paperwork-related costs on top of this. They might be (and I think they are) helping keep salaries down this way overall, but that's nothing compared to just dumping everyone and moving operations to India and paying 1/5 of US labor rates. So why aren't they doing that?
So what's stopping them?
The highly skilled American employees in their US-workforce?
At the moment, it might be more economically sensible to convince the Indian to move to US than to convince the American to move to India. But if you make it too hard or impossible to do that, Google will re-evaluate options at their disposal and decide accordingly.
Seriously: these companies keep threatening this, I wish they'd just do it and see how it works out for them. It just sounds like an idle threat to me to try to get their way in the US. I'm really sick and tired of their threats.
That being said, even if the salaries are all the same, it doesn't mean that wages are not suppressed. If you import supply and demand stays consistent, prices drop. I think the burden of proof is on the people saying otherwise to prove that importing tens of thousands of engineers doesn't suppress wages.
In other words, if large corporations couldn't import H1B workers, they'd have to do other things to get their work done, and those things would probably involve raising wages for especially skilled engineers. Or perhaps by investing in other productivity measures (better dev tools, better hardware, more administrative assistants, etc.).