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.
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
programming that is not merely the product of training.
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.
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.
It would be great if more Americans were trained as programmers,
but no amount of training can flip a ratio as overwhelming as 95
to 5. Especially since programmers are being trained in other
countries too. Barring some cataclysm, it will always be true that
most great programmers are born outside the US. It will always be
true that most people who are great at anything are born outside
Exceptional performance implies immigration. A country with only
a few percent of the world's population will be exceptional in some
field only if there are a lot of immigrants working in it.
But this whole discussion has taken something for granted: that if
we let more great programmers into the US, they'll want to come.
That's true now, and we don't realize how lucky we are that it is.
If we want to keep this option open, the best way to do it is to
take advantage of it: the more of the world's great programmers are
here, the more the rest will want to come here.
And if we don't, the US could be seriously fucked. I realize that's
strong language, but the people dithering about this don't seem to
realize the power of the forces at work here. Technology gives the
best programmers huge leverage. The world market in programmers
seems to be becoming dramatically more liquid. And since good
people like good colleagues, that means the best programmers could
collect in just a few hubs. Maybe mostly in one hub.
What if most of the great programmers collected in one hub, and it
wasn't here? That scenario may seem unlikely now, but it won't be
if things change as much in the next 50 years as they did in the
We have the potential to ensure that the US remains a technology
superpower just by letting in a few thousand great programmers a
year. What a colossal mistake it would be to let that opportunity
slip. It could easily be the defining mistake this generation of
American politicians later become famous for. And unlike other
potential mistakes on that scale, it costs nothing to fix.
So please, get on with it.
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.
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.
Though this essay talks about programmers, the group of people
we need to import is broader, ranging from designers to programmers
to electrical engineers. The best one could do as a general term
might be "digital talent." It seemed better to make the argument a
little too narrow than to confuse everyone with a neologism.
Thanks to Sam Altman, John Collison, Patrick Collison, Jessica
Livingston, Geoff Ralston, Fred Wilson, and Qasar Younis for reading
drafts of this.