I think the solution to the problem is really simple. The US should grant permanent residency to anyone who graduates from a qualified four year university with a computer science degree. If you are concerned about people gaming the system, you can start out by limiting it to people that receive a post-graduate degree. Of course, you can easily extend this beyond computer science (e.g. physics, chemistry, etc.)
When I was an undergraduate at MIT, a meaningful percentage of the student body was from other countries. It never even occurred to me that these folks were “different” and didn’t “belong in our country.” Some of my best friends in college weren’t US citizens and I was baffled by the hoops they had to jump through even back then to work in the US. In the past eight years, this has gotten dramatically worse and it’s time we got in front of this.
As I implied in my previous bit on H-1B visas, I think this attacks a symptom — the shortage of tech workers — but does nothing to solve the underlying problem. What happens when foreign students can get good jobs back in their own countries, and don’t want to stick around? This does nothing to foster education of our own citizens, and by having a large supply of workers, it drives salaries down. Businesses love it, of course, because the talent pool is deeper and cheaper. I don’t think we should swing all the way to full-blown protectionism, but I also don’t think unrestricted handing-out of visas to all graduates is the answer.
This brings to mind another issue. The US does educate a lot of foreign students. As with the author, I was friends with a number of them when I was in school. I was also frustrated that some of the finite supply of student support money, coming from taxes, was doled out to foreign students and to the exclusion of US citizens — I knew a few people who went without support for a year in the hope of landing a TA or RA, while the foreign students were supported. There’s something about that that strikes me an inequitable.
There is definitely a shortage, but that’s a gross generalization. People don’t differentiate between companies who hire H1B workers to be on their payroll to do work for them vs. companies who get H1B workers on their payroll to do work for someone else. In the latter case these workers are often more expensive than their peers unless you look at their benefits. Large companies escape pensions, workers compensation, insurance and unemployment liability by hiring these H1B workers as contractors rather than employees. I’m not sure if anyone has done comprehensive research on this, but it would be interested to see the whether companies really save very much at the end of the day or if they just eliminate obligations by commodifiying workers.