Paul Graham says…
American technology companies want the government to make immigration easier because they say they can’t find enough programmers in the US. Anti-immigration people say that instead of letting foreigners take these jobs, we should train more Americans to be programmers. Who’s right?
The technology companies are right. What the anti-immigration people don’t understand is that there is a huge variation in ability between competent programmers and exceptional ones, and while you can train people to be competent, you can’t train them to be exceptional. Exceptional programmers have an aptitude for and interest in programming that is not merely the product of training. 
There’s a footnote there. What’s the footnote?
 How much better is a great programmer than an ordinary one? So much better that you can’t even measure the difference directly. A great programmer doesn’t merely do the same work faster. A great programmer will invent things an ordinary programmer would never even think of. This doesn’t mean a great programmer is infinitely more valuable, because any invention has a finite market value. But it’s easy to imagine cases where a great programmer might invent things worth 100x or even 1000x an average programmer’s salary.
That’s all very true. And yet, there is something about this that doesn’t quite fit. There is a shortage of programmers in the United States who “have an aptitude for and an interest in programming” and it has to be filled by way of immigration? So, the home-grown programmers are programming, but ordinarily and not exceptionally. They’re not thinking outside the box. We need to import some talent to think of these new ideas.
If this really is true and it is causing such a grave crisis — and, in my experience, I’ve not seen much support for this pattern, but that’s anecdotal so let’s let it go for now — the thing for us to immediately ponder is not how we can tinker with our immigration quotas, but what might have led us culturally to this sad state of affairs. What is the experience of a home-grown programmer with “an aptitude for and interest in programming that is not merely the product of training”? What becomes of his ideas? How welcome are they? How much resistance does he encounter when he comes up with them? Or she. What are the consequences, stateside, for thinking outside of the box?
I’ve heard others gripe about the “Not Invented Here” syndrome. I’ve had my taste of it. Hearing about it from others preceded my own experience with it, so I know it isn’t just me. Great programming implies great engineering, and if we’re going to value great engineering, we’re going to be attacking problems at their roots, as in root causes. Not hacking away at the leafy part. This is America. Whether you want to argue the point about whether we deserve our reputation for creativity and innovation, we do have it, and we had to have gotten hold of it somehow.
If American schoolkids show a little bit too much creativity where they’re not supposed to, they get medicated until they stop showing it. Are these technology firms, so desperate to get hold of this exceptional programming talent, but failing at it and being forced to ship the talent in from overseas, weighing in on this? Before you accuse me of topic drift, keep in mind I’m merely taking Graham’s argument seriously and this question just arises naturally out of that. It would be dumb of them not to do something to exert influence here, if the crisis is so acute.
And how acute is it?
The anti-immigration people have to invent some explanation to account for all the effort technology companies have expended trying to make immigration easier. So they claim it’s because they want to drive down salaries. But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the US, where they then paid them the same as they’d have paid an American. Why would they go to extra trouble to get programmers for the same price? The only explanation is that they’re telling the truth: there are just not enough great programmers to go around. 
I asked the CEO of a startup with about 70 programmers how many more he’d hire if he could get all the great programmers he wanted. He said “We’d hire 30 tomorrow morning.” And this is one of the hot startups that always win recruiting battles. It’s the same all over Silicon Valley. Startups are that constrained for talent.
Another footnote. What’s this one say?
 There are a handful of consulting firms that rent out big pools of foreign programmers they bring in on H1-B visas. By all means crack down on these. It should be easy to write legislation that distinguishes them, because they are so different from technology companies. But it is dishonest of the anti-immigration people to claim that companies like Google and Facebook are driven by the same motives. An influx of inexpensive but mediocre programmers is the last thing they’d want; it would destroy them.
Well, that last part is simply not true. Microsoft got fed up awhile back with running into expensive reversals due to the human factor, even in situations in which everybody had done their jobs competently, even excellently. And so they did something Graham hasn’t done here. They defined something (via Coding Horror):
Just last week we were having a meeting where the subject of personas came up. This may have been blogged about in the past… but… we have three primary personas across the developer division: Mort, Elvis and Einstein.
Mort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as needed. Elvis, the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learn while working on the solution. Einstein, the paranoid programmer, likes to create the most efficient solution to a given problem, and typically learn in advance before working on the solution.
So, the CEO of the startup would hire 30 Einsteins tomorrow morning, is that what we are to infer from this? Graham doesn’t say because he doesn’t make the distinction. From my own experiences, I would have to doubt this very much. You’re apt to be just as frustrated trying to get an Einstein or an Elvis to do Mort work, as the other way around. The “Mort,” when all’s said and done, tends to be the most precious. At least, in the sense being discussed here, in supply versus demand. You always need more Morts.
Think of the conceptual knowledge as a large cake, not only gargantuan in size, but expanding continuously. I myself have sometimes compared programming personas to spatulas and icepicks. Some programmers move laterally, as if spreading frosting, not penetrating much. Some stab through and drive downward all the way to the pan. The problem with these icepick people is they don’t generate this horizontal movement too quickly. And this creates a supply-and-demand issue not too friendly to them, because when you’re talking about staffing a campus full of buildings with tens of thousands of “programmers,” the horizontal frosting-spreading motion is what you really want. Yes you need a few of the vertical-stabber-learners who can isolate just a few particularly arcane fields and then learn every little facet of those fields. But you won’t fill up buildings with hundreds or thousands of those. You’re going to fill them with Morts.
And, these tech firms are doing exactly that. Consider what would happen if this were not the case. Think of the math. Two hundred people to a floor of a building, between two and four floors to a building, somewhere between five and fifty buildings to a campus. Well up into the thousands…and then you go to the next campus in the next city, and count it again. Then you go to the next company that has buildings on campuses, and count it again. This is in service of “a great programmer might invent things worth 100x or even 1000x an average programmer’s salary”? The math doesn’t work. These aren’t lottery tickets that you buy for a dollar and then toss aside when the game is over. These are smart, talented people, whose time is valuable. But, there is a misstatement being made here about what exactly it is that they do.
And then there’s this counterpoint. It’s completely devastating:
No, we need to leave all those people sitting at home and rewire all our immigration laws to ensure that some mythical ‘exceptional programmers’ can get here. We’re not told why that’s such an imperative, it’s just asserted. We’re not told why tech companies are supposed to be so super-picky (and why we’re supposed to indulge this super-pickiness in job-matching), it’s just taken for granted.
This isn’t a minor quibble. I mean by the same sloppy logic –
The US has less than 5% of the world’s population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US.
we might just as well assert that 95% of ‘great’, oh, let’s say, construction workers, or librarians, or dental techs, are born outside the US. But I mean, and I hate to be the one to ask this, but so what? Does this mean we need to displace all the domestic construction workers/librarians/dental techs so that we can suck up only the ‘great’/’exceptional’ ones from elsewhere? If so, why? That’s ridiculous. But if not why not, and what’s so special about programming in particular that national policy should be bent around the one pole-star of making sure all companies are packed with supposedly ‘great programmers’, to the exclusion of all other considerations?
I have a “lawyer rule” about this: When someone wants to propose something be done to some particular industry, like should the “workers” be forced to unionize, and then surrender part of their paychecks in “dues” that go to supporting democrat politicians whether they want that to be done or not — ask yourself, could it, should it, would it ever work the same for lawyers? Is anyone going to insist that lawyers unionize, and pay dues to elect politicians they don’t like? That agenda item fails the test. And, so does this one. Lawyering, if you need it, is critically important. Nobody ever asks for an “adequate” lawyer, especially someone who’s in need of a divorce lawyer. Should we start meddling with the immigration quotas so we can import some really excellent divorce lawyers? After all, it stands to reason 95% of them weren’t born here!
So in conclusion, my inferences about this are,
1. Graham is right. Americans may have a commanding lead over the rest of the world in using this-or-that technological toy, but they don’t lead the rest of the world in understanding how the toys work, and that is bound to mean that the United Stats doesn’t possess any sort of monopoly on the world’s programming talent.
2. However, it is dishonest to suggest our domestic resources have been exhausted, or that these tech firms are struggling in futility trying to locate creativity, inventiveness — those things that have historically been part of the American landscape. If that was really what they were trying to find, as they hire new bodies by the tens of thousands, and we knew they were starting here and then ending up begging for immigration quotas to be lifted, then that ought to sound big, loud alarm bells with anyone. Heck, it should sound those alarm bells with the situation the way it is. But that’s another matter.
3. I’m sure there are programmers coming in under Visas earning salaries comparable to the few programmers who were born here or live here, and manage to find work. But there are a lot of costs outside of salary. Before you hire the talent, you have to find the talent. How expensive is it to find the talent here in the United States? How sure is the process, how much faith can you put into it?
4. What Congress is being asked to do, by these tech firms, is to assist them as they give up hope in the country. You can say the situation is not that simple, but you’d be wrong. And this is a significant point, since Congress is the country. This country has a legacy of inventing new things, thinking up new ideas, then making them happen. If that’s nothing more now than an echo in the ash bin of history and the snapshot of the present is some approximate reverse of that, the concerned patriot should be asking why. If his attention is not focused there, he forfeits any claim of concern about the country’s future.
5. We have advocates for more imported and excellent programmers, but not advocates for more imported and excellent divorce lawyers…or bankers or construction workers or dental techs. The issue is not “programming.” If I do yield to the temptation of drawing too much on my own experiences, the one thing about this industry that really sets it apart, and might make it a special target for this effort that ignores the other vocations, is what everyone seems to be overlooking: Independence. This makes sense, at least insofar as it’s something that deserves inspection, because independence always scares a lot of people, and it always scares them a lot more than they’re willing to admit. Their own, along with someone else’s. Me, I’m a high school grad. Without programming, I’m supposed to be…I dunno. Construction worker, librarian or dental tech? Guy who stacks the soup cans in a pyramid on aisle four? Something not as independent. Through my mixtures of success and failure, I’ve often had to bear that in mind, without this livelihood I’d be doing something not-as-independent. And, I’ve met my share of people who would like that, a whole lot. I continue to meet them, and be made aware of them. And that’s how I see this Paul Graham piece, to be honest about it. Wonder how he feels about high speed rail? It has not escaped my notice that these people laboring long and hard for more immigration in the tech fields, seem to be the same as the ones who love trains so much.