He handwaves away 95% of the problem. I'm all for bringing the best and brightest (regardless of profession) into the US. But that's not what the H1-B program does. He could have said that H1-B is massively broken but he didn't.
Hey Paul Graham - if the qualities that make a great programmer are evenly distributed by age and sex, 20-something male brogrammers will only account for 5% of great programmers! Will you and your VC companies hire women? Will you and your VC companies hire people over 40? (That used to be called experience. And believe me, a 60 year old greybeard asking why you don't just use cron is a greater programmer than 5 javascript rockstar ninjas that spend two weeks building a node.js job scheduler)
He really went full retard. And I say that as someone who supports the "best and brightest" immigrating to the United States. You're not going to find them in the H1-B pool -- of the top 10 H1-B employers, 7 of them are body shops based in India. You do the math.
Anyhow, what makes a great programmer? I'd say doing it out of passion, curiosity, interest, etc. vs doing it for the money is one key factor. Consider open source projects and people who use their spare time to work on something their interested in. I'm not saying all open source programmers are great, but I am saying it's more likely they are great (or will someday become great). And I'm not saying that's the only way to become great. But... I think we can agree that open source programmers aren't equally distributed across the globe by population. And neither are great programmers. And when I think about the great open source programmers, many of them couldn't get hired in Silicon Valley because they're too old (ie, over 35) or don't have 5 years of ruby or node or, quite frankly, don't want to waste their life working on a shitty business idea.
I'll say it: there's not a shortage of programmers, there's a shortage of valid business plans. That's SV's real problem.
You're better off using k to process your data.
Source: we replaced hadoop with k. After a couple weeks of training, I was getting results faster than the high-priced hadoop contractors (most of them worked on the hadoop codebase, had written hadoop books, etc).
There are two ways to write error-free programs; only the third one works.