There is a New York Times article about Google complaining about a lack of qualified US programmers even in this economic downturn:
http://www.nytimes.com/2009/04/12/business/12immig.html
They elaborate on how one of the immigrant programmers there was able to solve problems that local ones couldn't:
Enter Mr. Mavinkurve, who floated an alternative: cut the number of colors in each map section to 20 or 40 from around 256. The user would not see the difference, but the load times would be reduced 20 percent.
Mr. Mavinkurve used a rare combination of creativity, analysis, engineering and an understanding of graphics to find a solution that had eluded the rest of the team, said Mark Crady, a manager in the maps group.
Someone showed me a report saying that this is a ploy by employers to get cheap labor.
http://heather.cs.ucdavis.edu/itaa.real.html
Do companies really do write you off for not having the exact major and having the exact language experience?
Do any of you in the industry know the true situation out there right now?
Edit
I see a lot of people here saying that there is a shortage of talent. How do you define talent? Do you consider yourself talented? If you see a growth in the number of people as good as you, would you still consider yourself talented?