I think the immigrant vs. American worker stems from a fear or intuition that there are, indeed, a finite number of jobs and, possibly, that the number is trending down, not up, for the developer/designer kinds of jobs. Let's be honest here, IT, admin, maintenance, and testing jobs are lower caste than architect, design, and coding. Jobs in the first category, on average, pay less than the the jobs in the second. I think the number of positions required in the second category are on the decline. As the computer software industry matures and evolves, we just don't require so many developers. If and when we start moving towards a realized utility computing future (Ref. The Big Switch by N. Carr), we won't need as many maintainers and admins, either. Of course, it doesn't help to watch many of these jobs go overseas, either. Combine that with H1-B visas, and American tech workers can be forgiven for a little bit of xenophobia. But, maybe it's possible that broader economic and industry trends are the real issue. That's my theory, and I could be wrong.