|  
  
December 2014  
  
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.   
  
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 the US.   
  
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 last 50.  
  
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.  
  
  
  
  
  
  
  
**