Friday, June 19, 2015

Let The Other 95% Of Reality In

Here's a dramatic reading of a Paul Graham blog post.

Thanks for watching! I hope you enjoyed it.

If you're interested in a more serious analysis, here's a gigantic, detailed breakdown.
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?
First of all, this is a false dichotomy. I don't think I've ever heard "anti-immigration people" say anything about training more Americans to be programmers. The only times I've ever heard "anti-immigration people" express any opinions in American politics, those opinions have consistently been racist opinions about Latinos in general and Mexicans in particular.

But Mr. Graham opened up his post with a cliffhanger. "Who's right?" he asked.
The technology companies are right.
I bet you didn't see that one coming.
What the anti-immigration people don't understand is that there is a huge variation in ability between competent programmers and exceptional ones...
Mr. Graham never bothers to identify "the anti-immigration people," and I'm not totally convinced that they exist at all. I mean I know anti-immigration people exist in general, but I think the "anti-immigration people" Paul Graham wants to "debate" here are fictional. Likewise, I could be willing to assume that people who spend most of their time making racist remarks about Latinos might also be unaware of the varying levels of programming talent. But it's not necessarily true, and I've never really seen anything which proves it to be the case. I've even seen counter-examples.

If we're dealing in unsubstantiated arguments, I would feel more comfortable with an argument like "the set of people who make racist remarks about Latinos is unrelated to the set of people who have opinions about the distribution of programming talent." Although I cannot prove it, I have more faith in it. It also doesn't require you to assume that all these "anti-immigration people" don't know what the word "exceptional" means.

But let's keep following Mr. Graham into the hole he's digging for himself:
...and while you can train people to be competent, you can't train them to be exceptional.
This is simply false. There's a book which explains how to train people to be exceptional. It was written after the author visited specific, unusual schools all over the world, each of which reliably churns out exceptional students, including a tiny Russian tennis school which has produced more top-20 women players than the entire United States, and an American music school which covers a year's worth of music training in seven weeks. (Alumni include Yo-Yo Ma and Itzhak Perlman.)

Exceptional programmers have an aptitude for and interest in programming that is not merely the product of training.
Again, Mr. Graham seems to think the "anti-immigration people" have never heard the word "exceptional" before. This is only just barely better than quoting from the dictionary.

Then we make a pretty wild jump.
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.
That would be the most gigantic "if" that anybody ever built an essay on, if Mr. Graham were being real with us when he refers to his blog posts as essays, but he's not. They're blog posts. Even if you wanted to humor Mr. Graham's pretensions, this "essay" would be a polemic at best, since it fails his own basic rule that "a real essay doesn't take a position and then defend it."

Nonetheless, this "if" is still a pretty huge "if" to build a blog post on, when your blog is as widely-read as Mr. Graham's.

Does Paul Graham even know who this is?

Mr. Graham doesn't give a moment's consideration to this "if." He just graduates it to the status of fact without ever doing anything to justify that leap. So let's dive in for a second. Are the qualities which make someone a great programmer evenly distributed, throughout the entire world?

Some of these qualities probably are evenly distributed throughout the entire world:
  • Intelligence
  • Curiousity
  • A good memory
  • Eagerness to build, analyze, and experiment
While some other relevant qualities probably are not evenly distributed throughout the entire world:
  • Basic familiarity with machines which use electricity
  • The ability to read and write
  • The ability to read and write English
  • The ability to read and write specific machine-oriented dialects of English
  • A general understanding of Boolean logic
  • A precise understanding of the Unix family of operating systems
  • A lifetime of owning expensive machines, and feeling free to break them in order to satisfy some casual curiousity
Remember, the world is actually a very big place, and it's full of people who don't give a fuck about the Internet. There are still many places in Europe where you can hardly even book a hotel online. To be fair, Vietnamese programmer education sounds absolutely fantastic. And programming languages are not entirely a subset of English. But I think it's safe to say that Mr. Graham's 95% number is flat-out ridiculous, and not worth taking seriously for even a moment.

Access to electricity is not evenly distributed, but maybe a truly great programmer will still find a way.

Mr. Graham didn't bother with this question, however. Instead, he said:
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 this "explanation" did not actually have to be "invented," because it's already a proven fact. Google, Apple, and dozens of other tech companies have been caught illegally colluding to drive salaries down.

The illegal wage-fixing scandal Mr. Graham somehow doesn't seem to know about is absurdly well-documented.

If you don't bother to find things out before blogging about them, then you might think that this illegal conspiracy had nothing to do with salaries and was only about being afraid of Steve Jobs.

You would be wrong.

Google's CEO chastizes Google recruiters for driving up salaries.

Mr. Graham apparently somehow missed this incredibly well-documented scandal that everybody was talking about. So, unperturbed by facts, our misguided hero rabbits on:
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.
I'm sure this is true of startups, but it's false of Silicon Valley in general. And, while Mr. Graham's saying that if you want to understand immigration, you should talk to startups, I believe that if you want to understand immigration, you should talk to immigrants.

I worked with a guy one time who worked harder than me, for longer hours, while making less money, because he knew that if our employer got pissed off, they could put him on a plane back to his war-torn home country. He didn't want to go back and get killed. He wanted to get his family into the United States along with him.

I have absolute sympathy for this guy. First, he was a great guy. Plenty of people could have been mad or resentful in a situation like that. His approach to life was to help as many people as he possibly could. He was able to help me, so I was grateful to him, and he had this awesome attitude, so I admired him. Plus he was funny.

My own parents came to the US from another country, and although it was not a war-torn country, I'm a first-generation American, so even in a festival of straw man arguments like Mr. Graham's blog post, you'd have a hard time lumping me in with the "anti-immigration people." I'm very glad that my friend got to come to this country, and I feel like, for him, accepting a slightly lower wage than I got at the same company was not such a bad deal in context — even though he worked much harder than I did, and was much more important to the success of my team, and I feel kinda guilty about that.

However, Mr. Graham's argument, that great programmers get paid the same at startups whether they're American or not, is completely irrelevant in the case of my friend, a very good programmer who was underpaid at a company which was only just barely too large and established to qualify as a startup.

Most imported programmers in Silicon Valley look more like my friend than the startup programmers Mr. Graham is talking about. And even then, the overwhelming majority of immigrant programmers are worse at programming than either my friend or Mr. Graham's examples.

I've certainly encountered exceptionally talented programmers from other countries, but they're rare for the same reason exceptionally talented programmers from America are rare: exceptional talent is rare, by definition. The silliest thing about Mr. Graham's argument is he wants national policy to be optimized for exceptional cases.

It's odd that I have to say this about a venture capitalist, but Mr. Graham should stop asking for government handouts. He's already rich, and it's not the government's job to make it easy to beat the averages.

Back on the subject of startup founders paying top dollar for foreign programmers, Mr. Graham continues:
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.
That is not the only explanation at all. Here's a simpler explanation: they fucked up. Have you ever met a startup founder? Quite a few of them are complete fucking morons. Even some of the successful ones seem batshit insane.

Plenty of startup founders are quite smart, of course. And I'm not saying that bringing in a great programmer from another country can't be a good idea. But Mr. Graham suffers really badly throughout his blog post from a total blindness to the many, many facts and events which undermine his argument, and to say "the only explanation" in that context just begs for a reality check.

People who run startups make mistakes all the time. They're people.

One way startup founders fuck up: failing to recruit the best programmers they can, irrespective of where they're located. Maybe there are not enough great programmers who are willing to live in San Francisco to go around. But startups which hire remote have a much larger talent pool to draw from. If you adopt a modern working style, you might have less hoops to jump through.

One remote worker had this to say on the topic:
I just finished a remote job search. I'm in Los Angeles, and most of the companies I talked to were in SF. I had previously worked remotely for a company in New York (Etsy), and I was honestly really surprised how hostile SF companies were to the idea.

I have been on both sides of remote work, so I totally get that it's not a slam dunk. It works a lot better for companies that have a strong culture established in a home base, and it works a lot better for experienced folks than green college hires. I have shut down the interview process myself when I felt like working remotely wouldn't work out at particular companies.

Even given all of that, I was pretty amazed how quickly some of the conversations got shut down. No remotes, we don't care who you are or what your experience is. I didn't talk to any companies outside of SF that were that quick to say no.

FWIW I landed at [the YC company] Stripe, which in fairness is probably one of the companies pg had in mind when writing his original article.
As a former San Francisco resident, I honestly think this error is inevitable in San Francisco. One of the few ideas which is utterly unacceptable in any discussion among people in the Bay Area – who are normally very open-minded people – is the idea that the Bay might not be the only place in the universe worth living in.

Mind. Blown.

I liked San Francisco, but it's not the only thing out there. London's better for music. Portland's better for open source. Los Angeles is better for street food, attractive single inhabitants, espresso, weather, parking signs, and in some cases even public transportation. (Bay Area public transportation is better if you want to go a long way, but Los Angeles completely wins at simple, local use.) As for New York, don't even get me started.

Plus, as beautiful as San Francisco is, it's packed with people like this:

Imagine you've already got a hangover and you have to deal with some asshole using an iPad app to control his girlfriend's mind.

Back to Mr. Graham:
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.
But not so constrained for talent that they're willing to explore remote work.

Matt Mullenweg pointed out how absurd this was, and I myself took Mr. Graham to task for this on Twitter:

He responded that remote work is only good for building certain types of companies, but I can't find the remark. I think he deleted it, but it's also possible that Twitter search failed me. I won't get into it, beyond saying that I highly doubt anybody's done any actual research which could grant any credibility to that 20th-century attitude at all.

Mr. Graham continues:
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.
Again, this 95% number is ridiculous, and Mr. Graham is starting to get carried away with this whole "born outside the US" thing. He hasn't even substantiated the claim that most great programmers are born outside the US today, and obviously most people who are great at American football are born inside the US. But rather than slow down, Mr. Graham gets stupid nutty:
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.
Brazil's population is smaller than that of the United States. The Brazillian national football (soccer) team is the most successful in the world, and has been so for more than fifty years. There are not a lot of immigrants working in the Brazillian national football team.

Given enough time, I'm sure I could find about 50 more counter-examples, at least. The Swiss watch-making industry is probably made up mostly of Swiss nationals. Enzo Ferrari and Ferruccio Lamborghini were both native Italians. Immigration probably does not explain the French advantage in manufacturing cheese, or the Japanese superiority at making anime, or the exceptional quality of British bondage gear. Thailand completely dominates the field of elephant feces tourism, and the source of their advantage is probably not imported talent.

The coup de grace comes next. Mr. Graham, not content with his extra large bullshit enchilada, demands a colossal side order of what the fuck are you even talking about:
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.
As far as I can tell, his argument is that we have to take action immediately, because conditions could change over the next 50 years. And it would cost politicians nothing to abandon anti-immigration policies, somehow. And nobody will remember Ferguson, or the wars in the Middle East, or the bank bailouts, or Edward Snowden, or climate change, but we'll curse the name of every senator who ever voted against H1 visas.

And somehow, we can find "a few thousand great programmers every year." No, we can't. Mr. Graham flatters himself when he refers to his blog posts as essays, but back in the day, he actually did write essays. One of his best essays argued that identifying great programmers is incredibly difficult, even for other programmers.
It's hard to tell great hackers when you meet them... You also can't tell from their resumes... the only way to judge a hacker is to work with him [or her] on something...

Hackers themselves can't tell how good they are...

If there is a Michael Jordan of hacking, nobody knows, including him [or her].
So we need to import a few thousand exceptional programmers, even though we have no way to identify them in the first place. And language barriers will not make identifying them any harder. And somehow we're going to do this on a yearly basis.

Meanwhile, in reality, Mr. Graham's worst fear came true a long time ago. Most of the best programmers have already collected in one hub, and it's not here, or there, or anywhere. It's called GitHub. It was built as a distributed company around a distributed version control system, and — because Conway's Law works in both directions — it is training every programmer in the world to do distributed work.

Silicon Valley was once the center of the universe for programmers. In a sense, it mostly still is, kinda. But the real center of our universe is no longer a physical location. The real center of our universe is a virtual location which is training us all, every single day, to work remote.

And even GitHub is only barely central. There's Bitbucket and GitLab, and any communication through GitHub is typically supplemented with additional communication through IRC, email, videoconferencing, Slack, Twitter, SMS, and more. The best-case scenario for face-to-face communication in 2015 is that it's how you augment your other channels.

Do we seriously need to explain to a guy with three Ivy League degrees that a decentralized networking technology will have a decentralizing effect on every industry that uses it? Can't we just send him to the Wikipedia page for economics or something?

Some of Mr. Graham's other writing is much better than the nonsense I've dug into here. You can also create a great Paul Graham essay if you take one of his classics, The Python Paradox, load it up in Vim, and run a quick s/Python/remote/g. But if you ever took his arguments on immigration seriously, even for a fraction of a second, then you owe it to yourself to do the following simple exercise.

Make a list of all the programmers who fit these criteria:
  • They created a technology which completely redefined its category.
  • You can't find them living in the Bay Area.
  • You can find them working on GitHub.
Your list will be big, and it will include Linus Torvalds (who lives in Portland), John Carmack (a small town in Texas), David Heinemeier-Hansson (Chicago and/or Barcelona), John Resig, Jeremy Ashkenas, Rich Hickey (all in New York), and many, many others.

Or, for a more amusing list, count the number of YC companies which hire remote, despite Mr. Graham telling me on Twitter that hiring remote isn't appropriate for the type of work YC companies do. I know of at least seven such companies, and I haven't even tried putting it in a search engine.

The alleged Bay Area "talent drought" is only half real. Programming skill is certainly both valuable and rare (although well-managed tech companies are probably rarer, and that might not be a coincidence). But the other half is self-inflicted, because an industry organized around innovation and disruption is clinging to a bafflingly archaic work culture. VCs and founders are shooting themselves in the foot, while the execs at established companies form illegal conspiracies to keep programmer salaries low.

("Low" is a relative term, of course, but housing costs are relative too.)

No thanks.

Let The Other 95% Of Great Programmers In is the worst thing Mr. Graham has ever put on That's why I portrayed him as intoxicated in the dramatic reading. I couldn't think of any other way to reconcile his obvious intelligence with the fact that he wrote that thing.

(Likewise, I used the uniform of a Silicon Valley middle manager as my costume because I don't think Mr. Graham's given one iota of thought to what these words might mean coming from Silicon Valley in general. It's entirely possible he constructed his wretched pile of illogic with some honest mistake at its foundation. But if that "essay" made any real progress in national politics, it would be promoted for incredibly dishonest purposes, by incredibly dishonest people.)

In conclusion:

Dat Footnote Tho

Mr. Graham's post contains a few footnotes. I'm not going to bother with them, except to point out that one footnote includes the hilarious phrase "it should be easy to write legislation." And to quote this bit:
it is dishonest of the anti-immigration people to claim that companies like Google and Facebook are driven by [a desire to drive down salaries]
He says this despite the fact that Google was sued for illegally agreeing not to hire people away from numerous specific companies — which suppressed salaries — in a well-documented case which Google has not contested. The judge rejected Google's $324.5M settlement offer because it was too low.

Again, quoting Eric Schmidt, Google's CEO at the time:
Google is the talk of the valley because we are driving up salaries across the board... We need to get this fixed.
If your CEO tells you that driving salaries up is a problem, what direction might you imagine he prefers?

Mr. Graham's argument equates Google with startups, but calling Google a startup today is like calling Microsoft a startup in 1998. It verges on delusion and it leads to completely ridiculous claims. Graham says "the anti-immigration people" are being "dishonest." But I'm a first-generation American. My parents are immigrants. And I'm pointing out something Google actually DID.

If your argument implies that it is dishonest for people to remind you of facts, your argument is probably flawed.

Speaking as a first-generation American, I'm not against immigration. I'm against indentured servitude. I'm against corporations using fraud and collusion to evade both labor laws and the real market price of programming ability. And I think most American programmers are uncomfortable with H1 visas for the same reasons.

By the way: at the company I work for, Panda Strike, we've hired programmers from France, Argentina, Germany, and India. Some of them live in the US, some of them live in their home countries, some of them have wandered through Australia and Thailand while working for us.

We're certainly aware that programming talent comes from all over the world. And I'm not saying American immigration law is perfect. There are foreign-born programmers we would hire in a heartbeat if their visas didn't make them captives of their current employers.

But we use modern technology and modern development practices, and we recommend you do the same. One easy way to start: let the other 95% of American programmers in. If you're building a company, and you want access to the best possible talent pool, you need to know how to manage remote developers. If you want to learn about that, check out our blog.

My opinions are my own, of course. That was just a shout-out.

Also, a quick note: there are some uncredited photographs in the video. Lost track of the links when I was making it. If they belong to you, sincere apologies, and feel free to email me: