Is there a very substantial difference between the things engineers do to move to the US and things non-engineers do to move to the US?<p>Here's the sentence that gets at the heart of this disagreement:<p>"..Even when the Valley is facing a supply problem and is desperate for hiring engineers."<p>Unfortunately, many people have associated being pro-immigration with agreeing that there is a severe shortage of software engineers. I see these things as separate, and I think it's a mistake to try to connect them.<p>In San Francisco, the median salary for a software developer is a little bit above a dental hygienist and substantially below a registered nurse[1]. I'm not saying programming is necessarily a bad job, or that programmers would jump at the chance to switch places with dental hygienists. But if you consider pay, career stability, the possibility of age-related employment problems as you reach middle age, the difficulty of scaling back or leaving the workforce while you have kids… the decision to avoid software engineering can be entirely rational. The attractiveness of the career is at odds with claims of a severe shortage when you consider other opportunities available to educated, skilled workers. Why favor one segment of the economy, why not require that software employers compete for free workers like everyone else?<p>In short, why should someone who has agreed to study what Facebook wants him to study, live where Facebook wants him to live, and work on what Facebook wants him to work on, have priority over someone who is "undeclared", who wants to come to the US and choose a career in response to market signals like any other free person?<p>[1] check US news best jobs for regional salary data, based on BLS