Whenever we talk immigration debate, it tends to be centered around very low wage jobs that many people honestly find degrading. The sort of jobs that everyone says "but Americans don't want those jobs". Well honestly, it looks quite similar on the other side of the wage scale too. Americans just don't get degrees in STEM at the rates needed to take all the jobs.
I have a friend who's graduating soon, has a visa that's expiring, and is looking for companies that will sponsor an H1B. So I volunteered to ask around at the tech conference I attended today and the answer was more or less "banks definitely, everyone else depending on their funding." And yes, I'm sure some of it is shady practices and whatever else, but a lot of it just has to do with the demographics of the average STEM program.
I graduated in engineering about 5 years back and maybe at best half the class was citizens, but a good chunk of that half (myself included) are the children of immigrant parents-which yes is its own weird dynamic. Apparently my experience was somewhat biased by being in NYC, 'cause F1 students actually make up only about %5 of all computer science undergraduates and hover around %10 for all engineering fields.
But the dynamic and demographics change as we get into even higher education. At the graduate level, the number of visa holders getting degrees skyrockets to almost half the students. At my school, we have the phenomena of wives of area doctoral students getting their masters 'cause they're not allowed to work under the terms of their husband's visas.
My PhD program (CS) has even fewer citizens-like I'm pretty sure I can count us on two hands. Articles that discuss the myth of the STEM crisis fail to address that even if it is a myth, part of it is due to the current immigration policies and incentives for the students getting degrees here to stay. So what do the numbers actually say? At the highest skill levels, over half of all PhDs in STEM go to temporary visa holders. And some past years it's been way skewed.
These are the numbers for CS, but the other STEM fields don't differ much. Like yes, not a lot of companies need people with Phds, but this is one of the largest growing sectors of the economy and only about 800 Americans get the degree a year. And many of those people want to go into academia or work for Google or Facebook, reducing the potential workforce even further.
And even on the undergrad level, very many people with STEM degrees choose to not go into STEM. The go to law school or business or finance or any other sector that seems like it'll pay better for less work. The start-up bubble has brought some Americans back into straight STEM jobs, but the vast majority of STEM jobs are writing very boring boilerplate for some fortune 500 or a bank. Often enough in a language most schools here don't teach anymore...
So really, when we talk about tech and jobs and immigration and the whole mess, we've gotta frame that conversation firmly in the numbers. Like I'm about %95 sure that I'm not really gonna get a job stolen from me by an H1B worker 'cause most of them are going for jobs I don't really want and the rest-well the skills are so highly specialized that there are enough jobs to go around.
ETA: Valleywag is running the counterpoint Tech Companies Stoke Fears of a Talent Shortage to Get Cheaper Labor