Hacker News new | comments | show | ask | jobs | submit login
Let the Other 95% of Great Programmers In (paulgraham.com)
434 points by gpoort 1121 days ago | hide | past | web | favorite | 632 comments

All: much of this thread is of low quality, below the standard that Hacker News discussion should adhere to, because it doesn't engage with what pg's essay actually says. It merely uses it as a trigger point for passions about other things, like H1Bs and Infosys. In other words it goes on a generic tangent, and generic tangents are the vectors we most need to avoid if we want discussions that are substantive instead of a handful of always-the-sames.

When I see cases like this, I've been asking: would the Principle of Charity [1] have helped here? The answer is usually yes. In this case, the idea of pg lobbying to flood the market with cheap programming labor is not only demonstrably wrong from the article (which talks about a much smaller order of magnitude and endorses lowering H1B-style quotas), it fails a laugh test for anyone familiar with his arguments in general.

The essay may be wrong, impractical, or impolitic; if you want to criticize it, there are plenty of legit criticisms you could make, starting with: how are we to objectively evaluate who the great programmers are, when it has often been argued (including by a certain essayist) that this can't be measured?

But if you're going to dispute an article—any article—on Hacker News, you have a responsibility to engage with what it really says. The Principle of Charity is the best way I know of to formalize this requirement, and unless someone can make a case for any bad consequences of doing so, we're planning to add it officially to the HN Guidelines in the new year.

1. http://en.wikipedia.org/wiki/Principle_of_charity and http://philosophy.lander.edu/oriental/charity.html

I'm going to strongly disagree with you on one point here. If you use very inflammatory language, you need to accept a degree of responsibility it the discussion veers rapidly off topic.

PG chose to appy the phrase "anti-immigrant" to the people he disagrees with.

Keep in mind, there are people who support high levels of immigration (the US currently takes 1.2+ million immigrants a year), support a path to legalization for people already living here illegally, even support general skilled immigration. They simply don't see evidence for a specific shortage of high tech workers, and, as a result, oppose tinkering with the immigration system in a way designed to specifically increase the percentage of programmers who are immigrants. In my opinion, it's pretty appalling to call people like this "anti-immigrant". They should bristle at the accusation.

Also - the principle of charity is important, but you've got to admit that calling someone "anti-immigrant" is a serious accusation, kind of a smear.

I'm unable to edit the above remark, so I'll have to leave a new comment.

After re-reading the original post, I am obliged to point out that PG does not use the phrase "anti-immigrant" as I claimed, he uses the phrase "anti-immigration people." This was my mistake, and I apologize for the error. Calling someone "anti-immigrant" (directed at a person) is more serious than calling them "anti-immigration" (directed at a policy).

This doesn't change the core of my argument - I still feel the label "anti-immigration people" is an unfair one and harms the level of discourse. But I do want to be clear about this again - PG did not use the phrase "anti-immigrant".

What label would you have used instead?

please see my response to brandonhsiao below.

In his first paragraph:

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?

It sounds to me that the word anti-immigration is simply a word he chose to literally mean "people who disagree with the aforementioned party that we should make immigration easier." It means much the same thing throughout the essay. What word would you suggest instead?

I disagree with a number of things here.

First off, I don't think that I am obliged to come up with a good term as a condition for objecting to a bad term. In other words, I don't think I need to make a good suggestion as a condition for saying that "anti-immigration people" is a very poor choice of phrase.

I also think that your definition of the word anti-immigration isn't reasonable. There are so many ways to be in favor of immigration that don't involve specifically targeting programmers. I don't really agree that technology companies want to make immigration "easier" in some global sense. They want to be able to hire programmers from overseas (I tend to agree with PG that the "good" employers would be just as happy to hire free residents who can change jobs, though the "bad" employers clearly prefer the indentured nature of the visa and the control it gives them over the would-be immigrant). Regardless, tech companies don't necessarily want to make immigration easier for the millions of people living in the US illegally, or for people from traditionally underrepresented regions who have trouble getting a foothold because our system is based on family reunification.

This particular objection is an important one, because the very narrow definition of this phrase carries a whiff of the argument by ambiguity. You defend the term "anti-immigration people" one way (people who see no reason to specifically tinker with the immigration system to increase the percentage of immigrants who are programmers), but then you get to call them "anti-immigration people" knowing full well that you have brought a much broader (and unwarranted) accusation against them.

Why do you need a term or a label? Why not just explain the point of view that you disagree with (making a sincere effort to represent the argument at its strongest), and explain your disagreement?

As the people in question believe that the solution is to train more Americans to be programmers, there are a variety of terms that could be thought of: "pro-trainers," "pro-local labor," etc. Instead, the focus is on what their solution isn't.

I have to disagree. PG's essay was discussing immigration at a very broad level, and as such so are the comments in this thread. You seem to be asserting some definition of "what PG said" that isn't apparent in the essay itself.

The crux of PG's essay was this (taking from what is a sort of his thesis statement):

> American technology companies want the government to make immigration easier because they say they can't find enough programmers in the US... The technology companies are right.

He mentions things like how difficult it is to train programmers, and uses the word "great" in describing said programmers, but overall everything is backing up the blanket statement that "we need to allow more programmers to immigrate" without providing a discussion as to how that should be done.

As such, what you call "genetic tangents" are directly addressing the main point of the essay. H1Bs are the main method through which immigration occurs currently, and one would be remiss to have a macro discussion about immigration without mentioning the H1Bs.

I assume that there has been some sort of discussion or knowledge about PG's stance on the tech immigration, and perhaps even related to this thread, but I would argue that the fault of the imprecise nature of the discussion of this essay lies primarily with the essay itself.

He did say that he was referring to the most exceptional programmers, and that it would be a matter of "a few thousand " a year. That was quite clear to me on the first read that he was not talking about the H1B system.

The article itself is of low quality. Entire sections are based on flimsy assumptions or are just plain false. I'll list a few here:

"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."

A huge portion of the world can't even feed itself let alone educate itself to the high standard of an "exceptional programmer" [1]. If we're in the business of making flimsy assumptions then here's mine: I suspect that the US produces the same amount of "exceptional programmers" as the rest of the world combined.

"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 the US, where they then paid them the same as they'd have paid an American." and "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."

If you can't hire someone at your expected price then maybe you should raise it. Maybe the market price has gone higher than what you perceive it to be. That CEO could find his 30 "10x" engineers in a heartbeat if he offered 300-500k. Its not your god given right to be able to hire x number of employees for the price you hired your previous employees at.

[1] http://www.wfp.org/hunger/stats

In addition if you're going to claim an entire thread is of poor quality, back it up. And while you're looking for examples of poor quality, be sure to use http://en.wikipedia.org/wiki/Principle_of_charity

There are many opportunities to apply the Principle of Charity here. For example, that statement about populations can easily be interpreted to mean simply that great programmers can be born anywhere. That's pretty unobjectionable. (Imagine the kerfuffle if he had claimed anything but that.) And does the literal number "95%" substantively change the argument that there are many great programmers outside the U.S. and that U.S. is ill served by startups not being able to hire them? No it does not. Therefore, by the Principle of Charity, that is not the point we should focus on.

My interest in this thread is not about immigration. It's about how far too many Hacker News comments are uncharitable (in this specialized sense) and how that seems to go along with ill-spiritedness. It's time we all stepped up our game.

> And does the literal number "95%" substantively change the argument...

Given PG used that number in the article's title, and even in its URL, it does seem like it's worth debating. If the number was actually 50% as the parent suggests, then suddenly you have a very different argument.

The interpretations you've suggested go far beyond interpreting PG's argument in the strongest possible terms, running instead to interpreting it as a completely different argument. (Although I suppose that's not very charitable of me).

Obviously anything is unobjectionable if you agree beforehand to disregard any interpretation you could possibly find objectionable.

The interpretations I've suggested are simply the ones that occurred to me as I read the essay.

> If you can't hire someone at your expected price then maybe you should raise it. Maybe the market price has gone higher than what you perceive it to be. That CEO could find his 30 "10x" engineers in a heartbeat if he offered 300-500k. Its not your god given right to be able to hire x number of employees for the price you hired your previous employees at.

It's a zero-sum game. If company X hires all 30 of the best engineers currently looking for a job, company Y cannot. Company Y can offer more in an attempt to lure them, but then Company X will be SOL.

We're talking about macro issues here. We want as many companies as possible to succeed.

It's not a zero-sum game. Increased wages for engineers would encourage more people to become engineers.

Or to remain engineers, or to get BACK into engineering without taking a pay-cut. It would increase the supply of good engineers immediately. But I don't disagree with pg; I think we should hire all the greatest engineers in the world, except for the fact that we cannot identify them.

This. Wall Street is full of near-geniuses who would be doing something more productive if finance companies weren't the ones offering the biggest salaries.

In the long run. IIRC labor supply is a lagging indicator, so in the short run (e.g. 1-2 years) it would be a bit closer to a zero-sum game.

It feels like it's been zero-sum for a very long time.

"It's a zero-sum game. If company X hires all 30 of the best engineers currently looking for a job, company Y cannot. Company Y can offer more in an attempt to lure them, but then Company X will be SOL."

So what? Why is that a problem that needs to be solved?

I'd like to offer a minor correction. We want as many companies that provide positive value to the economy to succeed.

There is a positive (but not r=1) correlation to providing value to the economy and offering higher pay to employees. We (that is to say, software pros) don't want all companies to get as many software workers as they might want, because they wouldn't pay any one of us a decent middle-class wage.

It's not a zero-sum game, and it's not about supply and demand. It's about growth, and hitting a limit on the total wealth generated.

I just explained this here: https://news.ycombinator.com/item?id=8805475

Does the economy exist for society or does society exist for the economy ?

> We're talking about macro issues here. We want as many companies as possible to succeed.

This is a "society exists for the economy" answer to the question. The whole point of the economy is to decide division of resources. If that means you don't get any as a CEO, well then you should just get the same treatment as a person entering your store without money.

Congress is not talking about increasing elite programmer visas (those visas exist, require extraordinary support for the visa, ie. extraordinary pay or extraordinary credentials, so these people are not a problem IF you're willing to pay). They're talking about letting the Indian "consulting"(what they call it)/slavery(what every sane person calls it) do double or triple the amount of work they do now. WIPRO will be the main beneficiary of this.

I find it kind of hard to believe that companies actually complain about this. But from a perspective of "more money for me (NOW), not for you" it makes sense.

From a perspective of maximizing our countries opportunities I would argue it does not (by itself) make sense.

The assusption isn't false (at least not the one you point out) the main assumption to the article is "great programmers are born" this comes from the statement that you can you can reach component programmes but not exceptional ones. The thesis is not about "programmers" it is about "exceptional programmers. It is a fact that less than 5% of the population lives in the US. You have to assume the qualities that make a great programmer are fairly evenly distributed (even if that person never utilises his skill) this is not a thin out false assumption. If you want to attack an assumption, attack the one that says you can't teach great programmers

You are 110% spot on. I really don't like PG using his status to push these pie in the sky numbers to back up his buddies in the valley. We all know that the biggest cost tech companies have are there developers and they would love to put the squeeze on them.

Increasing the availability of any kind of labor (whether ordinary programmers, or "great" programmers) always lowers the price, and if it didn't lower the price, there would be no effect. The startups looking for great programmers could find them if they stole them from Google or Facebook for huge salaries.

The problem with this debate is neither side has the intellectual courage to state their side properly.

The protectionists latch on to the "indentured servitude" issue even though employers would want H-1Bs whether or not they could hold being fired and having to return home over the employees head (and I personally have never seen this happen, I assume it only occurs with the lower tier workers hired by contracting companies, if at all). Protectionists pretend that this is the mechanism through which H-1B's lower wages, even though the real effect is via increasing the supply.

Similarly people like pg say that the issue isn't wages, even though, as I mentioned, the issue can always be expressed in the supply curve of labor, and equilibrium wages.

> Increasing the availability of any kind of labor (whether ordinary programmers, or "great" programmers) always lowers the price, and if it didn't lower the price, there would be no effect.

It turns out that high-wage employees (e.g. software developers) actually benefit from high immigration because of the resulting increase in capital inflows.


Sure, my claims are actually consistent with this result. I was describing a partial equilibrium effect while the paper is describing a general equilibrium effect.

The "issue" in question is the marginal productivity of imported ICT labor. Your generalization about nominal wage effects holds only where an economy faces constant (or diminishing) returns to scale from immigration [1]. This essay argues exactly the opposite, that US government policy should compete to attract people who will increase economic returns to scale.

> ...it's easy to imagine cases where a great programmer might invent things worth 100x or even 1000x an average programmer's salary.

Moreover, there is evidence that even IT workers in identical, commoditized roles are sufficiently more productive in the US than than in India so as to justify an extra $75k per capita in client billings for they US-based workers [2]. PG's essay is not sufficiently described by a rudimentary labor supply curve as you claim.

[1] http://www2.hawaii.edu/~noy/362texts/immigration.pdf p.156, particularly footnote 8

[2] https://www.aeaweb.org/aea/2013conference/program/retrieve.p...

If the comment quality has eroded, is that because the standards are too lax (in which adding a new rule will theoretically fix it), or is it because of an Eternal September-type issue? If it's an Eternal September issue, then you have an enforcement problem: the upvote/downvote system is democratic, so the community would be unable to police itself against the new rule. The obvious solution would be to have people "more equal" than others, but then there's a possibility of groupthink forming and/or resentment against perceived "censorship." These are classic problems of Internet forum governance.

With all due respect to pg, one data point against the idea that it's just the standards being too lax is that this article was posted on Hacker News in the first place. The Hacker News guidelines state that most stories about politics are off-topic unless they are evidence of some interesting new phenomenon. I've never read tech news sites where the H1-B debate wasn't going on (I've been reading since 2001 or so), and based on the mountains of H1-B rhetoric I've read online, the arguments raised in the article are not new.

Strict moderation has managed to make a few subreddits decent to read, and I don't see much resentment there. Usually it's greatly appreciated. It wouldn't work if all subreddits were that way though, I could easily see some sort of resentment building up in that case.

Self-policing, in comparison, will always lead to eternal september above some threshold of user churn. That said, HN has weathered growth reasonably well. If nothing else, the median level of discourse on HN has not gotten much worse than it was years ago. But the mean level of discourse has probably gone down. Just my impressions, I have nothing to back this up of course.

If I had to point to a flaw in pg's argument is that the bay area is running into scaling limits in terms of housing and other things, and no way it could support the 19fold expansion of the programmer population in the bay that pg advocates.

If pg wants to grow his business, he can wait for the west coast democrats and republicans to scale up his town or he can make yco a global brand you may find in Idaho or Nigeria.

Judged on its merits, it is one of PGs poorer essays. And if written by nearly anyone else would have not made the front page or any comments. That there has been discussion on it all has been charitable.

With higher quality content you will see higher quality discussion. I do hope the lack of charity has shown Paul that his thinking, as demonstrated by his writing, on this topic is muddled.

> That there has been discussion on it all has been charitable.

Your use of the word "charitable" is different from what the principle of charity is about. I'm concerned with the latter. One good thing is that the principle applies regardless of whether or not somebody else is following it, so the excuse of but-he-started-it (even if he did start it) doesn't wash.

When people don't care to understand each other and try instead to cast the other's statements in the worst light, discussion becomes intellectually mediocre and emotionally foul. HN has a problem with this, and the principle of charity may be a tonic for it.

This has nothing to do with immigration policy, so I see no reason why everyone on both sides of this (or any) argument shouldn't want to abide by this principle. What reason could there be not to?

> how are we to objectively evaluate who the great programmers are, when it has often been argued (including by a certain essayist) that this can't be measured?

This isn't that hard. Let companies bid for H1-B slots. The more they are willing to pay, the better the programmer.

PG's essay was very high level and conceptual. To actually carry out any sort of policy like this, the realities of H1Bs and Infosys would have to be dealt with. You see them as generic tangents, I see them as counter arguments.

Additionally, many people are questioning the motives of PG. I think that's fine and people are free to respond or downvote. It's no different than people questioning the motives of Larry Ellison after an Oracle announcement. This is healthy.

The Principle of Charity is great, but limiting discussion to the subset of topics of an article severely hampers critical analysis. And I'm concerned that would be the effect of what you're advocating.

Why is it called the Principle of charity? From what I read, it means assuming the best possible interpretation of the argument. But is that "charity"? I would have called it something different.

I assume it comes from a secondary meaning of the word in English, "leniency in judging others", applied here to others' arguments.

The reason we're thinking it may be appropriate for HN, by the way, isn't moral, but intellectual: uncharitable interpretations of others' arguments is all too easy and makes discussion tedious and uncivil.

> But if you're going to dispute an article—any article—on Hacker News, you have a responsibility to engage with what it really says.

Let's look at what this post really states:

> 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.

This is a huge if. Frankly, it is very difficult to make a strong, compelling policy argument on the back of a flimsy, lazy assumption. Yet it is crucial to Graham's position and used to support statements that aim to preemptively rebut arguments critics make ("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").

It is not Graham's responsibility to prove that the backbone of his argument - the 95 to 5 ratio - is reasonably accurate?

> The anti-immigration people have to invent some explanation to account for all the effort technology companies have expended trying to make immigration easier.

The reference to "anti-immigration people" is not only insulting, this statement pretends that those who are not swayed by the arguments of the tech lobby must be "anti-immigration." To the contrary, one can favor immigration reforms that would make it easier for individuals to come to the United States without naively accepting the validity of all arguments tech companies make in support of immigration reforms.

Is it not Graham's responsibility to explain in a compelling fashion why the tech companies Graham says are "right" are indeed right instead of brushing off anybody who doesn't agree as "anti-immigration"?

> We have the potential to ensure that the US remains a technology superpower just by letting in a few thousand great programmers a year.

Even if one is charitable to Graham and is willing to assume that a) the United States is at risk of losing its status as a technology superpower and b) Graham's figure is plausible, he offers no substantive suggestions for how we identify those "few thousand great programmers" and attract them to the United States. In fact, as someone else here pointed out[1], Graham has previously discussed just how difficult it is to recognize the exceptionally talented.

Is it not Graham's responsibility to provide reasonable detail as to how the United States could actually accomplish what he proposes?

It's fair to state that comments here are not always charitable to post authors, but it's also fair to state that many of the authors simply don't make compelling arguments. If authors are disappointed with the criticism they receive, it's just as much their responsibility to make more compelling arguments as it is for critics to give them the benefit of the doubt at every twist and turn.

[1] https://news.ycombinator.com/item?id=8799869

Does his argument work if and only if the ratio is 95 to 5? What if it is 80 to 20 or 66 to 33? Would agree/disagree differently with what he says if the number changed but stayed along the same lines?

The charitable reading about the "qualities that make someone a great programmer" is the raw human potential/talent - obviously it is currently not the case that 95% of great programmers are not from the US, due to various factors. But his point is that, since humans everywhere likely have the same potential ranges, the ratio of US to Non-US programmers is going to trend toward the population ratio as remaining countries are brought up to speed, and we should prepare for that. Wouldn't you agree?

> Is it not Graham's responsibility to provide reasonable detail as to how the United States could actually accomplish what he proposes?

Really, no. He's allowed to talk about this without being irresponsible even if he doesn't outline the implementation of the solution.

Perhaps the essay just doesn't say what it wants to say very effectively.

It starts right out painting people who disagree with its thesis as "anti-immigration".

So no one should be surprised about the quality of conversation that results from that.

Right. From the essay: "But it is dishonest of the anti-immigration people to claim that companies like Google and Facebook are driven by the same motives". "Dishonest", "anti-immigration people", if that's how the "principle of charity" starts off, where do we go from there?

> if that's how the "principle of charity" starts off, where do we go from there?

Assuming your premise is correct, it's easy to see where the principle of charity would have us go from there: by responding to the strongest interpretation of what that sentence might mean. Its substantive point is clearly something about how companies like Facebook and Google have different interests than H1B body shops do.

The principle of charity is inapplicable to an article which begins with a "So, have you stopped beating your wife" type of assertion -- as written, it excludes the possibility that a reasonable disagreeing position could exist, since only "anti-immigrant" and "dishonest" people would hold disagreeing positions.

Thus, it is undeserving of charity and undeserving of HN. Do the moderator's duty and get it out of here.

Let's assume you're right. The principle of charity is then doubly applicable: it would prevent the needle from getting stuck in that low-quality groove.

Charity has limits.

When you're using terms which are very heavily politically and emotionally loaded to label people who disagree with you, you're going to get that sort of response back.

You can't be deliberately uncharitable to people and then say, "But you should be charitable when you respond!"

"Charity" as in the Principle of Charity has a specialized meaning. It isn't about being nice (though we should do that too). It's about keeping discussions substantive. Since that is the raison d'etre of Hacker News threads, I do indeed think we can expect HN commenters to be charitable in this sense.

And for the most part substantive posts get substantive comments.

This just isn't a substantive post. It's full of loaded language, highly questionable assertions, and doubtful anecdotes.

(1) You objected to the term "anti-immigration". If that phrase could be changed to something else that roughly means "oppose immigration" what phrase would you have used?

(2) If a phrase that you suggest is used, would this allow you to focus on the substance of the argument?

It is a classic high school, debate or lunchroom, tactic to make it impossible to argue against a statement. An under-handed debate trick that draws your cognitive response away from debunking the more important points. Chaff.

The best, strongest interpretation of PG's essay merits far less charity than even exists in this thread. There is barely anything of substance in the whole piece, and the parts that are substantive are just so far out of line with the empirical data we have regarding this issue as to be baffling coming from somebody with the cache of PG. If I were not being "charitable" I'd use words like "peurile," "ignorant," "transparent demagoguery," and "thoroughly irrational." In the interest of being charitable, I'd simply describe the essay as being merely a master work on how to write a series of unsubstantiated assertions interleaved with assertions that have already been thoroughly debunked.

This doesn't even touch on the incredibly un-"charitable" opening to PG's essay, on which he explicitly casts opponents or those who might disagree with him as being anti-immigrant. There is no way to "charitably" interpret that sentiment in a positive way. It is purely negative and entirely unworthy of a person claiming to be interested in honest intellectual discussion.

I think you are proving dang's point. Instead of challenging assumptions and conclusions, all you've done is call the post "peurile", "irrational", etc.

I didn't particularly like the use of "anti-immigration people," but there is certainly a way to charitably interpret it. You would interpret it as just so - a phrase he's using to refer to people opposing loosened immigration policies, which unintentionally is a poor choice of words. Rather than uncharitably interpreting it as an an intentional attempt at putting down these people.

so far out of line with the empirical data we have regarding this issue

What is that empirical data? I'm curious, not being snide.

Since you've asked here's some actual data on the issue at question

Some raw data http://www.epi.org/publication/bp359-guestworkers-high-skill...

A good analysis of several data sets with links to raw data http://spectrum.ieee.org/at-work/education/the-stem-crisis-i...

> What is that empirical data? I'm curious, not being snide.

Nearly everything I've read indicates that immigration doesn't really hurt wages, except perhaps those of recent immigrants.

The plainly manipulative, superficial and dishonest argumentation of pg is the root cause of this.

I pretty much stopped reading after:

> where they then paid them the same as they'd have paid an American

pg knows full well that the argument of those who feel immigrant programmers are used as cheap labor is that wages are currently either being artificially depressed, or there is no shortage, or both.

By ignoring that, and using this BS argument, it's quite obvious that he has no interest in an open, honest debate about the matter. This essay, which consist of little more than superficial political propaganda, is certainly not a good starting point for such a debate.

Agree completely.

Similarly, PG pretends that many companies are willing to go to extreme efforts to hire Americans. But I know about a dozen quality programmers who are "stuck" in the Midwest, because companies aren't willing to make them job offers in major tech hubs, even though they're applying to dozens and dozens of companies in San Francisco / Portland / Seattle / etc.

It's pretty clear that while PG's particular startup might not fit this mold (and the people PG typically talks to probably have honest intentions), the vast majority of these companies simply want cheap labor, and are hiding under this mythical "100x programmer" rhetoric to justify it.

"the idea of pg lobbying to flood the market with cheap programming labor is not only demonstrably wrong"

He wants the top programmers in the world to be able to come to the USA. But my suspicion is he has very little concern for your above average, but not great, USA born programmer whose wages are threatened by corporations that exploit and abuse the H1B Visa program.

As an above average, but not great, USA born programmer, I say bring as many programmers as possible to the USA. Great one create can help create the new Google, Uber, etc which than create more jobs. More above average makes software companies more effective over all. There are a ton of horrible "programmers" that are net negatives that bring down the average for a whole IT department.

I don't know if you're making a tongue in cheek argument or not, but currently an enormous portion of the tech immigrants come to America to work as cogs in consulting companies or MegaCorporations.

And there isn't any precise way to pick the people who are going to start the next Google- except for the people who already run successful businesses and therefore have the money and influence to emigrate if they wanted to anyway.

So yes, it'd be cool to have all the Job Creators come to America so we could work in their companies, but I see no evidence that would happen.

I am saying to let everyone in from the best to mediocre.

Who cares if overpaid (compared to other professions) programmers wages are threatened? Are you entitled to make six figures? No, you make six figures because market forces coincidentally put that price on the skill you were lucky enough to land in. Why are you not in the same breath talking about already-depressed McDonalds workers wages? Are you just a better person entitled to a better wage?

By 'market forces' you mean 'employers colluding illegally to keep wages low', perhaps?


No, I meant market forces. Yes, illegal things happen sometimes and perpetrators should be punished and made to make reparations.

Or are you insinuating that all changes in salary are due to illegal collusion? Boy have I got news for you!

> But my suspicion is

The principle of charity would ask you to suspend that suspicion in the absence of clear evidence for it (in which case it would be more than a suspicion).

Hey dang, maybe you should write a critique of pg's post, and how it fails in so many ways with the principle of charity. Just to give this discussion more balance since you've been criticizing other people's responses.

That seems to miss my point, which is not about immigration, but about the quality of discussion on Hacker News.

dang, what can I say, you seem to have missed my point. You're criticizing the way people have responded to pg's post. While that may be valid, you fail to criticize pg's 'quality' of writing, which can also be considered inflammatory. How about a little balance here?

I think that would be a mistake. There's a reason why the Principle of Charity doesn't add "except when you feel provoked". Human bias always sees the other person as having started it, being more inflammatory, etc.—so a principle which said "just do better than the other person" (or, to translate into the present terms, "just don't be as low-quality as you feel the article is") would never get applied at all.

So no, the onus is on all of us to contribute substantively even in response to something we consider unsubstantive. When we can't do that, posting nothing is a fine option.

The reason we're considering adding the Principle of Charity to the HN guidelines is that it gives practical guidance on how to comment substantively, which is what HN has always called for. I'm racking my brains trying to think of why anyone would object to having this rule, and so far haven't found a good reason.

dang, as many others have pointed out very well, pg's post contains "low quality," and in my view inflammatory comments. You refuse to call him out on it, not a peep at all. Instead, you call out others for responding in disagreement. Would you apply the "Principle of Charity" to the remarks of those that you think to be low quality? If not, can you justify why the "Principle of Charity" should not apply to pg but to everyone else who disagrees with him?

You say, "the onus is on all of us to contribute substantively even in response to something we consider unsubstantive." How about the responsibility of the original poster? Is it acceptable to write that way? Can he be legitimately criticized for that? If you don't accept that, then you've created an unfair situation.

(regarding your refusal to criticize pg) "I think that would be a mistake" The real mistake is the way you try to shut down dissent by painting it as "uncharitable" or misguided/mistaken. Can you point out the many examples of "much of this thread is of low quality" ? I don't think you can make that case, because it seems that you disagree with the opinions more than anything else.

Some of the dissenting opinions are passionate. And there is nothing wrong with that. Just look at pg's original post, there is a lot of passion there. I would suggest that you be an adult and understand that there are controversial topics which will cause passionate discussion. It makes no sense to a accuse everyone of being wrong in their interpretation and to scold them as if they're children. Just read the comments and you'll see that a lot of people here have unique knowledge and understanding of the topic. Your point is incorrect, and adds nothing to this very important (and passionate) subject.

What are you really against?

What do you want to see happen?

Common sense tells me that if he cared about the average USA programmer he would promote a more specific policy that would help prevent companies from abusing the H1B Visa program.

Hiring H-1Bs can drive all salaries down, including US programmers working at the same desk. I'd also like to see data regarding programmer age -- do we seek young US and H-1B alike to get cheaper, younger talent?

As an H1-B I can say that I'm paid the local market salary for my skillset. And so is my wife.

When supply goes up price goes down. Logic 101 says that H1-B immigrants lower "the local market salary".

Therefore we shouldn't allow in immigrants? By that logic we should close down our schools too, those new graduates are also lowering salaries.

Another thing that would lower salaries is the movement of the jobs themselves. If companies can't get enough workers here, at affordable salaries, they'll just move to a country that likes immigration, like Canada. In fact, this has already started: http://www.businessweek.com/articles/2014-05-22/vancouver-we...

We already bring in 1,200,000 immigrants per year.

Limiting the number of new graduates is exactly what doctors and engineers have done to keep their wages high.

Only a fool would destroy his own livelihood. VCs would never, ever support a policy that would threaten their oligopoly on the good deals, for example.

Don't be a sucker. No one is looking out for tech workers but ourselves.

P.S. If these companies can successfully relocate to Vancouver it totally torpedoes the VC-sponsored idea that San Francisco is somehow essential. Limiting all the jobs to one city is NOT good for tech workers. Silicon Valley is not a good place to make money because the cost of living is stupid. I would go so far to say that the Silicon Valley anti-density and anti-development culture and government make Silicon Valley a shit place to start a company, and companies should be moving.

I would rather work in Vancouver or San Diego or most any other urban center than get raped by rent-seeking landowners in SV.

Only for fungible types of workers. Programmers, software engineers, data scientists, product managers, designers, etc aren't like farm or construction laborers. These skills aren't commodities.

That's exactly how Google, Facebook, Amazon, Microsoft and most other big companies view software engineers. Engineers go through standard interview process (3-5 technical interviews, 1 behaviour interview) and then companies assume that everyone above the hiring bar can be assigned to pretty much any project at the company. Companies use this process because it works - engineers are mostly fungible.

The above is not true for exceptional talent (Linus Torvalds, John Carmack, etc). I will vote in heartbeat for visas for people with total comp >$300k. If you are truly that valuable, you should be paid more than average Sr. Software Engineer at Google.

Considering how Apple and Google tried to fix the salaries of software engineers to stay low, maybe even that isn't an option in big companies.

That's not how management sees talent like programmers and engineers. Management sees them like another commodity labor resource.

Specifically, they all fall under "Human Resources". While I suspect some issues even for CEOs might fall under HR, I also suspect that large company CEOs may also have unique employment contracts not available to the myriad software engineers at the same company.

What exactly was expected by it? The article consists of anecdotes and fictional numbers to argue and support an agenda which has historically been highly politicized by big tech companies. Perhaps PG doesn't have the same intention as others supporters of immigration but the article sure didn't show it or really bring anything new to the table. Truthfully, Im not sure that the comments are any lower quality than the essay itself.

PG is discussing a way to bring in known exceptional programmers (a very, very small number) which currently does not exist. I remember seeing a highly respected programmer - I think it was Carmack - wishing for a way he could stamp someone's application for citizenship with a mark of extreme approval.

Given that this point is clear in the essay itself and has been going the rounds outside of it, I find the portrayal of PG's point as if it were about a too-large H1B program or immigrants driving wages down to be a distraction.

What depths of poor taste we find ourselves in, to be disagreeing with pg on hn.

Even pg can occasionally come off as an ignoramus, but don't let that convince you of the fallibility of your glorious leader.

Hm, an article from pg I don't really agree with (even if I am benefiting from EU's open labor market).

There are plenty of 'exceptional' programmers out there with not exceptional salaries. Anybody is free to hire one. There are a couple of problems though:

- they're hard to identify - they might be exceptional in one situation and mediocre in another situation. The fact you are doing great at company X and task Y does not guarantee you'll be a rockstar at company W and task Z. - you don't want to pay for them. "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." Well, if they're really exceptional and they worth 100x more than the others then pay them $5M/year and they're going to come to you. I know this won't happen, and the reason for that is exactly the fact that you have no clue how much they're going to worth for you. You could even pay only $500k/y to these excellent guys but no startup does that because they're not sure.

So please let's forget these stories about rockstar programmers and whatever. It's simple: if US could tap the international talent pool without restrictions then labor costs would go down by 50% OR it'd be easier to find good ones quickly at the same price, therefore one of the biggest risk factor in startups would be less of a problem. I completely support this argument, by the way. Don't dilute this debate with 10x (1000x?) programmers and companies who'd hire 30 people tomorrow morning at the market price (??) if they could find them.

*Edit: I have zero problem with downvotes but I'm genuinely interested in counterarguments, so please explain where am I wrong. :)

I agree with you; your second point is a good one. It's easier to increase the size of the pool rather than figure out how to better select within the current pool size; and if your concern is truly just getting "the best", it's cheaper to go abroad than to "steal" proven talent from competitors.

If companies were willing to pay their top engineering talent anywhere close to C-level salaries, they would have no problem finding willing applicants. There is no legit argument for upsizing the H1B program that does not rest heavily on cost.

That said, I am not against the US taking highly-skilled immigrants, even if it does temporarily depress salaries... The only bad things about the current program is the indentured servitude aspect of it... if tech companies were truly interested only in talent they wouldn't lobby to expand the H1B program, but open the borders more in general. But of course giving tech workers that much freedom would mean their expectations and demands would just quickly equilibrate more quickly, reducing the "value".

I also don't completely buy his argument on percentages. Even poor kids in the US have probably had 100X more access to technology than their counterparts abroad. I think early access and exposure to technology is pretty important for developing the intuition that comes in useful when trying to understand how things work and appreciating and recognizing good design. I would guess that the US has a much larger percentage of the world's talented workers than is naively calculated based on population alone. A better measure would have some per capita weighting.

Think of it from the perspective of the countries great engineers emigrate from. They lose the potential for their own economic growth and prosperity, and send their best to be shackled to a company in the US where they need to keep a job or be deported. It is possible, but very hard, to be entrepreneurial in that environment.

But that is an essay and a half of nonsense to get into, about why they need to immigrate in the first place in such large numbers. In the same way monopolies are not healthy in any industry, having all the "great programmers" in the bay area would, I feel, stunt the potential of the industry by creating an insular monoculture.

Paying more will just shuffle around the exceptional programmers who are already in the US. But pg's point is that the US should be trying to attract more exceptional programmers. And the more the better, because they don't just add talent, they multiply it. (That's one thing that makes them "exceptional".) The secret sauce of Silicon Valley is not just the exceptional people, it's that they're all in the same place.

Parent poster has a point that the difficulty of actually identifying the exceptional programmers poses a major problem here. P.G. has actually written about this himself, arguing that great programmers are the only ones who can identify other great programmers, and that they can only do this if they have collaborated with them on actual work.

See the 'Recognition' section in "Great Hackers" essay, http://www.paulgraham.com/gh.html: "So who are the great hackers? How do you know when you meet one? That turns out to be very hard. Even hackers can't tell."

And that another country could attract those 95% and do great things with them. Several European countries are keen to do so, and with access to the EU's pool of citizens it would be a great place to try and a new tech hub from.

Sadly anti-immigration and/or anti-capitalism feelings are also strong in many EU countries which hampers this movement. I wish the UK could make more of our draw.

> Sadly anti-immigration and/or anti-capitalism feelings are also strong in many EU countries which hampers this movement. I wish the UK could make more of our draw.

AFAIK, there's no problem with freedom of movement for employees in the EU, not even to/from the UK. The only issue is wages; London startups pay really shitty salaries (£40-50K). Berlin's aren't much better (lower than London, but in a much cheaper city). It's the exact same problem as in the US - the salaries just aren't high enough to justify moving to and living in an expensive city.

anti-capitalism feelings are also strong in many EU countries


There already is a program to bring in exceptional programmers - the H1-B visa program. The 100,000 people it is bringing in a year is not enough? There are more exceptional programmers out there?

Fixing the H1-B program so that it's harder to game would probably be a great help. H1-B workers also should be given a way to voice complaints or report abuse without fear of repercussions from their host companies.

But not sure that reforming H1-B will be an easy battle to fight. Many of the companies that have large H1-B workforces are also very politically connected and stand to lose a lot of money.

> You could even pay only $500k/y to these excellent guys but no startup does that because they're not sure

In some cases, equity does provide this level of pay. The problem is there is no way to know which startup will get to 100x it's current value, and which one will flame out.

Paul Graham is fighting for his side. I hope any developers here are smart enough to fight for theirs.

He's arguing that the same companies who colluded illegally to drive down the wages of the "best" programmers, now have no interest in lowering their wages when they're arguing for increased immigration. LOL.

Is "your" side US-born developers? I was born outside and was able to immigrate to the US on H1B. For the last few years it is very hard for my friends to do the same. I wish they were given the opportunity. In no way they are inferior to Americans. US became what it is because of openness to immigration. But these days it's easier for engineers to immigrate to Europe or Asia than the US. It may have long-term competitive consequences for the US companies as there is definitely a lot of programming talent outside the US. However if you view this as a zero-sum game with a "they came for our jobs" xenophobic vision, you of course would not care about that.

Why didn't you and your friends found companies in your home country? You do realize many h1b visa programmers, and the ones they want in the future, are just being taken advantage of to drive wages down?

What is wrong with immigrating to Europe / Asia? As an American, if I had many foreign associates that wanted to work for / with me, I would not hesitate to relocate with them to some country that lets us, that would the be US's loss.

But to open the proverbial floodgates is to let entrenched interests win and all the potential startups and growth elsewhere wither and die. It is not like you are going to be founding the next big thing while bound to employment at one of the big three to stay in the country.

> What is wrong with immigrating to Europe / Asia?

You may be right here. I used to think it's better to immigrate to the US, because that's where everyone was immigrating to. I thought I wouldn't find good people elsewhere. But your comment just made me realize I'm not so sure.

> and all the potential startups and growth elsewhere wither and die

All of them, really? Every single one? There's no middle-ground?

> It is not like you are going to be founding the next big thing while bound to employment at one of the big three to stay in the country.

Why did you exclude that as a possibility?

This. How is this not the top comment? The story that it is about talent and not about wages is terribly convenient for an industry that has shown it is willing to flagrantly violate the law to drive down engineer wages.

Because it's incorrect.

Maybe it is about wages for companies that don't understand there's huge variance in productivity of programmers. But it is about talent and not wages for companies that do.

You do have a valid argument that when you increase supply prices drop. But they drop in proportion to the supply. It would be nice if one could estimate the total number of those great programmers, and then calculate what % of the total programmers they are. If they are 50% that would be a problem. But if they are 0.5% (1/100th that), is it still a problem?

It can only be about wages. That's supply and demand. If more people are fighting over fewer programmers, that means they just have to pay more to get them. If pay is not an issue, then you'll get them.

If some companies don't appreciate the variance in programmers, either they have no excellent ones (because they wouldn't be willing to pay the price premium for a trait they can't see), or, more likely, they are lots of undervalued programmers out there you can hire if you can find them and you're willing to pay them more.

I don't see what you're getting at about the number of great programmers.

It's not only about wages. It's also about total wealth generated, which is driven by growth. The issue is you hit a limit.

Any startup eventually hits the limits of the market it operates in. But the point is startups don't get the chance to hit those market limits. The limit they hit first is they can't get great programmers. Their growth is stiffled early on.

Here's an example. Assume a startup is working on only one project and doesn't have a great programmer. Result: they don't get to make some breakthrough that would have increased the wealth of the startup by 100x-1000x. Without generating that wealth, demand decreases. You are still looking for just one great programmer to work on the project and can't start other new projects before you finish the existing one.

But if you didn't limit that growth (if you had a great programmer) there would be increased demand, because then you'd have 100x-1000x more wealth and could start new projects hiring more great programmers. It comes down to growth.

So having great programmers increases demand, not decrease it. The more you have, the more you end up needing.

Until you hit a limit. Once all great programmers who are in the US are snatched up, at any price, then you reached a limit to the amount of wealth that can be generated in the US by great programmers.

We are nowhere near the limit of VC wealth preventing the hiring of great programmers.

In other words, the wealth generated by previous waves of great programmers working on projects is most definitely not the limiting factor here.

Why would more wealth then generate more projects?

It's not more wealth that would generate more projects. It's finishing a previous project that would generate more projects. You don't even get to finish the project without a great programmer so you don't get to start new projects. New projects can depend on older projects.

Generating that wealth serves as proof the project completed, which justifies moving on. It's not merely being handed that wealth by a VC that completes the project because then you didn't generate anything. All you did was transfer wealth between two parties. Having wealth isn't enough to generate new wealth in tech. You also need skill.

What having more wealth would do is help pay for more great programmers but it's neither the driving nor the limiting force. The limiting force is having great programmers. They are the ones who generate new wealth.

So what you said possibly supports the argument that it's not about wages. If there were unlimited great programmers, we might indeed hit a limit on VC wealth. We could be nowhere that limit because there aren't enough great programmers.

My comment above was confusing in that it makes someone think a limit in VC wealth is what makes it prohibitive to hire great programmers. That's not what I meant to say. I meant to say that if you are limited in having great programmers, then the total amount of wealth you can generate is also limited. The US, and any country, would be better off having more great programmers.

The limit you hit is in having great programmers. Lack of great programmers limits growth. Lack of growth limits wealth.

I wish PG revised his essay to make this point.

And lack of pay limits the number of great programmers. So there we are.

Once all great programmers get a job they like they don't switch, even if you have the money to pay them more. They like what they are working on.

If a great programmer is working on the next Google, and you pay them more to work on something boring, they won't switch.

The limit is the total number of great programmers.

Yes, there's a limit. And we're nowhere near it.

And we won't be until the rewards for being a great programmer exceed the rewards for other options.

If it's as crucial as is claimed, increase the rewards. Really simple.

The rewards for being a great programmer already exceed the rewards for other options. Great programmers can clump together and start companies, and be rewarded more than they are offered by existing companies. This could destroy existing companies.

Are you trying to say great programmers don't do that because starting a company that succeeds is hard? And that existing companies try to take advantage of this (and possibly a first mover or other advantages) by not rewarding programmers?

It's not an unreasonable point to make, by the way, which is also an undervalued opportunity. Markets correct themselves. Maybe the only way to be rewarded for the value you generate as a great programmer in the future will require starting a company. I don't know enough to say.

- A related issue: you can't make someone be a great programmer just by rewarding them. Great programers tend to be intrinsically motivated. Which could be an additional opposing force that keeps them from starting companies.

- Another: pg claimed data that say there aren't enough great programmers; you claim there are: can you talk more about your data?

I'm trying to understand the problem better.

pg provided no data, he provided a sketchy anecdote and made an unsupported claim.

The idea of offering more rewards is that people who otherwise go into other fields (which are more rewarding, socially and financially), would then be attracted programming. A percentage of those people will be great programmers.

Grouping great programmers together gives them a tiny, tiny, tiny chance at large rewards. It's a gigantic risk. People aren't stupid. Most go to paths with less risk. The market has corrected itself. It attracts people in a manner appropriate to its risk/reward equation.

The way to reduce that risk is to provide more guaranteed rewards. Which means more compensation. Which means transferring more of that unused capital sitting around in VC accounts to the great programmers. Which means the limiting factor is the capital put into the system.

Absent some big payday from a startup, which is a roll of the dice not in their favor, programmer compensation is low relative to other, much less risky career paths. If the field truly wants to attract the best and brightest, it's got to offer a lot more rewards.

How much of a reward are "great programmers" 71-100 that company needed in pg's example going to get, anyway? How huge a success does the company have to be for someone that far down the line to come out way ahead? You have to offer those taking such a position a lot of up front compensation, or you won't get them.

As far as "great programmers" being intrinsically motivated, that's only true of people who are currently in the field, as the extrinsic motivation isn't really there, is it? So how do we know extrinsic doesn't work? We're not trying it.

It's ludicrous to think we have all the great programmers we could have. There are any number of people who are capable. Any number of highly intelligent, incredibly driven people who could fit the bill. They just go into other fields with better odds of superior rewards.

Want more great programmers, offer better rewards. They will come.

I'm trying to understand what you are saying. I also see holes in some arguments.

1) I agree there's gigantic risk.

If I understood you correctly, you are saying great programmers should have less of the downside of risk with more of its upside.

2) Are you saying great programmers apply to this hot startup in pg's example, pass the interviews, and then refuse the job offer because the compensation offered is too low? If that's what going on, then pg provided something worse than a sketchy anecdote: he lied. He omitted the startup is low-balling candidates it wants to hire. Is this what you are saying?

Or are you saying there are people with the potential of being great programmers who went into other fields because the average compensation of competent (but not great) programmers is low (which may very well be true), and this is the main reason we don't find them?

Also a small correction in "There are any number of people who are capable." It's great programmers we are looking for, not merely capable.

Another in "highly intelligent, incredibly driven people". It's not enough to be highly intelligent and incredibly driven to become a great programmer. You may have aptitude for, but not interest in programming.

3) Is it possible for a great programmer to go into another field? Because if it isn't, maybe the opposite is also true. That you can't take someone from another field and turn them into a great programmer. It's probably as hard for a great programmer to become a great sales person as it is for a great sales person to become a great programmer for example.

4) On the effectiveness of extrinsic motivation of great programmers, we already know extrinsic motivation doesn't work in general. It shouldn't be hard to find research on this. A quick search points to the following. Please correct me if this impression of mine isn't true. I want to find the truth:


You are suggesting extrinsic motivation of great programmers specifically is an exception.

I'm going to simplify this down.

1. I believe the type of person who is capable of being a great programmer has a very large number of career options open to them, most of which don't involve becoming a great programmer.

2. Thus, I believe there is a set of people who could be great programmers who are not actually are great programmers. I believe this set to be fairly large compared to the existing set of great programmers.

3. I believe that a good sized percentage of that set of people could be motivated to become great programmers if the rewards were increased substantially. I believe they have chosen other paths which they believe will be more rewarding. If you want to change the number of great programmers, you need to change that calculation.

My position is fairly straight forward. You can agree or disagree as you wish.

> I hope any developers here are smart enough to fight for theirs.

I'm confused. I'm a developer, originally from the US, who lives in Europe. Is an Indian guy who works as a developer on my side? How about a German woman? Is a guy in Alabama willing to work for cheap on my side? Is someone like PG, whose actions have created a shitload (that's the metric shitload, not the American version) of companies completely on the wrong side? Don't some of those companies create jobs? Coming back to whose side I should be on, should I be on the side of Europeans wanting to move to the US, since I have a bunch of friends here, and they seem like pretty good people who are bright, and hard workers? Or are they on the other side? Or am I, an American taking European jobs, on the wrong side?

Labor can be seen as a scarce resource. If a US developer want to maximize profit he needs to be as scarce as possible.

PG and startup employers are in the reverse situation: they need to commoditize labor as much as possible to maximize their profit (labor can be 80% of the fixed expenses in a IT business).

A developer residing outside US needs to support PG at first so he has access to bigger profit, but once he's in US, he's in the same position as the US developer (he needs to become scarce).

This is basic economic theory.

> Labor can be seen as a scarce resource.

You could, but that's a really limited version of economics that misses the fact that it's not a zero-sum game.

Makes sense, but can you think of an example about how a software developer would benefit for being a commodity worker?

Do you really see that as a risk?

If it happens, do you think it's realistic that it would happen in some countries but not others?

Its already happened in my country. Web developers are hired on minimum wage.

I know a bunch of people in the UK doing web stuff, and none of them are making minimum wage. Far from it.

Junior web development positions outside of London can easily pay 15,000 - 17,000 GBP. This is really low.

Wages for developers on the whole in the UK are far lower than the US.

Depends on location, and seniority.

Paul Graham is representing the startups that he's invested in - not Apple, Google and FB.

The BigCos are already big enough to have international offices to mitigate these immigration issues. A 20 person startup doesn't.

> From the essay: 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.

Eric Schmidt not only illegally colluded in a conspiracy to drive down programmer salaries, his e-mails say things like "this may be illegal so delete this e-mail".

I guess I'm one of those "dishonest" wealth-creating worker bees who read these subpoenaed e-mails where I spin the "dishonest" narrative that I actually believe what Eric Schmidt said about his attempts to secretly and illegally drive down his programmer's salaries.

Trying to keep the wages low of people you know are good is a different issue than trying to hire people from other countries.

Now, BigCos may still want good people they bring from the outside to have low wages, but that doesn't change the fact that they still want to (and can't) bring in good people from the outside.

It's simple supply and demand. You bring in more people, wages drop. Collusion and immigration policy are two tools to achieve the same goal.

The problem with this argument is that Facebook very clearly refused to join the wage fixing scheme, and in fact it was Facebook that was responsible for the collapse of the scheme (by aggressively bidding up wages and poaching Google employees). And Facebook is in favor of looser immigration.

And you can't claim that Facebook now wants to bid down wages - your assertions rely on using a company's past actions as evidence for their future choices.

I really want to believe this, but I'm not sure that I do.

Of course the tech companies want to hire people from overseas; being able to hire someone from India for half the cost but have them live in the US so there's some level of accountability/trust is a no-brainer. Huge new, cheap talent pool.

But, if I'm an entry-level, US-based programmer, what I see are floods of cheap talent, some with questionable skills, coming over to compete for my job.

On the surface it seems as simple as a conflict of interest between employees and the companies that employ them. Supply/demand.

Dig a little deeper and the argument becomes that the top programmers we're bringing over are going to start great companies. That makes sense; part of the reason the United States is so powerful is selection bias: If we create an environment the hardest-working and smartest people in the world want to come to, the end result is a lot of great companies that create enough jobs for everyone. Elon Musk isn't starting Tesla or SpaceX in South Africa (where he's from). So we create an all-star selection of the human race in one country, make laws that are favorable to people coming/staying, and the economy explodes.

What I'm not clear on is what the effect of opening the doors to programmers would be. Would truly great companies be started enough that the entire economy is shored up, or would it just dilute the talent pool to the extent that being a programmer isn't a "special" job you get paid $150,000/year for being decent at? The long-term, macro result of this would be interesting.

I think it's important for all startup founders to realize that non-executive salaries in the U.S. tech industry have been incredibly distorted by the illegal wage fixing practiced over the last 10-15 years.

The wage fixing set an artificial ceiling on programmer salaries. And if it's now stopped, we should expect a major correction over the next 5 years as market wages adjust. I'm hopeful that recent salary increases by large companies are evidence that things are moving in a good direction.

But it will take time to rebuild trust between labor (programmers) and management in the tech industry. I don't think we're there yet, and in the meantime I am cynical about any effort to address hiring difficulties by increasing immigration.

After a certain level (especially in California, especially with two-income households, especially after retroactive Prop 30) any additional raise at the salary level is so minuscule in real money that it's just not worth fighting for.

Now the equity and/or options are a completely different ball game.

What "wage-fixing" are you talking about? Are you referring to the brief period in which a handful of tech companies colluded to tamp down salaries and cross-recruiting? Because that involved only a tiny percentage of the software developers in the US and had no significant impact on the national average salaries. Or has there been broader wage-fixing that you're aware of?

> Are you referring to the brief period in which a handful of tech companies colluded to tamp down salaries and cross-recruiting?

Ignoring for the moment I don't think four years is very "brief" or eight is only a "handful"[1] (and it may actually be even more[2])

It's a bit naive to think this "had no significant impact on the national average salaries" - some of these companies are/were among the largest and most desirable companies in tech, what they do is going to affect the entire industry.

e.g. if you are a hiring manager at a company not involved and are trying to hire someone who is also considering an offer from an involved company the amount you need to offer to be more attractive is less. This brings down the average you pay, which brings down the average you offer. Likewise companies now competing for candidates also receiving offers from you now have an easier time sweetening their offers, and so forth and so on.

[1] https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L...

[2] http://pando.com/2014/03/22/revealed-apple-and-googles-wage-...

What is naive is to assume without evidence that the actions of a handful of companies that employ a tiny percentage of software developers had a significant impact on average salaries nationwide. In the absence of any such evidence, it makes more sense to assume it had little impact, which is what I do. The example you cite is mere speculation, and one could easily speculate about an opposite effect, i.e., companies that would not ordinarily be able to compete with Google et al could offer candidates more than they otherwise would have, that is, they might be inclined to stretch salary offers for star developers rather than shrink them. But, there's no evidence that either thing happened to any significant extent.

The example is hypothetical, but it is not speculation. A candidate [usually] decides to accept an offer or not on a number of factors. As a hiring manager you are unable to change most of these factors (e.g. you cannot change the tech stack, or the company culture, or the location). What you can change (to make your offer more appealing than others a candidate is considering) is the pay.

If you're considering another offer for X, I can make my offer more attractive by exceeding X. The lower X is the less it cost me to exceed it. If some companies (particularly large and desirable ones) are lowering X that will affect far more than "just" the 64,000 members of the class action.

Correct me if i'm wrong, but didn't the wage fixing affect precisely the programmers to which the essay is referring? It may have been a tiny percentage of programmers, but it was the programmers occupying the best positions at the most desirable companies who were specifically targeted.

Here's a related question that I never see addressed: how big of a programmer shortage do you think there would be if salaries were 50% higher? All the talk seems to assume that the makeup of industry is utterly inelastic. Fine, maybe your small company in Cleveland can't go out tomorrow and hire 10 A+ developers, but do people really not believe that if starting salary for an A+ developer was $150k, or whatever, that we might get more high-achievers choosing CSCI majors than pre-med or pre-law?

Nobody could sanely argue that there isn't tons of talent outside the US; and maybe it would be good to bring some of it in. But I have yet to see the argument for why these companies with balance sheets that Switzerland would envy couldn't solve this problem by getting out the checkbook. Yeah, the problem wouldn't go away tomorrow, but I'm not sure that making it go away tomorrow should be the only acceptable solution. Guess what, guys: I can't hire people to come and drywall my office tomorrow at whatever price I feel like paying, either.

Put another way, there's probably a reason we don't hear about the great doctor and lawyer shortage. Not apples to apples, obviously, but maybe it's oranges to grapefruits.

Well, there is a doctor shortage, particularly in the general practitioner space, where salaries are much lower than specialist medicine; likewise, while there's not a shortage of lawyers, oversupply has pushed down wages (and pushed would-be attorneys out of the market), and law school enrollments have fallen appropriately.

Comp-sci salaries are really, really good, to the point that a single experienced developer is single-handedly in the top ten percent of earners; a household with two developers is easily in the top 3-4% of household earners. And a superstar developer can make a hell of a lot more, if you're willing to play the casino economy of startups.

Yes, a b- or law-school grad who went to school in Boston is going to economically outperform their brethren from land-grant schools, but a lot of that has to do with background privilege and the ability to build a relationship graph. (If Harvard excluded the academically-mediocre children of the rich and powerful and admitted solely on merit, nine-tenths of the wealth-generating potential of its diploma would be extinguished.) Your average MBA or JD is lucky to do as well as a senior software developer.

Computer science, like medicine, is hard, while it's easier to tune one's grad school experience for less-rigorous subjects. And we all know that even credentialed programmers often can't pass the FizzBuzz test, while even fewer can speak authoritatively about complex system design and architecture. We could add more bodies to CS curricula, but it's far from clear that robbing from MBA and JD programs would add to the stock of high-quality programmers.

My point was less that we bring in the big guns by poaching them from these other fields, then that we address the issue the way it's traditionally been addressed, which is to let the market take care of it. If these development jobs are really magnificent engines of wealth creation, then pay more to hire for the positions and more qualified people will appear. If, as you point out, there's now a lawyer glut, and now lawyers must roll naked in five dollar bills instead of fifties, then that's a sign the process works.

The idea that developers already make enough money, and so instead of letting the market set prices and the shortages work themselves out, that we should rather blow up the current system because some giant companies would just, you know, really appreciate it -- I can't even finish the sentence.

I would really enjoy paying less money to get my transmission rebuilt or the plumbing in the downstairs bathroom fixed. I would love a glut of massage therapists so that I could get my shoulder worked on for the price of an expensive coffee. I do not, however, suggest we change immigration policy to make my dreams a reality. That seems to be what it comes down to.

You know, I just got around to looking at the current FLC wage tiers for my area, and I have to admit I'm shocked -- I knew "prevailing wage" was a joke, but I didn't realize that it meant H-1Bs could come in at $64K a year for a senior developer, for whatever value of "senior" you get at what's an entry-level wage. It seems to me that a lot of trash H-1Bs could be avoided if we got a senator or rep to introduce the following legislation:

Subclause (II) of section 1182(n)(1)(A)(i) of the Immigration and Nationality Act is amended by inserting "median" before "prevailing wage level".

This would at least prevent companies from using the lowest possible wage tier in the BLS data.

And all those services you keep comparing against, you know, can't be moved outside the USA (I'm not going to china to get a back rub or my transmission rebuilt). And of course, software doesn't work like that at all (I can open a software development office in China with the money I make there; as a bonus, I avoid repatriating the money back into the states for extra taxes).

That's a fair point, but it remains to be seen what the frictions are. I doubt that the domestic software industry has had my welfare particularly in mind all these years up till now, and yet they're all still here, paying what everyone wants us to think is our exorbitant American salaries.

What is the point at which these giants collectively tell us to fuck ourselves and run off to the Chinese nirvana you describe? Is it just north of where we are already, so if we don't get some immigration relief immediately we're all doomed?

Maybe. Or maybe the whole process isn't as clean as you're implying that it is. I do know that for as long as I've been paying attention a standard Republican refrain has been that if we don't lower our taxes to zero then all industries, in their game-theoretic wisdom, will evaporate from our lands. And yet businesses keep failing to migrate en masse to whichever Dakota has no taxes, and Minnesotan industry draws another day's breath.

To reiterate, I'm not saying you're wrong; but the causal chain is considerably more entropic than you or pg are letting on.

It is actually quite economical to make software in the states, one of the reasons being our relatively sane immigration policy. But it wouldn't take much xenophobia to make china look good. America also can't sit on its hands and remain competitive; its a constant battle and we have to continuously adapt and tweek our policies to remain #1.

Disclosure: I'm an American who has worked for Microsoft in Beijing for 7+ years.

So basically you're proposing protectionist policies to limit supply and thus inflate the price of labor (that is, you).

Would you also support similar arguments for say, oh I don't know, taxi or hotel prices in the area where you live so the existing pool of taxi drivers or hotel owners can protect the income they are making?

It may be useful for you to actually read TFA, which (spoiler alert) is not by me saying that we need to screw down the number of people we allow into the country, but is rather by another gentleman who has been stranded someplace unpleasant due to the ill winds of supply and demand, and wants to transform immigration policy until he washes up someplace more suited to his temperament.

Downvotes don't faze me but I find it telling that I don't see an actual reply to my point regarding protectionist policies. If you find yourself instinctively downvoting my comment, please also take a minute to form a coherent reply to it and post it. Why is it ok for the (American) hacker news crowd to demand a legally mandated supply shortage to keep the prices of their labor inflated while it's not ok for (usually much poorer) taxi drivers to demand the same (campaigning against Uber and such)?

I didn't downvote you, but maybe other people did because, as my original reply suggested, you're arguing against a position that nobody was taking. Nobody was talking about eliminating immigration, and not re-legislating immigration policy at the behest of MSFT and GOOG or Paul Graham cannot reasonably be translated as a 'mandated supply shortage.'

"Nobody was talking about eliminating immigration,"

That's a strawman. Eliminating immigration is not the only way to restrict supply of software developers.

"and not re-legislating immigration policy at the behest of..."

The fact that you felt the need to add a couple of other "baddies" after "at the behest of" should be an indicator that the original argument is weak. This entire thread thread is filled with software engineers making the argument that increased supply of software engineers is going to decrease wages. That's exactly what happens in a free market of labor.

As a thought experiment, imagine a world who got a job offer from a US company was free to move to the US and start working. Any situation short of that is a legally mandated labor supply shortage.

"Any situation short of that is a legally mandated labor supply shortage."

Well duh. But again, that's not the point of TFA.

You're clearly eager to advocate that laborers should be free to move about the world and work wherever they want. That's cool, knock yourself out. But it's another thread than this one.

You make a few valid points. But the issue is like always, every one feels their work is the most important occupation in the universe and every one else must just accommodate to whatever the conditions there are.

Even more specifically if there really programmers out there who are best of the best. Making a lot of money would be least of their problems.

> but do people really not believe that if starting salary for an A+ developer was $150k, or whatever, that we might get more high-achievers

First, US is already the third country in list for highest paid programmers, there is not much room to grow.

Second, Companies are in business, not for charity.

Companies are there for profit so if they could hire a beginner programmer for 50k, they should, otherwise they would be out of business and you would be buying everything made in China.

Not much room to grow? Says who? Did I miss the referendum in which the computer science salary cap was enacted into law?

The fact that companies are not charitable institutions is exactly the point. If they want more or better engineers they are welcome to pay salaries that will motivate such people to work for them, much as the petroleum industry is currently doing.

Or they could offshore and you could day dream about your double salary all you want. That is a possibility, wait, it is a reality, already happening.

Then let them carry on. Most of these companies are global in nature already. My naive view of the plea for more foreign tech workers to enter the US is that the majority of those controlling the money just really really really like like in SF and don't want to leave. When there's talk of tech worker shortage, there's not even any really serious effort to look around the US. Nope, the hive mind is in SF, and they'll move heaven and earth before they have to move someplace else.

I'm sure, you understand that equates directly to jobs moving to other countries. Do you prefer to keep jobs in the country or kick them elsewhere?

The US is third? Well jeez, you'd think that a country arguing that they need to attract all the top programmers in the world would at least try and pay the highest in the world to start with.

Well then, that means one of two things:

1. There is, as dictated by the law of supply-and-demand, not an undersupply of good programmers, otherwise good programmers would be in a negotiating position such that they would reject your 50k offer for a 150k offer elsewhere; or

2. The market cannot support this hypothetical company's business model. If my restaurant fails because labor costs leave me overrunning my revenue, few people would argue that is evidence we need immigration reform so I can find cheaper labor.

But unlike a resteraunt, you can open abroad and capture labor resources in other countries. So if programmers get too expensive in the states, or Silicon Valley, relative to the world market, there is a point where you are forced to open an office elsewhere (if not your competition does and eats your lunch). Without immigration, that would happen sooner (rather than the mythical doubling of American programming salaries).

Programmers in the US are already wildly, wildly expensive in the USA relative to the world market, often by an order of magnitude. So, if that's the case, we're already screwed and we're only being saved by some market inefficiency. We should all prepare for the inevitable future where we are doing very well to make 15-20k.

EDIT: http://www.payscale.com/research/IN/Job=Web_Developer/Salary

The maximum on that scale is 530,000 Rs, which is 8000 USD for a web developer. No doubt other countries have even lower salaries.

You cannot hire a good Chinese programmer for 15-20k, so no worries.

Perhaps not, I did not check Chinese salaries, but you can hire good programmers from other countries for less than that.

Ultimately it's a world market for labor at the top end. Barring artificial distortions (immigration/emigration restrictions), people will move to where they can get the best deal; since good Chinese programmers can immigrate to the states, it puts a floor on Chinese salaries, the same is true in India actually.

It is a whole different game for soso programmers. If you want a soso programmer in China, they will be much cheaper in the states, but the bottom is also much lower than one from the states could imagine, and often you just get what you pay for (or worse).

> Barring artificial distortions (immigration/emigration restrictions), people will move to where they can get the best deal;

No, they won't. Many people value staying near home more than they value additional salary. That's especially true for people who'd have to move house thousands of miles into a new culture, but it's true even of people within the US.

There is some of that, but not when wages are a magnitude off. If I can only make $50k in saint Louis and $150k in SF, there is huge pressure to move and start climbing the ladder. The programmer making $20k in Bangalore will move to the Bay area to add an extra zero to the end of their salary if they have the ability.

This mobility checks salary bottoms for those who do want to stay (e.g. for the market I'm in over in China).

There certainly is some pressure, but be careful not to overestimate it. Most programmers are not in Silicon Valley and feel no pressure to be even though they would make much more money. And this isn't even about "great" programmers versus competent programmers.

I'm one of them. If you can excuse my lack of humility, I am a great programmer. I've been described by management and teammembers regularly as a rock star. I could easily make 10x the salary were I to move to SV.

I have zero desire to and I've never felt like I was missing anything. Out of my graduating class, only one guy moved to California - in fact, he's the only guy I know of at all who moved to California. I know at least a dozen "great" programmers who live here quite happily.

Of course the extra money is an incentive and there obviously has been and is an influx of programmers to Silicon Valley and the surrounding area. But the wage impact (in terms of setting floors) of the migration is pretty minimal relative to other effects. That's why there are hundreds of thousands, if not millions, of programmers worldwide, including very close to the full 5% of "great" programmers from those areas, that are working for what you and I would consider garbage wages.

> ut, if I'm an entry-level, US-based programmer, what I see are floods of cheap talent, some with questionable skills, coming over to compete for my job.

I don't understand this dichotomy. Why would companies here go out of their way to hire cheap labor of questionable skill outside the U.S.?? Bad cheap labor is easy to find. Call up a recruiter and say "I need 20 horrible programmers", they're not going to say "oh wow that's a tough one".

Either you think: 1. Outside labor is good and thus I should be scared for my job, BUT those people legitimately deserve to be working here and are net positive for their employers, or 2. Outside workers aren't good and so what difference does it make if they compete with me here? I'm already competing with a saturated market of bad workers and if companies are stupid enough to hire them it'll work itself out -- they're not really competing with me.

>Why would companies here go out of their way to hire cheap labor of questionable skill outside the U.S.??


During my career I've witnessed a stark contrast between different visa holders:

1) Exceptional — the best and brightest from all walks of life. IIT Delhi to NUS Singapore. Hands down amazing folks who consistently outperformed their peers.

2) Cheap(er), mediocre — predominantly H1B holders from India and China. Varying degrees of output and communication skills. Mostly “slow tracked” for promotion and given the lowest salary in a given position’s range.

My perception is that the startup community has generally ignored group #2’s existence. It’s not very surprising when you consider who the top 5 h1b sponsors last year: Infosys, Tata, Wipro, Deloitte, and Accenture[1]. Most startup folk would likely be surprised since we usually associate tech companies -> Google instead of Wipro.

Logically your thinking is spot-on, but I'm not so sure the truth is so black and white. Consider the psychology of an h1b holder from India who has a 7 year wait to get a green card -- how is that person thinking about aggressive career moves? The answer is that they probably aren't.

I bet if you looked at relative rates of employee churn you'd find visa holders stay with employers longer than their counterparts. They are probably also less likely to push for raises / promotions since their negotiating position is somewhat compromised by them needing another employer to transfer this visa to (possible, but very stressful). There is also likely a sense of indebtedness to a company when someone is first sponsored. This is probably the biggest difference when considering the cost of Group #2 vs similarly qualified domestic labor.

Now consider those top 5 h1b sponsors again -- how does their workforce stack up? My intuition says they aren't the best and brightest from group #1 (don't know how to prove or disprove this just my qualitative observation).

What seems to be happening is that we have huge consulting firms sponsoring labor from Group #2 -- and these companies are run by smart folks. They've developing a well-oiled machine for employing a more loyal workforce, at less cost -- and while the quality isn't as high as it could be, it's good enough to make their business model work. This is the exact opposite model of startups (and large, but highly innovative companies like Google) who want to only hire from Group #1.

As a founder I've experienced the Group #1 labor shortage first-hand but I also worked with Group #2 in the industry and both experiences left me leaving a lot to be desired with our current immigration policy. I see both sides of this debate, but from my standpoint everyone is right. The disconnect seems to be that "anti-immigration" camp is fighting against expansion of Group #2 while startups and innovative companies like Google, et al. are fighting to increase visas for Group #1.

What can we do to bridge that communication disconnect?

[1] — http://h1b-visas.findthecompany.com

> since their negotiating position is somewhat compromised by them needing another employer to transfer this visa to (possible, but very stressful). There is also likely a sense of indebtedness to a company when someone is first sponsored.

This is part of the point: this aspect of immigration labor would ironically disappear if it was easier to get into this country. The fact that its hard to get in and get a job is precisely what creates the imbalance of power in negotiation and further leads to a sense of indebtedness.

BTW, this also negatively affects startups. I've been in situations where its difficult to poach someone because of their visa situation (they don't know how easy or hard it is to transfer, they feel indebted, etc etc), and additionally, its way easier for large corporations to go through the paperwork to hire outside talent than a small startup thats just 3 founders. Regulation, as usual, creates all sorts of strange counter-intuitive incentives and imbalances.

If companies could just hire whomever they wanted, then sure, you might be competing directly with someone from india, but you'd also be on a more equal footing because that guy from india would have the same mobility to other jobs that you do, and thus would not be so desirable for his "capturability". Not to mention the fact that whether you like it or not you'll eventually all be competing anyways: at some point it just becomes easier to open offices there and then there's just no job here period.

So how do we implement this as policy? What we can't do is just say anyone can immigrate. We need to find ways to make it easy for exceptional people to live and work here but make it difficult (sliding scale to impossible) for everyone else.

One random idea I was thinking about was regional, industry specific visa committees that would review each application to ensure that we are able to more accurately identify exceptional individuals and filter out the mediocre / low-quality talent.

Allow anyone to immigrate, require they be paid an equal wage as a citizen of similar skill (hard to enforce I know), and then charge the employer a tax on the wage (10%?). This would force employers in any industry to only take people who are at least 10% more valuable to the company. You can change the tax appropriately to get the desired result.

If this was actually the policy fwd.us and PG and the rest of the crew were lobbying for, I think it'd set the world on fire.

I wonder where do you get your data for "hire someone from India for half the cost". Of all the facts thrown around - this is easily verifiable - http://www.h1bwage.com/index.php

If you ignore those employed on hourly basis, a majority of people on H1B are paid quite well. Apart from salary and benefits - add Visa processing fees for their Kids and Spouse as well (which can easily amount to > 30k+)

I think people underestimate how fortunate US is for being top destination of good programmers (and engg. in general). US has tons of companies founded by immigrants - Tesla, Bose, Sun Microsystems, Hotmail, Yahoo to just name a few.

I agree that, something ought to be done so as Services companies (Infosys, Cognizant) have limited access to H1B visa pool and process is fairer to smaller companies.

I'm a dev manager at a prominent employer of software engineers and I did a search for my company at your link. I can't speak for other employers, but it appears that salaries for H1-Bs are ~25% lower than what I know Americans to be making at those same job titles. Half is almost certainly an exaggeration, but to deny that there's an H1-B discount is equally disingenuous.

On the topic of the essay, I worry that Paul is also being disingenuous. The US might only have 5% of the world's population, but we have a much larger percentage of the world's population where children have been exposed to computers from an early age. He's right that exceptional programmers can't really be trained, but that doesn't mean that they aren't made. They're made by being put in an environment where they can explore computing and let a natural creativity/curiosity that they have flourish. I've yet to meet an exceptional programmer that begrudgingly chose to write code for a living.

And that's my problem with the H1-B situation and why I think they've got an overall lower percentage of exceptional programmers. In the US, those who are driven by extrinsic motivators like money don't become programmers. They become salesmen, stockbrokers, lawyers or any of a host of other professions that sacrifice doing something interesting for high compensation. But most of those career paths aren't available to people in poorer countries whereas software engineering is. What I've seen among H1-Bs is a far higher percentage of people who basically hate their job, but do it because it allowed them to come to the US and afford a comfortable lifestyle for their families. I don't blame them for that, but I also don't think that it makes them particularly good developers. Don't get me wrong...I have met quite a few H1-Bs who were drawn to software development from an early age and love doing it in the way that usually results in being an nx developer (anywhere from 1x to 10x), but I just don't see them in the same proportions that I do among American developers.

If Paul can figure out a way to filter in the great developers while filtering out those that are only coming to make money, then I'd be completely behind his plan to let them all in. Somewhat ironically, his plan to let everyone in would somewhat accomplish that at the cost of decimating developer salaries (i.e. if the labor pool is increased and salaries dip accordingly, we'll find out pretty quickly who's only here for the money and which of us would be doing this no matter whether we were paid significantly less.)

> If Paul can figure out a way to filter in the great developers while filtering out those that are only coming to make money

Perhaps the ones that just want to work hard and make other people money, rather than aspire to money of their own could get a great big "I'M A SUCKER" stamp on their foreheads?

Here's patio11 on salary negotiation: http://www.kalzumeus.com/2012/01/23/salary-negotiation/ - should that desire to earn a bit more only apply to people who were born in the right place?


> What I've seen among H1-Bs is a far higher percentage of people who basically hate their job, but do it because it allowed them to come to the US and afford a comfortable lifestyle for their families. I don't blame them for that, but I also don't think that it makes them particularly good developers.

Most people from China, India, etc who immigrate to the U.S., Canada, and Australia/NZ are, in my observational experience, primarily focused on whatever aids the immigration process from an early age, often prompted by their parents. Their secondary focus is the backup plan of rising in the ranks of business, government, or academia in their home country. There is a significant minority of people whose primary focus is on the hierarchy at home, and choosing immigration as a secondary concern happens later on in life, often after marriage, perhaps to someone of the first group. For both groups of people, though, an interest in something geeky like technology, programming, gaming, or whatever comes a distant third. People in China who develop such consuming interests outside of work or forgo higher status jobs to do more interesting work will almost certainly miss out on some crucial step in the arduous immigration process. And of course you won't see many Chinese who totally forgo saving for a car, apartment, spouse, and child to spend all of their time on a geeky interest because their parents simply wouldn't allow it in the one-child culture here.

> If Paul can figure out a way to filter in the great developers while filtering out those that are only coming to make money

Maybe he did. They become founders. They start companies worth 100x - 1000x their annual salary. As you go up the continuum of exceptional performance a great programmer becomes a startup founder.

>If Paul can figure out a way to filter in the great developers while filtering out those that are only coming to make money, then I'd be completely behind his plan to let them all in.

You are implying that all (most) of the American programmers are exceptional. That is not the case. If you have a good team, you had to do it yourself, weed out fakes from real ones, didn't you? The onus is on the company/manager who is hiring to pick the right ones whether they are already on H1 or before company files H1 for them.

> I'm a dev manager at a prominent employer of software engineers

I find it hard to believe. In large companies HR establishes salary levels (usually bands) which are tied to titles or levels within the career ladder. Does your company negotiate each compensation package on a one-off basis?

We have bands, but they can be pretty wide...the top of the band is easily 125% of the bottom. And managers are only limited by the top of the band when extending an offer.

And some of the salaries listed on that site are below band. We also get salaries below band through acquisitions. In those cases, managers aren't really given leeway to get their salaries up to market. We've go a mostly-fixed pool of raises to apportion across our teams. Every year, that's set by executives depending on the company's performance...this past year it was ~4%. Low-level managers can recommend higher for their team, but they need good justification and, at the level of the business unit, raises cannot exceed that value.

Based on what I've seen when extending offers, whereas US citizens sometimes push back on salary or equity, H1-Bs only push back on the INS stuff (they all want EB2s). My guess is a lot of managers will low-ball their offers when they know they can give the candidate an EB2. The more you do this, the more you can increase your headcount or hire more senior developers.

If this is overwhelming behavior, Department of Labor can crack down on the company for not paying the "prevailing" wage. If the offers do tend to be around the bottom of the band, but there's also a good supply of non-immigrant employees working at the bottom of the band then yeah, the company will have an easy argument saying the prevailing wage is closer to the bottom of the band.

> Department of Labor can crack down on the company for not paying the "prevailing" wage.

That is technically true, but effectively impossible. The DoL simply does not pursue H1B abuses. They do not have the political will nor the budget to even look for them.

There is literally zero budget allocated to "prevailing wage" enforcement. That is a deliberate oversight by congress and has been that way for the 20+ years I've been observing the H1B process. To the best of my knowledge the DoL has only twice ever initiated action for H1B prevailing wage violations and in both cases it was the result of a disgruntled employee tipping them off to a series of violations that were so egregious that the political fallout of ignoring them would have gotten senior bureaucrats fired.

You might also want to read up on how classifications are gamed in order to work around even the very minor risk of prevailing wage violations.


The real problem with h1b is that it appears to be primarily used to offshore jobs to other countries. The largest users of h1b visas are firms that bring people to the US for a period of time to get trained, then have them return to their country of origin, offshoring the work (see for example http://www.businessweek.com/stories/2007-02-08/work-visas-ma...)

So, tossing H1B would be a great start at immigration reform. Instead, we should prefer immigrants with educational backgrounds in skills we need, and who have the best chance at assimilation.

Your point can not be emphasized enough.

In 2012, all 10 of the top 10 H1B employers were offshore outsourcing companies. http://www.epi.org/blog/top-10-h1b-guestworker-offshore-outs...

In 2013, 50% of all H1B visas went to offshore outsourcers. http://www.computerworld.com/article/2489146/technology-law-...

It is difficult for me to not say anything disparaging about Graham's analsysis of the problem being just "a handful of consulting firms" when it is actually the primary use of H1B visas.

No, if you want to do that kind of trainee stuff you would just use L1 visas, H3 visas or even the B1 visa if it's a short period. Since H1Bs are on a lottery, and you have to tell people to wait until October anyway, hiring someone in your remote office, having them work on projects and then bringing them over 1 year later on an L1 is pretty close in costs anyway. And you guarantee that the person can come over, vs the 'chance' that H1Bs give you.

Wipro & co are general outsourcing firms themselves that american companies hire. I don't know why they use the h1b vs the L1 visa although.

> The largest users of h1b visas are firms that bring people to the US for a period of time to get trained, then have them return to their country of origin, offshoring the work

Minor detail, but if it's the same employer in both countries, they don't need to apply for H1, L1 would do the trick. It's also not subject to a cap and is much cheaper administratively.

So if companies are using H1 program for foreign employee training, that's a very inefficient practice.

The L1 visa program forbids placing the employee at a third party site as part of a labor arrangement. Thus the L1 visa is not applicable to this sort of "training." I'm sure plenty of L1 employers play fast and loose with that rule because there is essentially no formal enforcement mechanism. Nevertheless, H1B is the official visa for that sort of work.


Correct, when a third-party is involved, it's no longer the same employer in both countries.

So, tossing H1B would be a great start at immigration reform. Instead, we should prefer immigrants with educational backgrounds in skills we need, and who have the best chance at assimilation.

Isn't that basically how Canada and Australia's visa programs work?

But why expand the H1B program vs. a more open immigration policy in general, or removing H1B lock-in restrictions?

So are you claiming that companies are paying an extra 30K for all their H1B employees on top of giving them a salary that exactly matches that of their non H1B peers?

They don't pay that extra $30k per year. That's a relatively sunk cost. If you can pay a $30k premium up front, then pay that employee less over time than the US equivalent AND that employee is locked to that employer, then it's well worth that $30k upfront. Of course we are stipulating that it actually does cost $30k on average, which I haven't seen the data to support (or refute) that.

To me the most interesting way of framing this is in terms of the changes that'll happen to the owners of businesses.

The question of the talent of the new employees is secondary when you realize they will have to move countries in order to be tied to a specific job on penalty of getting their visa revoked.

So suddenly, you create an unlimited class of employees with no bargaining power, and can play them against your native employees. This would be bad enough, but H1B visa holders usually make 20% less than their equivalent American coworkers.

> tied to a specific job on penalty of getting their visa revoked.

This is true if you hire from third world. I am from Northern Europe, and having a visa revoked and going back to my home country would not be a threat to me. I'd just happily move back home, and find a job there.

Most people consider a move to a new apartment in the same city inconvenient.

There are very few people who wouldn't consider being forced to move across continents, while giving up their rights, a highly biasing factor in the pros/cons of any decision they made.

As a result, I can see programmers from Western and Northern Europe, who as of know may consider relocating to the US, change their mind and say "why bother". Any EU citizen will have easier time relocating to London/Berlin - two places in Europe where a lot of tech companies are located.

PG's point is that a lot of people from outside the US (including from Europe) currently would prefer relocating to the US but they have difficulty getting a visa. Long term more and more people would prefer the second best choice that's available to them.

"PG's point is that a lot of people from outside the US (including from Europe) currently would prefer relocating to the US but they have difficulty getting a visa"

No, from my reading of pg's point: Most of the top programmers live outside of the US, so we should make it easier to get them by changing immigration policy.

> Most people consider a move to a new apartment in the same city inconvenient.

This is a good point. But finding out that your employer is so nasty that they use your visa status as a bargaining chip, can be even more inconvenient.

Nearly every company larger than 100 people optimizes for financial outcomes. That's amoral, not evil, don't confuse yourself.

In addition to the cheap & bad / talented founders pools there's also the pool of expensive and talented workers who just want to code. I mean, I wouldn't move to the US to work for half of what you make if I'm doing the same job, right?

> what I see are floods of cheap talent, some with questionable skills, coming over to compete for my job

Let me be the devil's advocate and argue that even that is beneficial at the national policy level.

The alternative to cheap imported labor for a small company would be to hire a local guy, but for any medium to large company the alternative would be to hire a foreign consulting shop, and there are tons of companies working in the niche.

The "cheap" labor in programmer speak is usually around $50-70k salaries, adjusted for specific area, and I would rather have US capture the value of income taxes, sales taxes and other economic activity from that $50-70k than an outfit abroad.

Did you read the essay? You seem to be totally ignoring the point that excellent programmers will be paid well because they are scarce compared to "decent" programmers. The goal is not to import cut-rate talent at cut-rate prices.

Excellent programmers are only paid well if they have a good internal idea of their value and are able to negotiate.

I've known countless great developers with terrible self-esteem and/or total inability to effectively negotiate. Far more, in fact, than the reverse.

The only reasonable way to let more "great programmers" in is to let more of all kinds of programmers in.

Or maybe interview them before hiring? :)

Well, will great programmers line up at the "great programmers" H1B line? Probably not. Will the government screen applicants in order to increase the concentration of "great programmers"? Hah. There are no means available to us to increase the concentration of great programmers in a pool of programmers without great cost, and this inevitably means that in order to get more great programmers, one has to go through more programmers.

Why can't programmers work as contractors from their location before filing for their H1B's? Yes, hiring process has to change. The companies those who have distributed teams have figured this out already.

Exactly. It's strip mining. Destroy the 'environment' with a relatively low yield.

The problem is that it's extremely difficult to identify whether someone will excel at a job just through an interview. Even if someone really impresses everyone during the interview phase, it's totally possible that once they get hired they'll hate whatever you have them do and just do a mediocre job at it.

I'd go so far as to say the CEO mentioned in the story with their 70 "great" programmers who would hire another 30 "great" programmers...

A. Doesn't really have 70 "great" programmers, certainly not 100% of their team. I just don't believe that.

B. Actually needs 100 "great" programmers, and none that are just "good", in order to succeed fabulously.

C. That the CEO in question could accurately and consistently identify greatness in advance of hiring.

Sorry, it's just not a believable situation.

Also, her can hire 30 great programmers in a few months if he pays them rely well. But of course he is not looking to do that.

Well then the interview process seems to be the problem then.

Something some have been saying for decades.

Some are true. If you interview a lot you know most of the interviews are useless to figure out good candidates from mediocre ones.

So the 100,000 we're importing each year are all exceptional? Have we absolutely maxed the yield of that 100k? I don't think so.

Actually, studies have shown that IS the goal. It might not be Paul's goal, personally, but generally speaking it is the goal of immigration policy for tech workers - to make labor cheap.

Yeah, I concur. Basically the gradient in the price of labour between countries is driven up to a point by immigration policies. In the general sense increasing the pool of candidates will lower wages.

I suppose what PG is after is creating a policy of allowing 'black swan standard' programmers of outstanding skill more in to the US using a different mechanism than the current H1B?

I'm pretty sure that already exists in the form of an O-1 visa. However I doubt the vast majority of programmers who get an H1B come close to meeting the standards for an O-1 visa.

So yeah, if you are a really great programmer and the rest of the world knows this, then any employer in the US can help you get an O-1 visa based off of that. If your programming prowess isn't well demonstrated, then yeah, you have to go through other channels.

No it isn't. For great programmers, the O-1 visa is basically a hack that we use to get in the US. It was not intended to be used that way for programmer (you can note that the criteria fits more for profile of a reasonable successful working in entertainment industry, athlete etc.)

You will need to be something like a top 1% programmers, working on things that are semi-public to qualify for the O-1, but any decent (top 25%? I'm pulling number out of my ass) fashion models can probably get in.

If the O-1 is already admitting the top 1%, then we're already closing in on solving the ostensible problem.

At least inside an order of magnitude (1/5) at a naive guess, but probably much closer, in fact, if we run with two assumptions this piece rests on:

(a) The small top portion of a given talent pool have exceptional intrinsic abilities that give them a power-relation advantages over the rest of the pool when it comes to productive enterprise.

(b) Taking a small highest portion of a very large talent pool is going to give you the largest source of power-law productive talent.

If (a) is true, one would assume the top 1% of external programmers is going to be as much better than the next 5% as the top 20% is than the next 80%.

If (b) is true and we're already looking at the worldwide market, the top 1% is already a huge boost to the pool, almost certainly bigger than the number of open jobs on the market (if 5% of the top 1% of the world's smartest are programmers, then that's a number bigger than the ~4 million unfilled positions of any kind in the US). The top 5% is redundant.

It's a bit more nuisance than that. As I mention, I was pulling numbers out of thin air. The main point I was trying to make is that criteria for O1 isn't applicable as a good measurement for hackers. We don't have any award for what we do, and the nature of the work is that there isn't much publicity most of the time (it's even the reverse, people who works on really haRd stuff have to be silence about them). And that's no fault of anyone, we barely know how to judge good and bad programmer ourselves.

Another point to be noted is that if you try to get the top 1%, you might get 1% of that pool (1% of 1%). As many people noted, not everyone want to come to the US. You might as well trying to get all of them

Agreed, the goal is to drive down prices of IT salaries. I find it disingenuous of PG to indicate otherwise since he sits on the side of the table that directly benefits from a cheaper IT labor market.

I have worked at numerous places where they have hired on H1Bs. One of those employers did so because they were looking for good talent no matter where they could find it and H1B holders were paid fairly. Every other employer was doing it because they could pay lower wages and force longer hours on H1B holders since they are in a sort of held-hostage situation. In one case developers were frequently working such long hours that they would just sleep at the office and only go home once or twice a week. This same place was paying their entry to mid developers in the 25K to 35K range and their most senior developers were making less than 50K.

If you are just worried about keeping your salary up, that will go down no matter what, as the talent pool all over the world increases and companies will offshore more work, that not only means less salary but fewer jobs.

Most of those who argue against pg's argument here are concerned about lower salaries, no one is concerned about fewer jobs (because companies will move work offshore), less innovation (new product development moving away).

Creating boundaries and not letting talent in, is just a big downward spiral and if it accelerates to a certain speed it will be too difficult to turn it around. May be not in short term but in couple to few decades.

I agree with you.

Fortunately we already have a system that lets only the exceptional talent in. It's called the "American" Higher Education System, and it's pretty good at bringing the top talent to the U.S. already. Perfect? Of course not. Good enough? I think it is.

Normally I don't hold someone's wealth against them, but on this issue it's hard for me not to be a little prejudicial.

Except talented graduates of the American higher education systems have to leave the country if they don't get selected in the H-1B lottery. Last year, there were 45,000 applicants for the 20,000 advanced degree H-1B cap.

"Fortunately we already have a system that lets only the exceptional talent in. It's called the "American" Higher Education System"

Because, you know, people educated outside the US, like Europe, South Africa or Japan, have not value whatsoever.

It is American E.S who lags behind them. e.g Most educated Europeans need to speak at least 2 to 3 languages fluently.

You also believe Chinese, African and South American will remain in the dark forever.

I have an advice for you: travel the world.

Why would the number of languages you can speak indicate effectiveness of an educational system? Yes, I know the argument about cultural awareness. That won't make you better at building web servers. It might make you better at interacting with people of that culture.

Fundamentally though multiple languages is incredibly wasteful. I'd never propose that English should be a global language - it is such a steaming pile of shit thinking it the best we have is insane - it just has network effects in its favor. Of course, building a language scientifically that uses all enunciable syllables and minimizes word size and maximizes understandability is a major project and getting people to speak it is impossible.

And yes, the non-higher US educational system is colossal garbage, but we know that. We are talking about US higher education, where you pick your courses and rarely are students enrolling to learn two more languages for the fun of it. In that context, millions of students around the world strive to get into US schools, not because the teachers are any better - in my experience, one, individual students are different and learn better in different ways so one scale of "better" or "worse" education is insane, and two, there are diminishing returns on teaching skill such that the difference between the best public school teacher and the best teacher period is probably a fraction of a percent of student performance at worst. The US education system is good because of the business networks the prestigious schools get you into and how almost anyone will hire a US school grad.

Whoa, whoa, calm down. I was talking about immigrants who come to do graduate work in the US.

What I'm not clear on is what the effect of opening the doors to programmers will be.

There would be many effects which would interact with each other. But one thing that is sadly true right now is that for an engineering manager to increase his/her hiring budget there is unlikely to be a significant quality increase. Think about what this means.

If there were more talent, then companies would be able to justify increasing budgets to build/grow a superior team. In this market if you double your budget you just get twice as many mediocre programmers or you end up getting into a bidding war for highly priced talent. Neither is good for the field as a whole.

What you touched at the end is part of a bigger problem, I think - people who write something as inconsequential as a shopping website, or Yet Another Chat App, are not worth $150,000/year. Maybe one out of one-hundred of those folks could use their talent on something that demands a wage like that outside of the absurdity that is the Bay Area. I don't feel the talent pool will be diluted so much as your run-of-the-mill developer won't be expecting a six-figure salary coming out of college anymore.

> something as inconsequential as a shopping website, or Yet Another Chat App

Alright so first off, 150k will give you a comfortable upper middle class lifestyle in SF/SV (assuming you have no dependents, in which case it's just middle class). It's really not the astronomical salary that you seem to be imagining.

Secondly, it is completely impractical to pay people based on the "difficulty" of their work. Difficulty, even if we can agree on a definition, does not correlate with revenue. Revenue is traditionally where salaries come from.

Intuitively, if person X in a team of n people writes an app that produces profit Z, then it would make sense for person X to get something on the order of Z/n -- not 100k because it's just a chat app. This is not actually how it works because of some artificial constraints. I believe the calculation in most cases looks more like pay = 120k + 20k if in expensive city + MIN(.01 * profit, 150k).

> Alright so first off, 150k will give you a comfortable upper middle class lifestyle in SF/SV...It's really not the astronomical salary that you seem to be imagining.

If we're going to say we shouldn't limit ourselves to 5% of workers then perhaps we shouldn't limit ourselves to 5% of the land. There's plenty of places in the country where 150k would be a very comfortable salary.

Also throw in all the college debt they require you to pile on before being hired, not to mention the hours spent studying instead of working. And that it is a cyclical feast or famine industry where it ping pongs between 70 hour weeks of deadline crunches and post-dotcom, post-bank bust periods where no one is hiring. And that the career of many ends at 40. Plus as you mentioned, the San Francisco rents for those requiring you work in the city.

The OP could have made their point more subtly, but I'm not sure either of the points you've made necessarily disagree with the argument they were making

$150k isn't astronomical in San Francisco (because rents have inflated to match the salaries) but startup employees who are prudent and don't have dependents will likely save money faster than comparable roles in most if not all other parts of the world. And a substantial proportion of the companies in the Bay Area don't generate revenue in excess of what they pay their programmers; many never will, even if they are blessed with unusually productive programmers

The potential profitability of a startup is even more difficult to gauge than the difficulty of a programming role, and the fondness of VCs for disbursing their money in the Bay Area is probably more to do with the distribution of potential acquirers than the distribution of productive programmers.

Yes. Over 100,000 H1-B's are coming over every year. This keeps discussing exceptional programmers. You mean we need more than 100,000 exceptional programmers coming over every year? The reality is that the idea that even 10,000 of these people are exceptional programmers is a laugh.

Every year 100,000 H1-Bs can come in. To believe this article, we'd have to pretend that we have a big wall up preventing these dozens or hundreds of exceptional programmers from immigrating to the US, and completely ignore the existence of the H1-B visa and the hundreds of thousands pouring in every year.

So the problem isn't the immigration restriction, it's the lack of screening. Using PG's logic, all of those 100,000 should be 'exceptional' or else we're wasting tens of thousands of visa slots that should be going to the 'exceptional.' And how is 'exceptional' determined? We should let everyone in with the hope that some percentage happens to be exceptional? What about the non exceptional? What would that do to the overall quality of coding if you 'dump' 95,000 unexceptional programmers with the intent of harvesting 5,000 exceptional ones. Is it fair to suggest that the Infosys recruiters aren't hiring 'exceptional' but lower cost? I get recruiter emails all the time; several per day, yet never once have I received an email from Accenture, Infosys or any similar company known for hiring lots or foreign workers. So interesting that their shortage obviously isn't such that they'd resort to bugging me. Of course, maybe my years of experience and companies I worked for would indicate that that I would not be as cheap as the thousands they bring over from India. Nor would I put up with being locked into a position as an effective indentured servant. So many it isn't that there's a shortage of engineers but a shortage of ones that are willing to work under conditions common to those who desire to import more labor. Facebook doesn't necessarily want to hire more imported devs, but an increase of supply would allow them to have a larger talent pool at a lower cost. Of course, this discussion is a bit old school..

With remote working, geography is somewhat irrelevant. Perhaps instead if changing immigration instead PG promoted companies embracing a remote culture -- then you could have the best of the best with minimal beareaucratic entanglements. After all, given that, according to PG, it's about 'exceptional' talent, working remotely shouldn't require the same level of management overhead as would a lower quality dev 'sweatshop.' However the fact that isn't even being discussed makes one believe that this isn't about finding 'exceptional' talent as much as it's about lowering the scarcity of developers willing to work for lower wages than they might have received otherwise.

Under the PG logic, we ought to simply open the floodgates to all people, because inevitably from the multitudes there's bound to be a few geniuses. But, does the cost of those geniuses outweigh the costs to everyone else? Should we strip mine the Rocky Mountains to find an ounce of gold?

I don't know the answer to the question and I am not advocating either way, however when a company like Facebook begins asking for something, I question the motives -- I don't think Facebook has a talent shortage at all, they have a desire to pay less for their inputs. Which is a fair desire; however we shouldn't just blindly allow policy decisions to happen just because some tech 'leaders' ask for it. It is and always has been about the bottom line.

You could do a salary auction, so the people offering the highest salaries get the Visa's. At least that would incentivise the people adding more value rather than less...

Here are the insidious effects of outsourcing and remote workers. Slowly and surely they will take over. Take a look at this and you will understand the dangers of offshoring and remote work. How Dell lost to Asus.


Where did you get the > 100000 H1B's number?

Easy enough to find through the Wikipedia citations.

153,223 visas were issued in 2013, although some of that is to continue the presence of people who were already here in previous years... It's not all new arrivals.

The US State Department, this page has a graph of H1-B visa issuances and links to some of the reports -


The US Citizenship and Immigration Services web page has numbers as well.

What I take away from the HN/Startup/Recruiting drama:

* Companies don't know how find good people (they think they know how to attract them, but honestly, how can they tell? They don't notice the ones they fail to attract, which I'd argue is most people)

* Companies are unable to produce (e.g. educate) good people

* They want to solve their failures by increasing the search space of people

I have no sympathy at all here. If you want good people you have to pick them up early and educate them. A startup however wants great people now, and they are supposed to be a great match by pure chance. This is classic irrational dream-thinking. You have to be pretty proud of yourself to expect all the good things will come to you just like that.

I suggest an alternative (my) approach, I call it the "secret elite ninja clan" approach:

1. Find out what skills are required in your industry.

2. Become a good at teaching these skills.

3. Find a pupil (as motivated as possible, no skills required)

4. Educate that pupil until a) they are as good as you are or better / b) they loose interest and leave you

5. Make money by utilizing the resulting skills. Also test your pupil's new talents.

6. Make pupil a partner if possible, return to step 1.

Also important: If you meet someone, figure out how that person can generate value, don't get cornered by your expectations. Improvise, diversify.

I am currently with my third pupil (first two were not motivated enough) and she seems to have it in her blood. I think if we keep up we can "grow" a pretty good company of really good people in a decade or so. Of course, there won't be a CEO, or a product, just really good hourly rates.

> Companies are unable to produce (e.g. educate) good people

It's really nice to hear someone say this. I've been out of the tech industry for a while (went back to school) and it is hard to put my finger on it but it feels like there is a trend to shift training and mentorship costs from companies to prospective employees. An example: Data science boot camps. Take smart, highly skilled and educated people, pay them nothing for 1-3m to teach them the concrete skills companies are hiring for, and split the cost savings with the company for hires.

You are basically saying that programming is not engineering but a (highly technical) craft and the best way to foster talent in it is to utilize the age old master/apprentice relationship? If so I agree.

Universities do give the necessary theoretical muscles for a lots of things but they surely do not prepare for the craftmanship aspects (beyond informal cultural indoctrination, if any).

I wonder if there could be any feasible structured approach to merge the academic and ninja-craftmanship paths to learning :)

I never really did academia so I wouldn't know. To be honest, I think the age of academia is over. I have more against these institutions than I see value in them. I say get rid of them, we can do better.

Why can't we teach "theoretical muscle" outside of universities? Wait, was the purpose of universities to maintain the state's control of education? Have they been putting thoughts in chains? Kept science away from the masses? I am highly critical... ;)

I suppose one of the values academia has is providing a garden for information from past generations to persist and be understood. The stuff that got invented in the early industrial revolution could have been produced in the antique greece. Or perhaps wollops of it was - we will not know because what passed for academia then were basically a bunch of mystery cults who guarded their insights with murderous zeal (pythagoreans etc).*

In the pre-internet age, without international academia, there would have been no community with whom to share discoveries so they would benefit all. Einstein would have been a historical nobody without people to understand him, etc.

So to me, you will have to suggest other at least somewhat curated and open mechanisms for living information to persist. Perhaps internet and mans curiosity alone is sufficient to provide this but I don't know...

*From what I remember from one popular historical source or another

Academia moves too slow in adapting to innovation, at least in terms of practice oriented fields like engineering. It's well suited to teach and progress theory but horrible in terms of preparing practitioners.

Good point. I think the slowness of the system is one of its inherent values and not flaws just as long as the slowness does not turn into stagnation.

There already is a name for it - the Cravath System, it's the approach taken by the best law firms.


Nice to be validated by a third party. :)

I've done exactly what you've suggested (and I would be confident enough to say I've done it successfully).

However, two flaws with your suggestions: time and risk. Increasing the search space of people eliminates/reduces both of these.

How much time and risk is doing it this way worth?

I will argue that the presented approach is the "right thing" (reap what you sow) and increasing the search space is the "wrong thing" (why should US companies get more than their 5% of programming talent?).

I don't want US companies to have more talent than the US population can produce. I actually consider their requests stealing. It's not theirs to take. If they can't produce their own talent then they should perish by their own merits.

That being said, I don't believe in the 95/5% figure proposed by Graham. I think everybody can be a valuable partner given enough motivation.

I also think that they are not looking for talent but for slaves. It's really just imperialism in disguise.

You touch on why I don't like increased immigration, which is the stealing aspect. The problem is you take prospective entrepreneurs and great developers from other nations and slave them to US companies at threat of deportation. It is hard to be anything but a wage slave in that environment, which is exactly what companies want, and while the outside developers might have a grass is greener effect going on, is really not in their best interests. There are a lot of places to go if your home country is shit, and you can make a much better deal than an h1b.

Perhaps you feel the same way about labor movement within the US? Have you ever moved from one county, or one US state to another for educational or career opportunities? If someone was to move from Virginia to California, would that be a case of California 'stealing'from Virginia? I think it is, in the mechanical sense of virginia loses talent and taxes, and California gains it: surely what matters though, is that the right of humans to engage in the 'pursuit of happiness' should outweigh the right of a state (including nation states) to restrict such movement.

If you accept that idea, you can still argue that the obligations of a nation state are to promote the wellbeing of its own citizens above that of non citizens, but we shouldn't pretend that the barriers we put up are some noble effort to prevent 'stealing' from poor countries: people own the right to their lives and labor, not their state or government of origin.

Someone else can always offer 20% more than you if they use you to train. This may work on the small scale where you build lasting relationships, but on the scale of large companies? You'd rapidly gain a reputation of being a springboard, and not a place people join to do their best work.

20% more of what? How am I used to "train"?

I'd argue we'd gain a reputation of being really good, and that we improve together. That's not something you can buy. It might not be obvious, but while creating a great agency, this also implies creating a great workplace of my own. So if I feel like abandoning ship I know I have to change something.

Also, what's better than building lasting relationships? I'd stay "small scale" awesome anytime over being just another asset of a "large company".

I'd argue that we live in a time where you don't have to be "centralized large" anymore to achieve big things. Rather we should figure out how to do even better with loose organization paradigms.

McKinsey et al have built incredibly successful franchises by being "springboards", and one of their most powerful assets is their alumni network.

Addendum to #3: Motivation is necessary but not sufficient in software development; it is one of the professions that really does have minimum cognitive capability and working memory requirements, which current research shows to be highly nonplastic via education or training. Genes matter.

> current research shows to be highly nonplastic via education or training

I'd be very interested to see what you're referring to. Citation needed.

edit: The only thing I can thing I can think of that you might be referring to is the recent meta-study of the impact of practice on performance:


I don't have access to the full article so I don't know if they looked at programmers specifically. (Anyone?) They found that, depending on the activity, practice accounted for about 0-25% of the performance. (Depending on where programmers fall in that range, if excellent programmers are 1000x more productive, I'd take deliberate practice for 250x, Alex.)

However, the assumption that, if practice as measured in these studies isn't the answer, then talent is, is obviously false. Quoting this response piece by Alfie Kohn:


"That’s not necessarily true, however. The question posed by Macnamara and her colleagues was appropriately open-ended: “We have empirical evidence that deliberate practice, while important, …does not largely account for individual differences in performance. The question now is what else matters.” And there are many possible answers. One is how early in life you were introduced to the activity — which, as the researchers explain, appears to have effects that go beyond how many years of practice you booked. Others include how open you are to collaborating and learning from others, and how much you enjoy the activity."

I recommend the entire article.

Regarding the first article, they discovered 9331 studies that studied the impact of practice on performance, and narrowed it down to 157 studies based on their criteria. The breakdown in terms of genre, number of studies, total number of participants, and % of variance in performance capable of being explained by deliberate practice was:

Music 28 1,259: 21%

Games 11 1,291: 26%

Sports 60 2,633: 18%

Professions 7 321: 1%

Education 51 5631: 4%

So not programmers specifically. I didn't read the paper very thoroughly and examine their methodology (perhaps their criteria were such that they were allowed to cherrypick results), but it seems to me that the professions category seems to suffer from particularly low sample size.

It's important to note that under deliberate practice, they did not include starting age. To explain the other ~80% of variance, they proposed starting age, general intelligence and working memory capacity. Pm me if you would like to see the article.

It looks to me like the solution to the problem is simple. Just have a "high tech visa" with no number limit, but one simple requirement: The company requesting the job needs to be offering something like 150% (or 200% or whatever makes sense) the average salary of the US workforce, or in their state.

This will ensure that the visa will only be offered for skills that are difficult to find in the USA (or the specific State). No problem of driving salaries down.

This is a great suggestion, especially if we accept the authors suggestion that hiring agents are only interested in exceptional foreign programmers, not the merely competent ones.

Also, what's a good ratio of exceptional programmers to competent programmers within an organization? Not all important code needs to be written by a clever architect.

This is essentially how the 457 visa works in Australia. It's uncapped but you have to pay a 'market salary rate', which is either the salary of an equivalent worker in the firm, or of an equivalent worker In the industry.

The problem with what you mention about Australia is regression to the mean. 'Market salary rate' means average salary, which is not what a great programmer is worth.

What danmaz74 suggested is better.

BTW, this is how H1B works as well. Employer should pay at least prevailing wage, to make a foreigner eligible.

Interesting... but how do they determine the salary of an "equivalent worker"?

Actually, the state should also be irrelevant. Because if you can't find a programmer in your state then there's the rest of the country. The 150% idea is great -- it would create an incentive to only try to hire the exceptional, which is what PG wants right? I'm unconvinced; it feels like this is just a tech leader attempting to lower the cost of labor as opposed to increasing the quality -- otherwise he'd be promoting maximizing the quality of the 100k already coming in as opposed to increasing tr raw number of entrants. The only benefit to increasing supply is to lower wages. "Finding the exceptional" is a Trojan horse for lowering costs. As I've mentioned before, he's advocating a strip mining approach as opposed to a more surgical improvement in the quality of imports. Perhaps another means is to have a fixed number of visas as we do now, but auction them off to companies. The sweatshop companies wouldn't benefit because it would cost more than it saves and the other companies would then be far more selective, thus increasing the percentages on finding that 'exceptional' developer unicorn everyone seems to be chasing. I don't have the right answer, but I'm certain it isn't "let more people in and hope the 5% are among them."

an excellent suggestion, also possibly a bidding process... but I'm sure none of the US tech companies will champion this option because there is already room to do this unofficially within the current program... 50,000+ yearly visas gives a lot of overhead above just seeking "truly exceptional" talent.

Big tech companies can play the lottery, smaller ones can't.

And I don't see any need for a bidding process, which implies a fixed quota, a fixed closing date for the bidding, and a lot of uncertainty.

Just require the salary to be high enough to show you really need the skill, not to cut costs, and have a process with a guaranteed timing and outcome.

Anyone have a counter argument to this? This seems like an absolutely fantastic idea.

As a startup founder- done, sign me up!

Here are the H1B Top Ten visa sponsors: 1 Infosys 32,379 $76,494 2 Tata Consultancy Services 8,785 $66,113 3 Wipro 6,733 $69,953 4 Deloitte Consulting 6,165 $98,980 5 Ibm 5,839 $87,789 6 Accenture 5,099 $70,878 7 Larsen & Toubro Infotech 4,380 $59,933 8 Microsoft 3,911 $113,408 9 Hcl America 3,012 $81,376 10 Satyam Computer Services 2,249 $73,374

How many of those are America's top tech companies who are in dire need of foreign engineers? The Top 3 by far are Indian outsourcing, sorry, 'consulting' companies.


This is recognized as a problem, and is an issue that immigration reforms attempt to address.

Every company ends up competing on "H1B lottery" with large body shops. So a startup with 1-2 application has very little chance of making it through compared to others with lot more lottery tickets.

I will also point out a closely related issue. The craziness that full 100% quota of the H1B visas for the year gets disbursed on one day in the year (practically speaking, on April 1. Though full approval process takes a few months). This makes it hard for a startup that wants to hire someone in December, but has to wait 4 months to apply (April 1), and 8 months for the new hire to actually start working (Oct 1).

And therefore, there is a need for a reform here of the current regulations.

By all means, write to your elected representatives to cut down on importation of cut-rate programmers. But know that this doesn't disprove Paul Graham's point. He is against the importation of cut-rate programmers too (see his footnote [2]). He is only for the importation of top-notch programmers.

And how do you identify a 'top-notch' programmer as a government organization dealing with visas? Seriously. I'd argue 95% of hiring managers in SV can't identify a top programmer.

The problem could be solved easily if H1-Bs could only be given to companies registered and headquartered in the USA. That would get rid of the Wipros and Infosyses etc.

That would also get rid of most foreign countries from operating in the states, since they couldn't get visas for management, trainers, or whatever. Maybe you just meant Indian companies?

Fair enough. What you could do is to split the 55,000 visas into 50,000 for US entities hiring foreigners. Then you could have a separate 5000 H1-Bs for foreign companies operating in the US. None of the latter would ACTUALLY be able to hire a single person realistically, because Wipro/Infosys etc would just grab those 5000 completely. But at least the other 50,000 would go towards startups and the Googles/Facebooks/etc of the world hiring foreign talents.

The problem is, if we did that, the rest of the world would retaliate, and the USA sells more abroad than at home (we are a net exporter of technology); we still wind up screwing ourselves and losing jobs in the process.

The H1-B visa IS supposed to be for top-notch programmers. That's what it exists for.

You're refuting an argument the essay not only doesn't make, but explicitly disowns.

This says it all.

This concept of a "great programmer" is something I find very suspicious.

A competently trained engineer who works with distributed systems may implement a trivial fix and save her company tens of thousands of dollars in AWS bills.

Someone with a strong background in programming languages might implement a PHP -> C++ cross-compiler and double the throughput of her company's web servers.

The capability to recognize these improvements does not require some inborn spark of genius. Rather, it requires the prerequisite experience in some programming sub-field. Experience which can be learned.

Moments of rare insight do happen - "hey what if we cross-compile all this crappy PHP to C++?" - but these are a matter of random chance: get enough folks with programming language expertise working on a strictly PHP codebase and eventually someone will have the idea.

The "born programmer" is a myth. A great programmer is often a person with a high level of training in some particular sub-fields, and/or, a person who is very savvy regarding the craft of building software (i.e. "The Pragmatic Programmer").

This is not about being "born". I personally don't care how somebody got his skill. I really care about three things:

1. the speed with he/she learns new skills/knowledge/points. 2. the depth of knowledge he/she is able to acquire. 3. how much he/she has learned in his/her career.

1. This first measure is important, because in a startup the situation can change drastically and you have to have a team that can adapt. 2. The deeper he/she can dig the broader is the set of problems they can solve. 3. The third measure also plays a large role, because while you can have some body that is really bright and has "the skills" - but if they don't use them over time efficiently enough, their strength in the first two skills won't carry them far.

i.e. personally I would measure the value of a developer has a product of the three factors - they amplify each other.

I think your criteria sound very fair. I would be curious to know how many generalists - which is what you seem to be describing - are able to produce the kind of 1000x returns that PG was describing though. Perhaps your definition of a great programmer is simply more reasonable and accessible?

I believe 1000x is likely a combination of luck and a bunch of pre-conditions. Something like this: 1. you got a 10x-person or a bunch of 2x-5x ppl. 2. your organisation doesn't drag down this constellation; but actually supports it. 3. the right problem arrives and the right tools are close to be at the needed level; but before it's obvious to anybody but a few.

A note regarding the "right" problem. I believe there are a lot of problems that a "10"x won't achieve his/her true potential "10"x speed. I think the "right" problem is more like a problem that matches the skills of the tea very well. The match might not be that obvious.


This is a very important distinction that a lot of people don't seem to make: you have the language, but you also have the domain. Someone who is skilled in front-end web development is not necessarily knowledgeable in, let's say, digital signal processing, so it's a safe bet that they won't be writing the next FFmpeg.

If someone told you that by merely learning Chinese, you'd be able to give out lectures on fluid mechanics in the language, that would rightfully be a laughable statement. Yet it seems to be a common belief in tech circles that if we teach kids to write some JavaScript, great things will happen and people become technically literate just like that.

I agree. There is all this amazing programmer talent all over then world and it's not about training, but then everyone is trying to recruit the kids from MIT and Stanford?

> and eventually someone will have the idea.

Having read the HipHop paper, I am pretty sure that most people would not have been able to contribute meaningfully to that type of revolutionary project. Execution is everything.

What advances in computer science were necessary for HipHop? It's a bog-standard JIT system of the kind we'd been building for years. Sure, it's well-executed, but it's hardly a "revolutionary project" to those who weren't born yesterday.

Ok, fair enough. HipHop was not the first JIT. I'd like to hear your opinion on MapReduce.

More interesting is fundamental database progress like the work Google's done on F1. Now _that_'s an advancement in the state of the art.

@wallflower xargs?

>I am pretty sure that most people would not have been able to contribute meaningfully to that type of revolutionary project.

I agree with you totally. Didn't a lifetime of learning lead to that achievement though? The concept of cross compilation between languages had been around for some time prior to HipHop.

They developed their knowledge and executed on it; but other people could, and would, have made the same connection under similar circumstances. They were experts with a specific set of skills. Not just born to be "great programmers."

We already have visas specifically targeted at letting in exceptional talent: the O (temporary) and E (permanent) series. Of course, the tech industry lobbying is not generally speaking around those visas, but rather H1-B. So I don't think it is entirely correct to assert that industry wants more "genius visa" types, they want more journeymen (gender-neutral; the kind of staff that are competent but not exceptional, or else they would be here on an E-series). Why ever would they spend lobbying dollars unless there was an expectation that spending $X on Congress today will save them $Y (Y > X) in wages in the future?

Don't get me wrong, I've greatly valued the talented non-US folks I've had on my teams over the years. But I'd rather we gave them an easy path to citizenship if they want to be here rather than giving more of them the opportunity to be borderline indentured servants. Then they could fully enjoy the benefits of the society they're contributing to, including labor flexibility and the ability to bargain for a fair market wage. I'm sure the free-market enthusiasts running large tech companies or venture capital firms love that idea.

The allocation of visas for exceptional talent is surprisingly skewed. Only about 6% of 1 Million green cards issued each year are issued to people who are here for their skills. Rest goes to family based immigration.

This specially hurts engineers on H1B from India and China the most, because of per country limits, they have to wait for close to a decade. e.g., someone from India, who qualifies for the definition of "Exceptional" for EB2 bucket, should have applied in 2005 to get visa this month.

The problem with employment based 2nd and 3rd priority are the per country quotas, especially for people that count against the Indian quote. The EB2 quota is currently in 2005 for Indians.

As for EB1 (alien of extraordinary ability), it isn't a terrible good fit for programmers. The rules require an alien to meet 3 of 10 categories, but many of them are either wholly inapplicable to the industry, or only cover a narrow subset of it.

The O visa for all practical purposes is impossible to get. It can take years to get an EB visa. Most talented/skilled workers come here on an H1 or L1, and eventually get permanent residency via the EB visa.

For a company that's hiring and unable to find good programmers, the H1 is really the only visa available to them.

No they're not. You have to higher a lawyer and spend some money, but my dad got one coming from Canada and he was a middle manager at best (at the time).

It's become more difficult.

H1B does offer a path to citizenship, and I've never known an H1B not to at least get a greencard (some choose not to take the next citizenship step for good reasons). Contrast this to my Chinese working visa, which has no path to being a citizen (not that I would want that being a U.S. citizen).

> Why ever would they spend lobbying dollars unless there was an expectation that spending $X on Congress today will save them $Y (Y > X) in wages in the future?

Because those X lobbying dollars could make it possible for them to get people that allow them to create things that are much more valuable than $X (after subtracting wages) that they wouldn't have been able to create otherwise.

There exists no practical, reliable method to identify the "great" programmers from the rest (other than by employing them or working with them over a significant amount of time). Many of them interview poorly. If you could actually identify these people, you'd have a billion dollar idea.

So that implies that in order to grant entry to the "great" programmers, the door needs to be wide open to everyone. I'm not saying that's a bad thing, but it doesn't appear to be addressed by PG.

FWIW, truly exceptional programmers can always be hired under things like the O-1 visa (unless tech isn't included in "sciences" or "business"). I assume that they mean people like Linus or Bill Joy when they mean "great programmers", not somebody who can sling Javascript 20 hours a day...

Or, are all the companies looking for these rockstars looking to help them immigrate to the US, rather than spend a few years solving problems? Cuz I think they're not...

You could, for example, grant entry to programmers whose sponsors would be willing to pay very high salaries for them. Sure, you end up with false negatives (there are some great programmers who for some reason wouldn't be able to command those salaries), but hopefully it's not high enough to matter.

Eg: 5% of great developers are in the US and 95% are outside. Assuming we have a false negative rate of 50% (a great programmer has a 50% chance of not being recognized as one), the policy would potentially let 47.5% of great developers in, which would potentially increase the number of great developers in the US by about 10x. The actual increase will be lower because not all of them will want to work in the US.

I bring up this point everytime the debate comes up. The talent war is real. The immigration problem is real. But I have yet to see anyone (myself included) present a valid solution.

agreed, imagine how many great programmers could be made instead of bought & traded?

If you put all the engineers at Facebook, Apple, Google into a typically-sized college football stadium, they would barely fill it. The new digital economy is not inclusive for everyone, most everyone who does not produce technology is a spectator (e.g. walking down the street swiping their phone, sitting in a bar swiping their phone v. writing apps or infrastructure software).

The reality is that the Apple/Google/Facebook level (and aspiring) companies want the H1B limit raised so that they can attract the best in the world. However, there are companies with profit-based motives. Infosys, Wipro et al. extensively abuse the H1B system and create a system of indentured servitude for, mostly, the non-Apples of the world. The companies that aren't shining stars - but like most other companies need software maintained and built to sustain their business.

Not every talented non-US Facebook employee wants to live in their home country. In some cases, the home country has rampant inflation/unemployment/bad schools/crime. America is still very much the land of opportunity, despite its flaws.

Consulting agencies almost always reach a point where they can't maintain quality and simultaneously pursue greater revenues (because they can't hire enough good people). What usually happens, sadly, is that the revenues take precedence and they start diluting the overall work quality.

You still can't beat the power of face to face human interaction unless you build something like The Matrix - where every one inside it is a hologram.

IMHO the real issue isn't that they many companies can't find great programmers, its that they only want great programmers who live in their locality.

For many (most?) startups in the valley, if you aren't living in the greater SFO area, or willing to relocate there, they are not interested.

They are dinosaurs living in the past, fighting distributed collaboration. (Which is ironic as they are technology companies). Importing people from overseas to the bay area is actually the hard way of solving the problem.

From first hand XP, I can tell you going distributed has made hiring top notch talent 10x easier. And if I hire someone overseas, they don't have to move...

Again, IMHO all the excuses like "culture" are bullshit, if your culture depends on holding hands as a group every day, your company culture is already fatally weak.

Warning, anecdotal data ahead: I would not want to work under remote conditions again. In my career I have worked mainly under "startup conditions". At Apple on iPhone, everyone lived in the same place and worked non stop on the product, same as when I left to start a company. On my second company, I had many remote workers. The reality I experienced is that there was at least a 2-3x slowdown. When people are on different time zones, what used to take 5 minutes can become a 1 day turnaround through email and waiting for the other person to be up. Perhaps it works under certain scales, but when you're trying to be nimble it's just one more needlessly complex factor. What ended up happening is everyone got on a in between sleep schedule which was pretty bad for everyone's outside of work life.

Both working in and managing distributed teams is a skill that needs to be learned and homed. In comparison to my experiences, it seems like the distributed team you worked on was highly dysfunctional. I think I distributed startup spanning more the a handful of adjacent timezones is probably a mistake. Task assignment need to be done in a way that is cognizant of the people/timezone interdependencies. Even a non-startup might find it useful to break the various teams up by clusters of close timezones so that the regular work-flows don't experience this kind of lag.

How different are the time zones?

What frustrates me about remote workers is they cluster around eastern europe or india/china with main offices in the USA. They're all hugely different time zones.

I think remote workers who are in the same time zone area as the main office, say north or south america, might work better. But I don't know because I haven't had a chance to work on that kind of team.

I'm not sure when you worked remotely but I can tell you remote work in 2014 is much much different. First off, using email internally for communication makes no sense. If you're a truly distributed team[1] you use teamspeak, or hangouts, or slack, or IRC, or anything other than email.

Second there are no radically different timezones within the US. If you're on the east coast you work most days from 10 - 6, if you're on the west coast you work most days from 7 - 3.

Third if you're working on something pressing with your distributed team you schedule some time together to work later. If you're on the east coast you may have some nights during a sprint where you're wrapping up at 9pm or 10pm.

Fourth no matter where your team is located if you have members in different US (or even international) timezones you want at least 4 hours during the day spent together (employees are really only performing at the top of their game for a fraction of the day anyway [2]).

[1] A truly distributed team is one that supports remote workers via communication and culture as much as they do their local employees.

[2] http://cs.stanford.edu/people/eroberts/cs201/projects/crunch...

Continue to downvote me but please at least reply with a comment as to why you disagree.

I'm currently working at a place that produces 30,000 euro machines. It's pretty handy to be in the same place as the other developers, so they don't have to ship everyone their own 30,000 euro machine to work with. And that's just the developers; if there's a problem with the motors or other bits and pieces, that's another department that needs to be called in to have a look. Not very convenient if everyone lives in different places.

Hardware is certainly not the use case for remote workers, but your average Facebook news feed developer doesn't have those same requirements.

I've always said that my lack of desire to play ping pong or sit in the office beanbag chair has no relevance to my ability to deliver value. "Culture" isn't ping pong and a beer fridge; unfortunately many companies in the startup world think that it is.

How is it that every time someone makes this argument, they do it in such a superficial, arrogant and ignorant way that makes me not want to work with them, remotely or otherwise?

The bandwidth of personal IRL interaction adds enormous value. Yes, in many scenario's that value is not strictly necessary, or can be compensated.

But if you think it's bullshit, or something for "dinosaurs", you have a serious problem. Not just as a programmer, but as a human being.

>The bandwidth of personal IRL interaction adds enormous value.... But if you think it's bullshit, or something for "dinosaurs", you have a serious problem. Not just as a programmer, but as a human being.

To be fair I never said real-life face time lacked value. I think periodic group meet-ups are helpful and need to happen. I think you were reading words I never wrote. I think ideally a distributed teams do need to have retreats together. (This is a "like milkshakes, but do I need one everyday for lunch" kind of thing IMHO)

>How is it that every time someone makes this argument, they do it in such a superficial, arrogant and ignorant way

I was addressing the authors point that: the way to to address this "scarcity" is by importing people from over seas into a few major metro areas. My point is if there are many domestic (or foreign) resources outside of said metro areas there isn't really more then a self-imposed scarcity.

>you have a serious problem. Not just as a programmer, but as a human being.

I was sharing an opinion-- I am totally OK with you disagreeing with it, that is fine, but that above response was beyond rude, it was personal and cruel.

How about Silicon Valley first working on actually optimizing the use of the current labor pool by letting in the REAL other 95% of programmers meaning ...

- Anyone over 40

- Anyone who doesn't fit the profile of a 25 year old white male

Until this happens in any real manner, these sort of pleas are just politics as usual for economic gain.

This is very true. Our industry has cultural issues that need to be fixed to unlock the potential out of those people who are already in this country.

PG may have a valid point down the line, but it is really not near the top of the pressing causes of labor shortage of the exceptional.

Yes, the truth is it doesn't matter how many women, ethnic minorities etc you hire, if they are all 20-something graduates of the same 10 CS programmes.

>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.

This assumption is repeated throughout the essay, but I'm not particularly convinced it's true. Why would the qualities be evenly distributed between first world countries such as the US where programming is respected and well paid vs failed states like Nigeria or the war-torn Congo?

There's also the assumption that all these companies have a burning need for exceptional talent, which is nonsense. Most companies are not doing anything exceptional, and there'd be no reason to pay exceptional programmer wages when you could pay competent programmer wages.

99% of startups do not need someone to "invent things an ordinary programmer would never even think of." They need someone to write bog-standard uninteresting[1] Javascript/RoR/whatever for their webapp which, to be sure, might be making our lives better but isn't doing anything technically special.

To me the "handful" of consulting firms he mentions is massively downplayed. Most H1Bs, however talented, are being sucked up by those firms or by firms engaging in similar strategies, not startups. PG's goal would be just as well accomplished by focusing on the crackdown than opening the H1B gates wider - if we do that, then the usual suspects will simply and gladly suck up proportionally more.

[1]EDIT: Uninteresting is probably not quite the right word. Even well-understood, solved problems can and are really interesting to some of us. But you don't need to find them interesting to re-solve them efficiently and competently.

Well, he does say "if"...

I think PG's point is that some people are naturally great, regardless of their environment. So, yes, Congo or Nigeria or whatever have a bunch of guys who might have been great programmers if given the opportunity. But in less extreme cases, i.e. most of the world, those naturally gifted folks find their way into a compsci program or start hacking on an old machine and teach themselves or whatever. So even if only half of the 95% of people born with great aptitude are found in places with modern amenities and good education systems, that's still 9x more than here in the US.

"So even if only half of the 95% of people born with great aptitude are found in places with modern amenities and good education systems, that's still 9x more than here in the US."

Half is extremely optimistic. China and India contain a significant portion of the world's population, and there are significant populations in those nations that have never owned a computer.

Longterm, it is likely that many of these nations will produce significantly more good people in STEM fields, since the US education system is almost laughably bad at teaching STEM and at convincing students that STEM is worth learning. If that trend of US students going into arts and humanities more than STEM fields, particularly among women and minorities, we're unlikely to see an improvement in this situation.

I'm anti-border, and I think anyone should be able to work anywhere they want. But, I think the message should have two prongs: 1. Importing talent is mandatory and has no downside for Americans (except for Americans that don't like brown people) or the American economy. 2. Educating kids in STEM fields has to improve and kids, particularly girls and people of color, need better guidance about entering these fields.

Both issues are pretty urgent, I think.

A fair point about half being a little optimistic. But even if it is just Europe we consider, that's still doubling the population of great programmers and that seems like a win, objectively.

It's a nature vs nurture argument. I think Paul believes certain programmers have some innate quality that means they're magnitudes better than others. As it's innate it's not related to culture. As in you could give certain people as many opportunities and as much education as you like but they will only ever achieve mediocrity.

It's a terrible assumption. If you believe Computer Science education has anything to do with programming ability, you shouldn't be surprised the US has many, if not most, of the best programmers already [1,2].

The trouble is identifying them successfully at minimal cost. Hiring & firing a poor programmer costs money.

[1] http://www.topuniversities.com/university-rankings/universit...

[2] http://www.usnews.com/education/best-global-universities/com...

Nigeria is a failed state? When did this happen? Perhaps, you could just explain why you've deemed it a failed state.

Nigeria is pretty stable considering it's neighbours. Sure they have problems in the north but I wouldn't got as far as to call it a failed state.

The states is made up of immigrants. Why wouldn't people outside the states be similarly talented? Sure if you don't have access to education you will not have the opportunity to develop your skills, but that doesn't mean you have less raw talent.

Do you honestly believe USA is a first world country in terms of availability/affordability of high quality welfare, healthcare and education systems?

I do not believe the USA is "best in class" as far as first world countries go, but having traveled abroad to 3rd world countries things could certainly be a lot worse here.

To give an example while in Belize I was told by one of the natives that in the event of a serious emergency one would probably die because just getting to the nearest hospital would take 4 hours best case scenario, but likely longer.

Absolutely. Sure one can argue if it is a top 20 country when it comes to all those things, but it's certainly a first world country.

I guess he thinks your born with the qualities of great programming. So, the meritocracy really can't exist then?

I thought a lot about it, and I think I found a simple solution:

Keep the current h1b caps, and then auction off each visa to the highest bidder. The auction proceeds must go to the employee in question, with jail term for anyone trying to claw it back.

What this will do is drive the wages for the immigrant engineers ever higher, by extension raising the wages of Americans as well. It will also make sure only the best ones can be brought in, stopping the "cheap import" problem, and the higher wage will give the best incentive to come. Resultingly, foreign companies will be drained of talent, and American companies will become even stronger against weaker adversaries, and employing much of the best talent in the world.

Except this will only help large employers like Google and completely screw startups. How do you compute wages when it is paid in terms of equity?

1% of Google was worth nothing in 1995. It's worth a lot today. How do you identify if a startup is the next Google when calculating wages for your auction?

The only winners of your auction will be mega corps who will pay a huge salary upfront with no equity.

It's not a net loss for startups - the ones past series B can easily price their options. The earlier stage ones will be cut out, that's true. To be honest, any effort to raise wages will cause that effect, and it's no reason to oppose better pay for engineers.

On the other hand, an immigrant, once settled, will accumulate wealth and eventually become a startup founder herself, without as much need for investment. That would be a boon for the earliest stage part of the ecosystem.

This won't work. H1B aren't only for software developers, but for different kinds of specialists. For example, doctors, who are having residency in US often use this visa. However, resident's salary is smaller than software developer's.

Indian doctors use J1 visas to come to the US, not H1B. H1B's are given chiefly Indian tech consultancy firms. The only other country that gets a decent number of H1B is China.

I have the same idea. And I am looking for more arguments against the salary-bidding-visa scheme.

There is more than immigration in the way of non-US programmers moving to the US:

1) Immigration

1) Health care

3) Living standards (some part cost of rent, some part accessible lifestyle, some part relationships and future plans, etc)

I'm a London programmer and yes immigration is an issue, but health care (for themselves and their partner) is joint #1 on that front. It's hard not to look on US healthcare as being the worst possible product of US politics and that starts to impact the standard of living thing.

Most non-US programmers I know come from societies where we're happy to pay more in tax to have a more civilised society and life. You may fix immigration, but to make the US an attractive place to want to relocate to far more needs to be fixed.

Just my $0.02: I agree with all of your criticisms. Despite that, I am an immigrant programmer living in California. I couldn't find any work in Europe that was as interesting and challenging as what I do here (obviously there are good companies there, but none aligned with my interests and were hiring). I routinely turn down opportunities to interview for companies that are far more appealing propositions than anything I encountered in Europe.

Any reputable tech company (or startup) will provide health insurance and or sufficient wage so that you and your partner will be able to afford more than adequate insurance.

It's not the upper-middle class programmers that get screwed by the US' ridiculously evil and horrible health care system. It's the 99% that make less than 100K/year.

> Any reputable tech company (or startup) will provide health insurance

... which generates another dependency on the employer (beyond the work visa thing).

I know the history of the employer-pays-for-health-care model in the US, but really: it's broken, fix it.

Oh, it is difficult to overstate just how broken the system is until you've experienced it and a more sane alternative (my daughter was born here in the US and I'm Canadian).

However, from a lifestyle perspective of a great programmer it's a non-issue. Once a person has an H1-B it is trivial to change companies. So even though technically you're tied to an employer (visa + healthcare), in a city like SF where a great programmer can get a job in a day (literally), it's a total non-factor.

But seriously after experiencing the american healthcare system a couple of times the only phrase I can use to describe it is "pure evil". I can pay my way out of that pure evilness, but it is evil that 99% of people can't. So I can totally understand if you don't want to be a party to that system for moral reasons, but that's a lot harder to be consistent about.

You already have that dependency in terms of your visa. If you don't work for your employer anymore, you don't have a visa any more, and you need to leave the country fairly quickly or get a new visa elsewhere. In the light of that the healthcare part doesn't matter as much.

You're right, the healthcare issue bites citizens much more than work visa holders (who are already screwed).

It's still broken (like so many other things in the US) and therefore one more deterrent to even considering going the work visa -> green card -> citizenship route.

$100k doesn't even approach upper-middle class. It's not 1995 anymore. $100k is arguably lower-middle class. Consider the fact that most college students are graduating with $50-$100k in student loan debt, then they move to the Bay Area and pay $3k per month for a one bedroom. After 28% federal income tax and food costs it's surprising that they even survive on $100k.

$3k is a pretty nice 1-bedroom... which isn't really necessary if you're just going for survival (e.g. you can get a studio, share a place, etc.).

So thats ageism then. Because a studio almost requires you to be single and or have no dependents. Also - you're not finding a one bedroom for under $3k in SF proper in 2014 regardless of condition.

Is ageism an issue when you're talking about recent college graduates (which you were)?

And try looking beyond the most popular neighborhoods.

Completely agree. I don't have any desire to live in the states.

> It's hard not to look on US healthcare as being the worst possible product of US politics and that starts to impact the standard of living thing.

It would be nice, if there were some rough guidelines, how much more I'd need to ask salary in the US, that would cover the extra fees for insurance and health care, that I get for free in most Western European countries?

Health care isn't free in ANY country. You pay for it, even if indirectly. The high taxes and high 'social charges' in a place like France results in much lower salary. One could argue, that in France your purchasing power is much less than someone in the US paying for health insurance out of pocket. Rails devs in France might make 35k euros per year, so one could argue that, compared to a $120k salary in the US, that you're making substantially less in France, despite almost "free" healthcare. If you also add in, for example, in Paris the cost of accommodation, the higher cost for things like food and consumer goods, that 35k salary is looking pretty bleak. One could ask yourself if approximately $80k less is worth 'free' university and 'free' healthcare plus higher costs for pretty much everything. I'm not saying either place is better (however I do happen to live in France,) but there's no such thing as "free" healthcare or "free" education.

> You pay for it, even if indirectly.

I am not arguing against that. But I didn't mean to be political about this. I was just interested in the net salary, and the more-or-less compulsory costs that you need to pay from the net salary, before you know how much you pocket, or spend, every month.

Comparing income tax levels is, while not as easy as it could be, quite doable. So it is possible to estimate one's net income in different countries. Also craigslist etc. make it relatively easy to compare the cost of hiring an approximately same level of apartment in different countries.

But healthcare (and pension) systems in different countries are, in my experience, more difficult to understand and compare. In some countries you need to pay some amount from your net income for a health insurance, in other countries you get healthcare for free (i.e. without needing to pay some monthly fees). In some countries you automatically accrue some pension, but the system is typically quite opaque and difficult to understand how much pension you actually accrue per year. In other countries, you need to save for the pension from your net income.

Visiting the bay area every now and then, it's ridiculously expensive, compared to Germany or even France.

Rent is a cruel joke, as is land tax (so much for housing costs). Food is more expensive on the label (unless you're counting Ramen, where things are close), and there's sales tax on top (while EU prices are all-in).

It was free in Iraq under Saddam, paid for with oil revenues.

It's hard to have a guideline. Each employer has different level of coverage and deductibles. Make sure you understand how the plan works and what it covers.

Most of the big well known companies have substantial coverage for you and your family. I know some of them have plans that have a yearly maximum out of pocket cost in the low thousands.

This. I was offered a job at a top-10 US tech company, which would have been a massive pay and career boost, and turned it down largely because the US seems so screwed up (politics and healthcare being prime examples).

(They then offered me pretty much the same job, but working in their European office, so win/win :D )

I hope you're making those judgments on a broader set of sources than HN and its ilk. HN has smart users, but there are big sampling biases in more areas than just intelligence.

I agree totally. The level of violence for instance in your society, may be something you are used to, but others may not be inclined to make the move into such an environment.

Why limit this to programmers? It's not as if we're some kind of privileged and special sub-species of humanity. People should be allowed to move around the globe at will without those pesky borders. That would be one way to get us out of the hole we're in. Drawing arbitrary lines for certain professions and not for others only further deepens the gap.

Companies have long ago figured out ways to go trans-national, simply by opening up offices in low wage countries.

Another, easy solution if you want more talent is to pay more.

This is so true. salaries could drop fast if people could work from anywhere. Lots of people would take a pay cut to live in a less expensive part of the country near family with better schools and quality of life.

I agree. While I disagree with the central claim of this essay (it's not about wages), I also think the US should have open borders (as it once did), although I also realize that that is never going to happen.

I have a ton of issues with this post.

For starters, the idea that some people are just inherently exceptional programmers and others can only be competent is elitist. Is it any wonder that every programmer in Silicon Valley thinks they're God's gift to the programming world? We've been taught that to be hirable we have to be "10x" engineers who spend all of our free time hacking.

But ok, maybe you don't agree with me on this point. You feel as though there truly is some kind of "master race" of programmers who are inherently gifted in ways that nobody else can learn to be gifted. That still doesn't mean that you should agree with PG.

Why do we need to import all of these engineers into Silicon Valley? One of the great benefits of Software Engineering is that it can be done from anywhere in the world. Why can't people choose to stay where they live? My suspicion is that it has more to do with entrepreneurial arrogance than anything else. Company executives simply want to build big empires with lots of programmers all under their thumb under one roof.

So what happens? If you want to be an engineer, you have to come to Silicon Valley and displace someone who already lives in the Bay Area. It's displacement that breeds displacement.

Ok, maybe you still don't believe me. You think that we need exceptional engineers and they have to be in the Bay Area. The immigration policies that tech companies are pushing for aren't based on merit. The STEM visas only apply to people who are schooled in the US. In other words, the people who will be coming to the US on these new visas aren't coming here because they are one of the exceptional engineers tech companies fawn after. They're here because they have parents who can afford to send them of to the US to fancy schools. We're not getting the "poor and huddled masses" that made this nation great anymore.

Is it any wonder people in the Bay Area hate us? We're elitist, we displace people, and we're importing people from affluent backgrounds.

I'm all for remote work and offshoring but those things have insidious effects. See how Dell lost to Asus.


>For starters, the idea that some people are just inherently exceptional programmers and others can only be competent is elitist.

It may be elitist, but that doesn't make it incorrect. There is a floor level of intellect and memory that is required to program effectively, and those that are born with more of those gifts have more potential to be a good programmer. It still requires work to hone those skills, but that work is more effective if you're starting from a higher floor.

I could practice playing basketball as many hours as Lebron James or Kevin Durant, but they are always going to have inherent advantages over me.

I disagree. Research has shown that becoming good at something is more about practice than anything else.

If someone is smart and wants to work in the US there should be no barriers to doing so. I don't deserve any job or salary if someone else can do it better or cheaper. We are all human beings in the sense of our right to fair work and wage.

Who wants to wake up in the morning and think "thank goodness some lawmaker is forcing someone smarter/better than me to live in poverty so I can have this cushy job"?

PG is right that most programmers are not all that bright. This limits the state of the art in our industry far more than most people realize.

[edit]: I can't believe this thread is getting hijacked by people who oppose PG's view on this and are downvoting comments in support of it!

It is amazing to me how the same group of people can rail against rent seekers in a thread about uber or airbandb and then turn around in a thread on immigration and act like their own rent seeking is pure and good and right. I guess it is all a matter of whose ox is being gored.

Exactly. What those people don't understand is how much this hampers the kind of ambition and projects that can get built.

Unlike Musk's HyperLoop, the barrier for software is not materials and resources, it's simply minds. If you're working on a crappy, bloated codebase it's because some business person likely accurately assumes that a rewrite would be risky and slow (b/c of the supply and quality of labor).

> Unlike Musk's HyperLoop, the barrier for software is not materials and resources, it's simply minds. If you're working on a crappy, bloated codebase it's because some business person likely accurately assumes that a rewrite would be risky and slow (b/c of the supply and quality of labor). <

No, the business person knows it will cost money to rewrite and simply doesn't want to commit the resources. It almost certainly has nothing to do with the supply and quality of labor.

Also: the economy is not a zero-sum game.


I guess it's just the fact that I've lived abroad for a while, but I see people as, well, people, and don't care too much about where they happen to have been born. I think it's unconscionable to subject law-abiding people to a life of poverty if they're willing to work.

The problem with the way you're conceptualizing the problem is that while no one 'deserves' anything, the real effect here will be to allow the owners of businesses to play people with no negotiating power off each other to lower their costs.

So while you don't 'deserve' any guarantees, why do you think the owner of a business 'deserves' to be able to hire a captive employee? (They're deported if they quit, and they make less money than an equivalent employee without that handicap)

If anyone with the power and podium wants to be honest about this topic, they need to champion immigration reform in terms of 1) allowing immigrants to quit or switch jobs while staying in the states. 2) Require that immigrants are paid the exact same wages as an American with the same title in the company.

"(They're deported if they quit, and they make less money than an equivalent employee without that handicap)"

a) Neither PG's essay not your parent comment mentioned current system as the solution. Quite the opposite in fact. The current system is the problem that we're trying to solve. b) Even in the current h1b system, employees are free to quit and find another job. H1b transfers are quite easy in fact as long as the employee can find another company to employ them.

Your entire second paragraph about "power and podium to be honest... " stuff is written under the mistaken assumption that an extension of the current system is being proposed.

>Who wants to wake up in the morning and think "thank goodness some lawmaker is forcing someone smarter/better than me to live in poverty so I can have this cushy job"?

The amount of people in this thread who seem fine with that kind of thinking is really disheartening. So many programmers whose salary seems to be their guiding moral principle.

>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 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.

And yet most start-ups pay programmers far less than they pay their lawyers.

The reason why tech companies will go through legal contortions is because they don't want to raise the salary floor. If a company can only find a great developer for $100k/yr in the US, but they can find a great developer for $50k/yr through H1B, it makes financial sense to lobby as long as the cost of lobbying is < $50k/yr. If the company is pg's example: ($100k - $50k) * 30 workers each year? Hell yeah I'm going to lobby for more foreign workers.

It's not about finding great developers. It's about finding great developers at a lower price.

What you described is illegal according to H-1B provisions.

Which is interesting because there is such an oversupply of lawyers in the states.

Because wages are partly set by cultural expectations rather than pure supply demand.

Most tech startups don't have full-time lawyers, but they have full-time programmers.

Programmer's don't keep them out of jail if and when they do something that may or may not be illegal.

When I talk to startup founders, I find ones that offer me a 20% pay cut from my current job, a load of bullshit about how exciting their options are as the 156th employee, and a refusal to negotiate on salary, followed by seeing them in the paper complaining that there are no engineers in Seattle the week after I refuse their offer and tell them that it is too low.

As PG states:

  it's easy to imagine cases where a great programmer might invent things 
  worth 100x or even 1000x an average programmer's salary.
If this is true, rational companies should be willing to pay salaries between 100-1000x of average for great programmers.

All hail the $100M/yr rockstar programmer.

I can't wait to see the cool things that will come out of a greater distribution of wealth to hackers, geeks and programmers. Think of all the neat kickstarter campaigns that will get funded... and all of the startup ideas that can find angel funding. And all the open-source and Makerspaces and rockets etc, etc.

Exactly. Wall St. is where you can get paid proportional to performance -- and that's where you see people earning $100M/yr. With software, employers are happy to capture the value of the 1000x programmer and pay them marginally more than the 1x one.

...and while you can train people to be competent, you can't train them to be exceptional.

Why not?

Every exceptional programmer I've ever met was unexceptional at one time. Something happened for them to become exceptional. I personally believe that while that "something" is most often "doing", "training" is often a big part of the equation. And that training is more often than not training their beliefs as much as training their skills.

Many of the best programmers I've even known never imagined themselves being able to do what eventually became their norm. For a lot of them, all it took was the guidance of a caring mentor or trainer to see the possibilities.

Regardless of where programmers come from, I take it as a serious responsibility to help them become what they can be. Not saying "can't" is the first step.

You become exceptional by being curious and never satisfied. I don't think you can teach that. I mean, you can blurt it out to people all day but it takes intrinsic motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole.

"motivation to stay awake until 2am because you want to chase some random thing down the rabbit hole."

Agree. Obsession and curiousity is important. To me you either have that or you don't have that. (Edit: Of course it depends on the subject for sure. You can be curious about one thing but "phone it in" about something else.)

I'm not a programmer but I can write some things that are helpful to me. The other day I made some tea and I then thought "hmm I will buy a timer on Amazon". Then I though "no let me write something that I can use from the shell to tell me when N time period is up and what it is up for". [1] I then probably spent the next hour or so writing this little routine when all I had done was getup to make tea. Because even though I am not a programmer I decided it was more interesting than what I was working on at the time (which is also pretty interesting).

Back to something that I do know about (negotiation and strategy) I go with your first sentence for sure.

[1] In other words instead of using the iphone timer or any number of other ways to do the same exact thing I just decided it was more fun to write something to do what I wanted. And it was fun. And when I showed it to my wife that evening (as an example of why I think our 10 year old should do programming) she couldn't understand why I thought what I did was fun to do.

Programming ability (similar to other STEM abilities) are power-law distributed, rather than Gaussian [1]. From this, it follows that training has very high probability of producing competent programmers but very low probability of producing exception programmers.

[1] http://www.sciencedirect.com/science/article/pii/S1877042813...

Not necessarily. Surely there are people out there who have the potential to be exceptional, but never reach it, because they never got started, never realized they'd be exceptional, etc. Converting the potential exceptionals into actual exceptionals, is a very big win.

The kind of training necessary for becoming exceptional is entirely possible, but not scaleable, thus it's not a practical solution to the problem. I think the example you give supports that - mentorship tends to evolve organically from companies you work at, the colleagues you work with, etc. It'd be difficult to imagine good mentorship being assigned, and succeeding, at-scale.

Even the processes for training competent engineers are only barely scaleable. Most competent engineers are still being trained through colleges. Even newly emerging forms of training don't scale that well - take coding bootcamps with limited class sizes and the low success rate of things like Codecademy.

""training" is often a big part of the equation."

I think the assumption is that at the speed these companies are operating having to wait for a "trained" (assuming it's true) batch is simply to long. By that point they may be out of business.

The logical takeaway from that is that they don't have a viable busisness model, not that society should change in order to make their poor business model work.

This is nothing new. The problems with work visas in the US are:

1. Cheap bodyshops consuming much of the quota; and

2. Immigration being tied to an employer.

(2) is a direct cause of (1).

For those that don't know, sponsorship for a green card basically involves two stages.

Labor Certification ("LC") is the first and most time-consuming stage. It involves "proving" you can't find a US citizen to fill the job. There is then a queue with a quota system based on country of _birth_ (not citizenship). For countries with a high number of immigrants (eg Mexico, Phillipines, India, China), the queue can be _years_ long. During that time the employee is essentially an indentured servant. Employers can and do exploit this situation.

The Department of Labor can add to this by randomly auditing a particular application, which will add a minimum of 1-2 years to the process. Sometimes this is for cause but the DoL's stated policy is to prevent petitioners from "gaming" the system so they disguise their auditing criteria by randomly selecting applications to audit.

The second stage is basically a formality: filing for adjustment of status.

So for a period of 10 years or more the employee may be in no position to leave, no position to negotiate and will quite possibly have to work under abominable conditions for substandard wages.

The LC process ostensibly has a prevailing wage determination step to ensure the employee isn't being victimized. Trust me, it's a joke.

Startups here, as a general rule, aren't the problem. These nameless bodyshops paying $50,000/year or less for a warm body to contract out to a Fortune 500 company for $500/hour are.

If you kept the current green card quotas and simply made H1B visas portable and immigration essentially automatic when your number (in the queue) is up then you'd end a lot of these problems.

H1B workers can switch jobs -- your point (2) is not true.

During the first 6 years or until the LC is filed, H1 workers can work for any employer in their field of study. After the LC has been filed, they can switch jobs as long as the job title/requirements are substantially similar (thanks to the American Competitiveness in the Twenty-First Century Act). And the recent executive action by Obama will make it even easier for post-LC workers to change jobs.

I have yet to meet someone on an H1 who felt tethered down to their employers. Almost every H1 worker I know has switched jobs at some point. This whole idea of the "indentured H1 worker" is complete lie, and anyone making it is being dishonest. It's just a cover-up for their hatred for immigrants -- a lie fabricated to cloak their hatred as concern.

You are (mostly) incorrect.

AC21 portability (as it's called) allows for an employee to maintain their pending immigration status if they have filed an I-485 and it has been pending for at least 180 days.

Thing is, the I-485 is the last 10% of the process. The biggest hurdle is getting the Labor Certification, which is the part that can (and does) take years.

So an employee technically has H1B portability under the AC21 provisions but they must start all over again if they aren't in the last 5-10% of the immigration process.

Read: We don't want to train workers or pay them a good salary. We expect them to know everything beforehand and be content with crappy wages, then wonder why the brightest kids are going into fields like medicine and high finance.

And even then, most of those who are in fact "great programmers" would probably not get offers.

The anti-immigration people aren't trying to keep the elite programmers out. The technology companies aren't trying to get the elite programmers in. The technology companies are trying to pay slave wages to mediocre programmers rather than pay competitive wages to Americans.

I've watched it first hand from the sidelines. I'm not a programmer but I work directly with them on a daily basis. VERY, VERY few of the immigrants I've seen coming in are what I would consider remotely in the realm of elite.

Elite programers can find a job in any country, and they can make a ton of money in any country. That's the beauty of the internet, there's absolutely no reason they need to come to the US to flourish. The people trying to come here aren't the elites.

I think very few people don't want the U.S. to let in exceptional programmers. But the fact is that "1%" programmers are 1% of the population. Tech companies have tremendous trouble identifying those 1% from the other 99%. The government is almost certainly going to do a worse job at that. And if the government delegates screening to the private sector, then the system is tremendously gameable. So the issue isn't whether we should let in those 1% programmers. It's wether it's worth it to let in 99 mediocre programmers for every exceptional one, or to create a system with tremendous incentives to import those 99 mediocre programmers in an effort to drive down wages, hoping we'll get some exceptional ones in the process.

It seems like the government could substantially delegate this by simply putting a high floor on salary permissible for incoming workers.

In high school, part of the reason I chose computer programming as my future career is because I like it, and part of the reason is that I knew not a lot of other people did, or could do it well. I didn't know what the world would be like in 20 years, but I figured that was a good way of giving myself a chance at having a good job down the road.

Computer science courses in college were much tougher than in most other majors, and there were many, many nights I'd be coding away to finish a project while my friends were out partying, playing video games, etc. I like art, history, and music too, but I figured it was worth it, just a few more years and it would pay off.

Now, just as it is starting to pay off, people are trying to change the rules. I've been trying to get my 10 year old nephew interested in science and math, encouraging him, so he can make the same choices down the road if he wants to. But if the plan is to swoop in at the last minute and remove the rewards for delayed gratification, maybe I should tell him to have a blast and do whatever.

Either allow full immigration for people in any career (best option), or have the same stifling limits for all careers (distant second). Don't cherry pick who's going to have their careers dis-proportionally affected.

Why are Computer Scientists forced to play by different rules than every other decent job?

American electricians don't have to compete with Chinese electricians.

Can you imagine American doctor/lawyer/engineer associations allowing their bosses to lobby to let cheap and desperate foreigners flood into their country and undercut all their jobs, drive down wages, reduce the value of their educations?

It's ridiculous that computer scientists are being asked to work against their own financial best interest, while VCs are explicitly in the game of maximizing their own profit at all costs (including the willingness to sacrifice all decency and compassion, put entire industries into homelessness and poverty, destroy the social safety net, turn the middle class into indentured servants...)

If this isn't class warfare, what is? You have a near-billionaire VC writing essays to convince the lower classes to work directly against their own financial best interest in favor of his own financial best interest.

No competent businessman would allow a cheap competitor to flood into his market and ruin his business. Why do VCs expect computer scientists to allow their labor market to be destroyed?

A big problem with the current H1B system is that companies like Infosys are supposed to pay what they claim is market rate, but have every incentive to lie about the true market rate. The problem that Paul would like fixed is that there are a lot of really good programmers who startups would rightly like to hire but can't.

Paul would like to eliminate the cap. But this makes the first problem worse. If you solve the first, then removing the cap makes perfect sense.

So how do we solve the first? My proposal is that any company wanting import an employee can, but has to post a significant bond for the cost of deporting the employee if there are problems. That immigrant is free to transfer employment. At the end of a year, if that immigrant left to go to another company, the original employer loses the bond and owes the difference between the immigrant's current income and the original one.

Under this proposal there is a disincentive to bring in an immigrant unless said immigrant really is paid above market rate for their skills. Locals may not like the competition, but people will be hiring immigrants because they think they are better, and not because they are cheaper than the market.

> And since good people like good colleagues, that means the best programmers could collect in just a few hubs. Maybe mostly in one hub.

Owner of prestige hub wants it to be more prestigous, and wants your policy support to make it happen. No where is this spelled out as a conflict of interest.

Ycombinator seems similar in many ways to the Law Firm partner/prestige system, or the university prestige system, or the scientific publisher prestige system.

Ask any VC, would you be willing to make a deal that grows the wider economy, but has a 99% chance of impoverishing you personally? Then ask why that is the deal he offers everyone else, and tries to get written into law...

> 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?

What a biased 'framing' pile of bullshit.

Let as many programmers in as you want. Just give them the right to quit their job without deportation, and ensure they're paid the exact same wages as an American.

Thats the only honest solution to this problem. It'd make everyone happy except for the very people pushing to open immigration.

The H1B visa already guarantees:

1. You can take up any job related to your major (in college).

2. You are required by law to be paid the same or higher wages as Americans, for your job position/title.

Almost every H1 worker I know has switched jobs at some point. The whole idea of the "indentured H1 worker" is completely fabricated. My suspicion is that it's a cover-up that allows anti-immigration people cloak their hatred for immigrants as concern.

Basically, during the first 6 years (or until a greencard application is filed), H1 workers can work for any employer in their field of study. After the greencard application, they're job choices are slightly narrowed down to jobs that are substantially similar to their previous one. However, recent executive action by Obama will make it easier for workers with pending greencard applications to change jobs.

The big issue I have with this essay is that, while I believe it is true that letting in exceptional foreign programmers would benefit the economy and that probably does not overly hurt many exceptional American programmers; I don't see how just opening up the H1B program would achieve that.

Instead, I believe you might get some fraction of those exceptional programmers to come to America; but you would probably get many more less-than-exceptional programmers (which pg called competent) competing with less-than-exceptional, but competent Americans (or those who could be trained to be competent).

On balance, I'm unconvinced this would help.

Potentially, instead of having a lottery, the government should just run a dutch auction for the same sized quota. If someone is truly exceptional, it would be worth paying for them. You'd also end up naturally giving American programmers a bit of a home-field advantage; because their cost would not be burdened with the additional cost of winning an auction.

Or maybe they should do away with the quotas. Why must immigration be limited at all?

I think it's a bit disingenuous to not even mention cost in this article. Clearly a lot of companies are using H1-Bs to save money more than to find great programmers. Even ones that genuinely want exceptional programmers may not even have the capability to identify great programmers.

Meanwhile, why don't get better at management to allow remote work? ...

It's been tried in the past, but it hasn't been that successful. Technology has come a long way in decreasing communication boundaries, but it won't replace (at least for the next 5-10 years) the latent need to have employees in office. It's not only about the work produced, but also the interactions between the team. Both Yahoo[1] and Reddit[2] have banned remote working.

[1] http://www.businessinsider.com/why-marissa-mayer-told-remote...

[2] http://venturebeat.com/2014/10/04/why-reddits-new-no-remote-...

I have a quick question for those arguing against PG's position:

Do you genuinely believe that increasing the number of talented software engineers emigrating to the United States is bad for the United States? Or bad for you?

In the same way that I would argue for public policy that benefits us all (not just me), I think we should have immigration policies that benefit everyone, not just Software Engineers.

It could be bad for me and the US, no? Not saying it is, but it is an option. I'm skeptical a sane immigration bill can get passed. The current H1 visas are incredibly generous to the companies that get to sponsor them over the workers. I'd be in favor of a policy that was company agnostic and gave the workers a lot more freedom, such a bill would be good for me, the immigrants, and the U.S., but I sincerely doubt such a bill would ever get passed.

I don't know what H1-B visas you are used to, but the current ones are completely owned by the worker.

An employee sponsored by an H1-B can literally collect their first paycheck and immediately move to another employer.

I'm not sure how much more freedom you want.

Instead of downvotes, I'd love to see some data contradicting this. Here is information supporting it:



c) I am skeptical that pg's proposal would substantially increase the number of truly great programmers who could come to the US, and I believe it would actually just increase the pool of decent programmers which is already large enough to meet demand: so the net effect would be the same companies and software being created, but less money being paid in salaries and therefore spent on consumption, which is worse both for this pool of decent engineers and for the governments which lose out on the taxes they could have gained from the distribution of money from pg and other rich investors to the employee engineers.

It's bad for me, and I would likely try to switch to another profession and get an MBA or something with higher pay. Then do interesting programming on the side

Drive down the wages of your most talented citizens and yes, you hurt the entire country.

Actually, here's how I'd put it. If you are not competitive (in your terms, drive down the salary) OR produce something great at prices others can. Then jobs and companies will go overseas. Not only will there be jobs will lower salaries but there will be fewer jobs, period. Now that will be problem for entire country.

Having more programmers will not be a problem for the country, they will only be a problem to those who want to maintain their salaries turning their eyes away from reality of globalization.

So just to be clear, if we have more Doctors & Lawyers, so their wages decrease, and the cost of receiving medical care or getting legal help goes down, this would be bad for everyone?

Yes. Then your most talented citizens will go into other work and the quality provided will go down.

This is really quite simple. If there's ways for the most talented to make more money, that's where they're going. The most talented aren't locked into any particular career.

Sure, there will be exceptions, but the overall trend will be undeniable.

As long as Hospitals and Law firms continue to hire competent Doctors and Lawyers, this would be a win for society. More people getting health care or access to the legal system, at lower prices, would be a good thing for society.

And I don't see any reason why an increase in the number of Doctors or Lawyers would cause Hospitals or Law firms to hire incompetent employees.

We actually have a surplus of lawyers right now, at this very moment. Large numbers of people with law degrees are unable to find work in the field.

So fewer people are going to law school. And this is true even at the top end. The most talented people are going into law in lesser numbers.

It's not a theory, it's actual fact.

That's pretty much how free markets operate. There is nothing wrong with it. The idea that X profession deserves the smartest kid in the room is nonsense if the profession has found out how to get along without that kid.

1) by educating you will uncover latent exceptional programmers and

2) by educating you will raise educational level and make life better for everyone in country (any country).



Those two arguments are omitted from essay. I think it is a sign of sloppiness on PG's part.

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 is the question isn't it -- are those qualities "evenly distributed" around the world?

Africans make up a lot less than 5% of the great marathoners in the world. Does that mean the remaining 95% of great marathoners in the world live outside of Africa?

There are usually a whole host of other intangibles associated with exceptional performance, which are sometimes directly undermined by a change in physical location.

To me the main failure and what negates the argument to me is that 95/5% population. Yes, I agree that the US makes up a small percentage of the global population and to think we have the best, smartest or only of anything is stupidly arrogant and extremely short sighted.

However, to assume that of the 7 billion people on the planet and the 6.7 billion that are not in the US are comparable in education, opportunity, training and ability is just not realistic either. While I agree too that greatness can't be taught necessarily, it also can't exist without education, drive and opportunity.

The problem is when you use misleading statistics to make your argument it causes intelligent people many times to negate the validity of the entire argument. While I don't have a problem with h1b's overall, I do have an issue when startup's and other companies argue they can't find anyone in the US.

Having managed a large development team at one time and having used large numbers of H1B's, what I learned was that H1B's are far less job mobile and far more tied to the organization sponsoring their entry. Which is of course one of the core reasons companies like them. It makes competing for the same resources far cheaper and keeps wages lower overall. In most situations when demand increases and supply decreases, cost goes up across the board (e.g. salaries). In tech, the salaries don't increase as much as the cost to the lawyers to get more H1B's to help keep the pay lower.

A lot of people in this thread seem to be really short sighted. Yes every tech worker's salary will drop significantly if the United States allowed more open immigration laws. But think about this - what would have happened if elon musk, vinod khosla,Sundar Pichai though the united state was not worth the trouble ? Silicon Valley would prolly exist but wouldn't have the monopoly on software that it has.

I am not an american but I am really happy that the united states government has strong anti-immigration laws. This might not be an popular opinion but the United States has mooched off talent from the rest of the world without paying for it. It has actually allowed rapid development of the start-up scene in my country who are in direct competition with the bay area. The best part is unlike the bay area most of the tech workers are able to save a majority of their money as the living cost is dirt cheap compared to the disgusting wealth extraction from the young and talented that happens in the bay area.

Now just for a second imagine if these tech hubs grow and take a large market share from the likes of google and facebook ?

As a student of Computer science who doesn't happen to be the the united states all this is really good news and I wish the govt doesn't listen to PG as it results in the 95% to decentralize the wealth generated from technology from the hands of PG and silicon valley. ( And I am of the believe that power is always best kept in the hands of the many compared to the hands of the few )

every tech worker's salary will drop significantly if the United States allowed more open immigration laws. But think about this - what would have happened if elon musk, vinod khosla,Sundar Pichai

See, this is just crazy. Why would you or I or anyone want to make ourselves materially worse off, so some guys we've never met, and who couldn't care less about us, can become richer than the dreams of avarice? Politicians say, what's good for the economy is good for everyone, but it just isn't true.

The thing you are suggesting leads to a frighting conclusion. Are you saying that you are against people like elon musk from doing what he does ? He wasn't born into wealth and was middle class just like you and me but was just too damn smart. The free market rewarded him for his smartness and we are all better off because of it.

Yes he became really rich but the net sum of wealth he provided in return has made everyone else much richer than him.

You are making the wrong conclusion that you are worse off "materially" if such smart individuals didn't innovate. In fact you and everyone else in america would be slightly poorer.

Most countries do not even have a "good economy" that they can brag about. The fact that you want a larger portion of the massive wealth these people have brought to america is an really entitled opinion to have.

America is an an midst of an economic boom which is almost a miracle obama has pulled ( compared to its EU/Asian/SouthAmerican Counterparts ) . If you are unhappy that america is also home to some of the richest and smartest individuals on the planet and you are trying to compare yourself to their standard and saying "Uhh, I want some of that" then its a problem of mentality and not about wealth/immigration/politics/etc.

Elon musks are the exception. Look at the average rich person.

They have often used protectionism(doctors), manipulation(sales) and other methods to get rich. Lots of people get rich in finance by finding ways to transfer risk onto other people. Is that productive overall?

Not every rich person is someone who adds unbelievable value.

>Yes he became really rich but the net sum of wealth he provided in return has made everyone else much richer than him.

Prove it. This is just neoliberal dogma and is contradicted by empirical research that shows that economic growth is awarded to the super rich while the middle and lower classes slip backwards.

Class warfare means that Elon Musk is lowering my wage. I don't give a fuck about paypal or spaceships. I want affordable food, housing, healthcare, childcare, and other basic necessities. These are no longer available to the majority of the population because of an artificial scarcity imposed on us by the ownership class run by neoliberal ideologues like Elon Musk.

The thing you are suggesting leads to a frighting conclusion. Are you saying that you are against people like elon musk from doing what he does ? He wasn't born into wealth and was middle class just like you and me but was just too damn smart. The free market rewarded him for his smartness and we are all better off because of

"Hey I've invented a self-driving electric car, which you can't buy because I've halved your salary, lol" isn't a deal that works for me.

"it's easy to imagine cases where a great programmer might invent things worth 100x or even 1000x an average programmer's salary" ... yet they get paid maybe 1.5x

Unless they start a startup. But, H1B doesn't make it easy for a startup founder to come to the US, since it requires the startup to already exist and be funded in order to go through the H1B process. So, it's a chicken and egg problem.

My co-founder is in the US on a visa that was sponsored by Google (and he still works for Google). Had that not been the case, he might still be in Australia (we probably could have made it happen had we needed to...but, he might not have had the motivation to come here without the Google job).

What I'm trying to say is that H1B does tend to lend itself to indentured servitude. Foreign workers here on a visa are less likely to seek other employers, because they have a visa to keep renewed, or they have to seek citizenship (which is a whole other pile of problems). That probably does depress the industry baseline salary.

But, my desired solution is not to reduce the number of indentured servants, but to kill the limits on their freedom to work that makes them indentured servants.

Anybody who travels 4,000 miles to a new country to work in, and to live with people they have never met, have proven themselves to be the sort of motivated person you want to hire.

That is actually a good point.

Part of the reality of founding a company in the United States, and taking advantage of the freedoms and protections being in the USA offers, is that you have to work with the USA labor force.

If you don't like it- well, go international. Fast food restaurants don't get to import the best burger-slingers from Germany. Software companies have to live in the same space.

And it's complete and utter BS to suggest that there's no way we can make up for the gap in our education system. You have to invest in the society, and it takes time to train people. Railroads in the 1890's didn't suddenly wake up with a million trained workers at their disposal, and they didn't have the option of importing trained workers from the UK where railroads were booming. Part of the limits of their expansion was the need for training- and when they didn't train, they ended up with dead workers (25,000 out of a force of 1 million killed on the job in 1900 alone).

If someone wants to come to the USA on their own volition, and take their oath of citizenship- fantastic! We should all welcome them. But it is not up to corporations to dictate terms of citizenship at their convenience.

If someone wants to come to the USA on their own volition, and take their oath of citizenship- fantastic!

Except they can't - it's quite difficult for someone to do so without an employment or marriage relationship, and even after someone has a green card they are required to wait several years before an application for citizenship will even be considered.

Railroads in the 1890's didn't suddenly wake up with a million trained workers at their disposal, and they didn't have the option of importing trained workers from the UK where railroads were booming.

Why do you think there are so many Chinese people on the West coast of the USA? As well as those who arrived to dig for gold int he 1850s, a great deal of railroad construction was done with imported Chinese labor starting in the 1860s; both to relieve the labor shortage in the railroad industry and because they were cheaper and better-behaved than Irish laborers. If you're in the Bay Area the Oakland Museum of California has a permanent exhibit dedicated to this.

I am of course in favor of more training but you seem to be under the impression that the US railroad industry bootstrapped itself, when in fact it was heavily reliant on immigrant labor from the outset.

Uh....most railroad workers were immigrants.

I get your point but that probably wasn't the best example.

No- you're thinking of the railroad builders (1860's-1870's). By 1900, when the railroads were into their big boom, most of the imported construction workers had either become citizens or given birth to the next generation, who were citizens.

I guess should have clarified that I meant the engineers, brakemen, locomotive builders, and mechanics, and not the well-known Chinese and Irish immigrants who made up the workforce building west.

>>Fast food restaurants don't get to import the best burger-slingers from Germany. Software companies have to live in the same space.

I don't agree with this. The tech industry is beautiful & far-reaching in large part because it doesn't have the restrictions of proximity to the degree of many other industries. I would hate to see artificial limits placed on it to force the same conditions as traditional Brick and mortar businesses.

You mean like, say, clothing or electronics manufacture, in which conditions for workers are a global race to the bottom?

I wish I had a counter-argument to why this wouldn't happen with the software engineering industry. My gut feeling tells me it can't happen, but I have no data.

Fast food restaurants don't get to import the best burger-slingers from Germany.

But we don't export burgers to Germany. If we wanted to export burgers all over the world then we'd have to bring the world's best burger-slingers over here first.

". . . it is not up to corporations to dictate terms of citizenship at their convenience."

Of course not. But it is up to legislators to make decisions that are in the best interests of the U.S. going forward. An enlightened view of that might, as P.G. suggests, include allowing more programmers to come to U.S. To suggest that programmers are somehow analogous to fast-food workers is seriously misguided.

It will never be in the best interests of the United States to admit anyone into the country to please the desires of the stock market or of large corporations or of wealthy venture capitalists.

There is nothing, other than a modicum of education, that separates a talented software engineer from a talented fast food worker. I've seen plenty of engineers who I'd never trust with a burger or a grill.

I generally find PG very convincing, but not here. Opening up immigration would have major side effects, though probably it would help companies hire top programmers. But rather than bear that cost, would we as a society be better off if we tried to educate children better, get more kids hooked on being makers, whatever it is you believe is important?

Fundamentally, making the 95-to-5 population comparison only makes sense if the 5% is at or near maximum utilization. And it's not at all obvious that American potential talent is that heavily utilized.

As an aside, it's also not at all obvious to me that we can't teach exceptional programming, at least for some people. In fact, the idea that top programmers are vastly better than merely good programmers is also not obvious to me. Think about lifting things: Perhaps I can lift 50kg and some one else 52kg. If the task is to lift a 51kg object, the other person is infinitely better than me. But if the task is just to lift moderate weight objects, we are indistinguishable. Similarly it seems plausible that for most tasks "very good" programmers are indistinguishable from"great" ones.

Do you think YC startups are lying when they say they're struggling to hire? It is obviously in our best interests to hire every great programmer we come across - no matter what. If you really think that there are some great developers out there who are struggling to find a job in the US please send them my way or send them to ANY of the YC startups and they'll be hired within 2 weeks.

How long do you think it takes to teach someone to be an exceptional programmer? 5 years? 10 years?

How long has Facebook been around? How long have most small tech companies been around?

Yes, in 10-20 years after all the parents today are telling their children to get into software we'll have a glut of developers. But right now, there's obviously not enough. And the quickest way out is to relax the limits on immigration.

If the US doesn't do it, then it's a great opportunity for another attractive first-world country to take the lead. Maybe Canada will.

Stop trying to shove more people into the SF bay area peninsula?

A 100K/yr salary won't buy, or even rent, much of a place for a family to live in near Palo Alto or San Francisco. But it sure will in Sacramento.

... or Fresno, or Portland, or Seattle, or Denver, or Phoenix, or Boise, or Minneapolis, ...

The tech industry needs to think outside the Silicon Valley box, and consider that while people should be grouped together for networking and other multiplier effects, it might be time to have more than one town in which to do business - a location that is not so closed in with outrageous real estate costs.

I almost took a job in Mtn View a few years ago, but wanted a 50% salary increase (vs Sacramento) to compensate for housing. So, it didn't happen.

No, they probably are struggling, because being an early stage startup engineer is a very, very bad deal. You will work as hard as the founders, and after a year or two the salary you gave up for stock options will equal at least the cash the founders put in themselves, and if it is a success, you will get 1% of 1% of what they do. People are beginning to realize this and demand market level wages or meaningful equity participation or both. What these companies and the VC firms backing them want is a new set of naive prospective early stage engineers...

It's kind of weird to see the same discussion being repeated over and over again, with people talking over each others with the same point, again over and over.

How about this instead, let's say I'm Patio11 and I want to go to the US, how do I do that? I personally consider Patrick to be the top 1% in what he is doing. And from what I've seen in on of HN's thread last week, a lot of people are aspiring to be the same.

Funny enough, after I typed the above paragraph, I just realized that I can't actually think of a good way to move to the US if I was Patrick. And I'd wager I know more about immigration (pertaining to tech works) than at least most people here, seeing that some of you quoting H1B as "over 100000 coming per years". H1B won't work, you can't have side project/ company on H1B while in the US. And I'm not particularly sure Kalzumeus Software will fit the profile for the investing/ job creators visa one. O visa is just iffy. (Special visas for country aside).

I'm not sure if I'm a great programmers or not. But I'm young enough to hope that I could one day be one. Please, actually proposing solutions on how great programmers could come to the US, with current immigration laws or any changes you think should be made. Keep bashing the H1B is not productive.

Or you can just come out and say "fuck you foreigners", in which case I will gladly reevaluate my plan.

(And then there is still a whole discussion with the OPT system, for some reasons, I have not seen anyone discussing about foreigners graduate from US university, and then have to leave because of the immigration system. There are a whole lot of us too!)

patio11 is very much American, and could easily move to the US if he wanted to.

Actually, now he can't because he's married to a foreign citizen, and the United States puts those people through all kinds of hassle and lengthly waits even if they are married to someone from the US.

I know patio11 is American, that wasn't the point.

Fair enough - but it's distracting; you could write "someone like patio11". Your point is correct: you can't just up and move to the US easily even if you're good what you do, and you're a net positive for the economy.

The fascinating thing about the modern internet is it has made the development of the D programming language possible. The core development team consists of people from all over the world. They are highly competent, and few companies could afford to hire any of them, let alone convince them to relocate across the world.

I just think it's awesome.

My question is why should we only apply this to programmers? What about Mechanical engineers? What about Machinists (there is quite the demand and a very low supply of them if you talk to many manufacturers), what about Doctors, Nurses? Farmers? (there's not much demand that I've heard about the need for farmers, but I think they're important, so I'd like to bring them in to the Country.)

Do we only let people in because of the skills they have? What about the next set of skills that will become more important in the future? What specific set of skills do we let in, which ones do we keep out? What about people who have the potential, but currently lack the skills? How do we find those people?

I don't believe in exceptional programmers, I believe in exceptional thinkers. Programming is a skill, just like any other skill. Some people will be better at it than others. But it's a skill that can be taught. People who are more capable of being the "great thinkers," are more likely to be a better programmer than not, not because of the programming language they know, but because they're able to solve problems. If I ran a company, these are the people I want.

But then we come full circle, who are these people, and do I only let them in because they're "special?"

I also think that way too much attention is paid to what Paul Graham says. Yes, he was successful with certain things, but that doesn't mean he's all knowing and all wise.

As to my biases, I'm all for immigration, but not so much for the H1B program (for ethical reasons, I'm not a big fan of the whole "he has skills that no one else has, so he gets the golden ticket to the chocolate factory. To me, that just means that he/she had a more privileged upbringing than 60-80% of the world. ie, access to clean water, food, education, electricity, computers.)

Uh.. H-1B visas are used to for mechanical engineers, nurses, doctors, and MBA grads all the time. The reason you don't know them is because this is a tech-focussed forum and the absolute number of these visas going to the other professions is fewer.

But graduates of top civil engineering, nursing, biology, medical, neuroscience, physics, etc programs in the country primarily use the H-1B visa for post study employment.

The value proposition needs to be right.

So far, tech companies only propose to let people come and work, for 3 to 6 years. There is no guarantee made to the exceptional programmer that the company will apply his/her green card, and hence facilitate the actual act of immigration. Until The company applies and the application is approved, we are talking just about work visas and not about immigration.

The only reasonable way to immigrate at this moment is through family, which means come and get married to a citizen.

If you don't do that, then you are totally dependent at the whim of the sponsoring company, which might decide at some point during those 6 years that you are not exceptional anymore and hence you should pack and close down all your stuff (apartment, bank accounts, etc) within 30 days (at some point not even these 30 days were not guaranteed).

If we discuss about having talent coming in, then the discussion has to clarify what the value on the table is.

> we are talking just about work visas and not about immigration.

Moving to a different country under work visa is also immigration.

No, immigration implies you are going to stay there. Being on a work visa you will always have the uncertainty that you will have to leave the country.

Did some google search and yes you are right. I just assumed that moving on a work visa also falls under immigration.

Even the "need" for exceptional programmers is really about companies getting a good deal on labor:

> it's easy to imagine cases where a great programmer might invent things worth 100x or even 1000x an average programmer's salary.

Wouldn't it be nice to hire people that are 100-1000x more productive while only paying them marginally more?

There are a lot of things that should probably be fixed in the immigration system/laws, but starting out by labeling one side "anti-immigration" is probably not the best place to start.

If you have something to say that is worthwhile, there is no need to apply labels to people who may think differently.

I wonder if it's as simple as population ratios for programming talent.

Kenyan (distance) and Jamaican (sprinters) runners offer a counterpoint here, the world's best are all from tiny regions, in fact, some are from the same family, and most all train together.



The irony of this is that the old USSR would not allow their highly educated people to leave, fearing brain drain. Then the US does not allow highly educated people in. And of course there was the post-WW2 gold rush to grab as many german scientists and engineers as possible, and I don't think the results of that for the US and the USSR are in dispute.

It's like the other irony that we use tariffs to 'protect' domestic industry and embargoes to 'punish' foreign industry, yet they are merely different words for the same thing.

>It's like the other irony that we use tariffs to 'protect' domestic industry and embargoes to 'punish' foreign industry, yet they are merely different words for the same thing.

And the tragedy is that the majority of voters don't understand this, when it would only take a few hours of econ 101 to teach.

There are a number of problems with this argument. (1) Great programmers are not evenly distributed around the world because most places lack good educational systems. It makes sense that most are in 1st world countries. (2) Big companies have offices in India, China and elsewhere. Immigration policy does not prevent Google from hiring every great programmer on the planet. What's their complaint? (3) Do many companies need great programmers? Sorry, but your web/mobile app isn't rocket surgery. (4) For every single product on the planet the market finds a price to match supply & demand. Why are tech jobs different? $200k in SF is worse than $100K in Dallas. Increase salaries; problem solved. (5) PG says startups are DESPERATE! Yet they won't consider remote employees, so I guess they aren't that desperate. (6) No one can spot a "great" programmer in a pile of resumes. Maybe your interviews and hiring committees suck?

The least controversial policy is 1st world countries give their foreign STEM grads Green Cards (or equivalent). The 2nd easy solution is to pay top programmers lots more money. If they are indeed worth "100X or even 1000X" more than the average, it makes economic sense to pay at least 5X more. Only hedge funds seem to understand this. Finally, any company with 200+ employees can put an office in India/China and hire everyone they want. You can either wait for politicians to change immigration laws, or make remote offices work. Which is more likely?

"Desperate" but won't hire anyone over 35 or who doesn't look like they "fit in", regardless of ability....

I know I'll go of a on a tangent here, too, and won't directly address the PG posting, but it really saddens me that every time there is discussion about immigration on HN, it always degenerates into an us vs them argumentation between employer and employee and how each side can maximise their profit. Rarely anyone seems to care about the social or humanitarian angle of it, not to mention the historical significance to the US as a country. Is it really that controversial to allow other people that didn't win the birth-lottery a chance to work here if they proven themselves to be qualified enough? Isn't that what the US was founded on and what at least the H1B was exactly meant for? And can anyone really honestly argue that the 65k H1Bs that are awarded each year could put considerable pressure on the average wage in a country of 300M (especially considering the strict wage requirements which people seem to happily ignore in most arguments here). Why are people so upset about a few immigrants - fearing for their wages - when clearly the wage-fixing amongst Google, Apple & Co. had a much more severe influence? Isn't this obviously the typical spiel of blaming and fearing the immigrants for situations much better explained by internal actors that should be feared (and possibly punished)?

It seems plausible that there is a dearth of exceptional programmers, and that it would be difficult to rectify this by training more. But scarcity is a fact of life in any market; is there anything special about the labor market for high-end programmers? If the CEO that pg mentions really wanted 30 programmers tomorrow, why doesn't he attract them from other companies by offering them higher wages? Before you dismiss this as naive or impractical, let me point out that this approach has been empirically validated: Facebook was able to massively scale its developer workforce by poaching employees from Google.[0] I'm not even arguing for or against more immigration; it just seems strange to me that this essay is ignoring the elephant in the room, particularly when there's been a well-documented conspiracy among the biggest companies in the valley to suppress developer wages.[1]

[0] http://techcrunch.com/2010/11/11/google-offers-staff-enginee...

[1] http://pando.com/tag/techtopus/

I think it's useful to rephrase the emotive, and unclear language used in this debate (like "driving down prices") into the language of economics.

Let's assume there are two types of programmers, normal and great.

Now in a competitive market (which the labor market basically is, especially since the collusion issue has been dealt with), wages and employment levels are determined by supply and demand for each type of programmer.

The current H-1B system allows in both kinds of programmers, increasing the supply of both kinds, and thereby lowering wages. It's important to note that pg makes a mistake when he conflates lowering wages, with H-1B employees earning less than Americans. In fact, if wages stayed the same then the H-1B program would have no effect. When startups complain they cant find the right people, what they mean is they can't afford the effective wage needed to steal people from Google or Facebook (there is always a number that would make them switch).

Now in this framework, pg's proposal can be rephrased as "use H-1Bs to increase the supply of great programmers, instead of ordinary programmers". I agree this is a good proposal, because this gives the best tradeoff in terms of cost (i.e. whatever it is that makes the US limit immigration in the first place) vs benefit (reduced costs for employers).

When analyzing this situation, it's very important to note that high wages are a bad thing in themselves. Just like high prices for milk are good for milk produces and bad for milk consumers, but given the option to create cheap milk (e.g. artificially) society should always take it.

Some people like to compare programmers' situation to, for example, doctors. But to the extent that the AMA artificially limits supply, this is a bad thing for society. Trade unions or professional organizations that use political lobbying (or violence) to artificially limit supply, are harming society for their own benefit. People sometimes claim that tech is full of clueless nerds. I would argue that the "nerdiness" of tech workers also correlates with a decreased capacity for the self-deception needed to support AMA style unionization, and that this is a good thing. It might result in lower wages, all things being equal, but it also results in a better industry overall, and higher growth that itself creates higher wages.

High wages are only a bad thing from the perspective of capital. From the perspective of the middle class, they distribute capital (and reward effort) more equitably.

So the theory (see "general equilibrium theory" of "welfare theorems of economics") is that increasing the supply of labor (or any other input for that matter) results in greater total output. And since the more expensive labor is the the labor of "great" programmers, increasing the supply of great programmers results in a greater increase in total output.

In general, economists (including myself) assume that increases in total output are always worth it, because the taxation system can account for the redistribution effects. This isn't guaranteed, since redistribution isn't free (some estimate that $1 of tax revenue costs $1.30 to the economy), but I think it's a very good rule of thumb.

So if you want to help the middle class you should support a more progressive taxation system, not higher wages [1].

[1] and by higher wages I mean higher wages for their own sake. Making workers more productive, which might raise wages, is also a good way to do this.

While I do agree in the general sense with what is being said, I very much dislike it when numbers are abused to strengthen a subjective argument. It feels like you're abusing facts and lying.

>"Which means if the qualities that make someone a great programmer are evenly distributed"

This is a pretty big assumption, there are huge cultural differences between, for example, India and the US. Who says that these differences could not enormously sway the distribution of great talent?

The next argument made is that since the US only has about 5% of the worlds population it also follows that only 5% of the worlds great programmers are naturally available there. However, apart from the question of potential, there's also the question of opportunity. I'd wager that the standard of living in the US is substantially higher than in most other parts of the world. Which leads me to suspect, but not to prove, that that 5% of 'all great programmers available' is actually quite a bit higher.

It's obvious that no matter how good you _could_ be with a computer, you won't be able to sharpen your skills if you don't have the means and those means are more readily available in the US than in China.

This may be the least inspiring, least visionary solutions for one of the tech industry's challenges I've ever read from PG. That's unfortunate.

The tech industry's hostility to the basic concepts of training and employee development, which have long since been implemented in every other long-lasting trade and industry, need to change. That change needs to start with the industry's most prominent leaders and foremost thinkers.

On the plus side, it is nice to see that HN is not a rah-rah PG echo chamber.

It's a bit disappointing that immigration descends to bring a shouting match over who's more patriotic far too often.

Paul Graham's essay is actually pretty good - it tells gets that we're ending up in a world where the skilled workforce is not heavily biased towards stable, highly developed countries. Rather, countries like India, China, etc now have a skilled work force probably out numbering the long-time developed countries.

For an arguments sake: Perhaps what could be changed here is the scale of time from months to years and a shift in the chosen solution space from harvesting to nurturing?

PG requests more star quality programmers right now. Perhaps a more fruitfull approach would be to figure out what makes great programmers great and figure out how to teach people to be more like them. I.e. hunter gathering for roots versus figuring out how to plant a vegetable garden. What is so great about good programmers? Love of quality, learning by doing - beyond a certain ability of concentration and verbal acuteness I'm fairly confident these could be taught to people in structured form far better than how the current institutions manage. Universities were created first and foremost to train people in complex but established and repetitive procedures - not to be crafting shops even though the latter would benefit learning the art of programming far better. Why not pour the funds required for lobbing into attempts at improving programmer education, I'm sure the ROI in the latter would far outpace the former in the long run.

I'm not sure what PG thinks is so holy about the software industry if his whole argument boils down to the fact that the USA has 5% of the world's population.

By the same logic, 95% of the great plumbers, carpenters, electricians, accountants, lawyers, janitors etc. are abroad as well, let them in too as long as companies here want to hire them, until the USA has > 50% of the world population?

I am from EU and moving to US would not bring me much improvements. Especially with a family it is very expensive there.

Perhaps US could first tap resources within its borders. There are 50 million people in 'fly-over' states which are sort of ignored.

And 1% of all men are in prison, perhaps allow them to learn (and graduate) while in prison. Right now they are not even allowed tv, not mentioning internet.

I think the best way to address everyone's concerns is to do a trustworthy study (trusted by both management and engineers) on the effects of opening the doors under different scenarios.

How does the situation play out from everyone's perspective? If we open the doors too fast, do we get a huge drop in wages, everyone loses their houses, and students flee from tech education? Is there a rebound after N years?

If we open the doors slower, are we able to maintain wages at their current level? After how many years have we fully absorbed the talent and / or the effects of importing more talent start to ADD to the compensation of current workers, based on the improved tech ecosystem?

So, who can provide a model of what would happen at 3 month to 1 year intervals (I'd prefer shorter) in terms of salaries and rent, going out lets say 10-20 years?

Also, maintaining wages at their current level may not be a good thing. It seems that they've been suppressed lately and so we'd be maintaining them at a suppressed level, but this is just to start the discussion.

Two immediately obvious problems in this set of arguments:

1) There'd be more great programmers if they wouldn't all divide themselves amongst so many startups, the vast majority of which will fail. Some other VC's have pointed out this problem as well. Less start-ups overall would increase the amount of great programmers available, and maybe more of them would succeed.

2) PG himself has said that great programmers grew up coding. PG's own population argument misses this as the greatest populations (India / China) do not have the wealth for kids to grow up coding. As people trying to increase the diversity of programmers have pointed out, getting this type of upbringing is hard even in America if you're not a well-off (generally white) male.

There's plenty of talent here in America, but let's be honest, its harder to utilize. It's much much easier to just import talent from countries that have education systems and cultures that do better at creating programmer talent than to fix America's deficiencies.

There are many problems with PG's arguments.

1. It's painfully obvious that he doesn't talk anybody in the trench.

2. If H1B Visas used the way it was intended, there would be no issue with finding those great talents. Instead, H1B Visas are used my large consultancies and corporations for tapping cheap labors.

3. There are strong programming talents in Western and Eastern Europe, but they are not knocking down embassies to come to the U.S. despite much better job prospects and higher pay. Because quality of life is inferior.

4. You don't need a company full of 'great programmers'.

There'd be more great programmers if they wouldn't all divide themselves amongst so many startups

This is a silly argument that suggests that some wise arbiter ought to choose which startups get to exist. In reality, startup engineering skills are unique and involve a sense of architecture, efficiency, and often making due with insufficient time/resources. Everyone working in a startup is getting some of this experience.

great programmers grew up coding

It's 2014, many people in other nations did grow up coding. One doesn't have to ahve had a TI-994A in the house to be considered "advantaged" in this respect anymore. For the past 10 years, any browser with a js console qualifies.

The point of PG's essay is that there shouldn't be barriers. Let the startups at least have the option of hiring various engineers and let them learn from that how to best hire, rather than having to scrape the bottom of the barrel in the US.

>Less start-ups overall would increase the amount of great programmers available

Sure, kill the innovation. Don't start many startups. Hilarious.

"American technology companies want the government to make immigration easier because they say they can't find enough programmers in the US. "

I think the question is who are the technology companies that want the government to make it easier. Is it "traditional established" companies that can't get quality programmers because anyone good is off trying to hit the lottery at a startup? Or is it the startups (trying to hit the lottery) who can't recruit?

Either way the question is if the chance of a startup working is considered mid to low (failure rate) then what happens to all of this exceptional labor down the road? The assumption that the current demand (startups) will last for a long time isn't necessarily correct.

Being in business many years (longer than PG iim and it should matter actually) I've seen plenty of cases where people make a demand assumption that later turns out to be the reason they go out of business (buy a new warehouse, expand the restaurant and so on).

That exceptional labor either moves to other businesses locally (good for the local economy) or it goes back home and you're back to where you were. Not sure what the downside is here?

Educated, hardworking people are always a fantastic asset to any country. They're not the ones you need to be worried about no matter what the economic condition. This isn't about bringing in a lot of migrant farmers for permanent citizenship.

My suggestion: New VISA. Similar requirements and restrictions as an H1-B (educated, employment based, dual intent so can be switched to a green card with enough time). Only companies (no subsidiaries) with more than 3 employees or 500K in the bank and less than 500 employees can apply. Don't have the same timing as an H1-B, make it like the O1 where visas can be processed and granted year round.

I agree with the basic thrust of the argument, but there are a couple of sticking points:

The first thing that caught me reading through the comments section here is that a lot of folks complain about immigrants pushing down wages. While there are certainly places that happens, I don't think that's what Paul's talking about here. However, there is another form of that which does happen -- immigrants do stabilize wages, even at startups, and wage fluctuation dictates some of which businesses are tenable and which aren't (and where they're tenable and where they aren't -- some businesses that would make sense in Dehli wouldn't make sense in San Francisco).

For the CEO mentioned, as salary goes to infinity, so to does his ability to hire as many great developers as he would like. To hire 30 developers the next day, there exists a salary which would make that possible. It's just that his business would probably not be tenable paying that much.

So, I think there's a component missing to the essay: how much wage stabilization is desirable via immigration? There's already a salary gap between working as a developer in the Bay Area vs. working almost anywhere else. How large should the ratio be allowed to grow? How much of being the hub is defined by having wages that are a small multiplier of wages elsewhere in the world for the same positions?

Second, the title seems a bit unfortunate. There's obviously not a uniform distribution of great programmers around the world. There's probably a pretty strong correlation between the distribution of home computers a decade ago and the home countries of great developers. The distribution not being uniform isn't really important to the point being made (it's fair to assume that most great programmers weren't born inside the US), but since it's implied so prominently in the title, it's harder to give it a pass.

> 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. > ... a great programmer might invent things worth 100x or even 1000x an average programmer's salary.

I like how Paul slips in some encouragement for engineers wanting to start their own businesses.

I also highly doubt MS / Amazon / etc who want unlimited H1Bs would be paying these great programmers 100x or 1000x times their average programmers. Especially since they are not doing that right now.

That implies either "average" programmers are being overpaid by a lot, or that great programmers are being taken advantage of. I highly doubt its the former, so hurrah for industry.

I'm new to HN, and would consider my self a competent developer. How does a competent developer become an exceptional one?

Why do you want to become an exceptional one?

I'm going to give you an alternative answer. There is a hard limit on our personal abilities. There comes a point where a lead developer matures by bringing on people onto their team who are better at X.

I really like this comment from an AskHN from jlcfly several weeks ago. I hope most of us embrace this philosophy as the reality is programming as an art is much more important than programming as a rote skill.

"Teach them to be better than you. That may seem counterproductive. I have a type A personality, and I have decent coding skills. I've been in your situation a number of times. I also know there's these mythical expert developers out there that I can't seem to find (or afford). So, what to do? A few years ago I realized that if I continue down this path, I'll end up with some serious health issues due to the stresses that come along with having a reputation for being a really good developer.

So, I decided that instead of searching for developers better than me, I would teach developers I work with how to BE better. It's taken a lot of patience. And it's taken me quite a bit to LET GO of my way of doing things. I had to take my ego out of the picture. (VERY hard to do.)

Nowadays, I realize that developers don't have to BE better than me. I simply have to ALLOW them to do what they do without being so obsessive about it. Turns out, even junior developers really CAN do good work. They just need a little guidance that only comes with experience, and then they need me to get out of their way."


"There is a hard limit on our personal abilities."

Reading this makes me think of fixed vs growth mindset. Also, I feel that the 'hard limit' is way beyond the 'exceptional' line. So anyone can work and become exceptional. I feel like the 'hard limit' applies if you want to be #1 or something not the .01%.

You are correct.

Technical ability is somewhere in the continuum between fixed and growth. When I look at natural artists draw portraits, I realize that it will take me years and days of continual practice to get to their point (even if I ever do). The true measure of a good portrait artist is how few lines they take to capture the essence of an individual.

As someone once explained to me, it is hard to be the global maximum (e.g. the most attractive person in the world or the best coder in the world). It is much more achievable to be the local maximum (e.g. the best listener/most interesting person at the party, the one who regularly gives interesting technical talks at the local niche meet up). And really - therein buried is my point - if you truly want to be an exceptional programmer, I believe you must help others become better. Otherwise, what are you contributing? Your high income paycheck to buy stuff? True happiness comes from belonging (strongly) to a community.

The way I look at fixed vs growth is in terms of diversification. Yes, if I invest 1000 hours in beginning to go through TAOCP - I might become a better algorithmic thinker. However, what would becoming a better algorithmic thinker do to my medium and long-term goals? I personally and strongly believe that the more we invest in areas that we have interest in and may fear a bit (fear is a very good indicator of what you need to work on) and yet may be relatively weak in e.g. learning how to sell, connect to people - the more diversified your life, relationships, acquaintances, and skills will become.

Congratulations, you are now an exceptional developer!

In all fairness, this is merely a label and I would argue one that only applies at your current employer. ie It's not automatically transferable.

If you want to appear exceptional, get an advanced degree from a great school and get large, well-known companies on your resume.

If you want to be exceptional, help others around you become exceptional. Always be learning, always be teaching.

Best of luck on your journey!

Whether a person is exceptional is wide open to politics when there are large salaries on the line. That is the primary problem. We really have to look at the people that are touting others as exceptional and ask what their agenda is.

You want great programmers? Exceptional? Why would any exceptional programmer go to US on H1B visa? It is such a short leash - no way anyone truly great would trade Europe or Asia for a chance to be a slave in a cubicle, ready to be fired at moment's notice.

You want exceptional programmers, Paul? I will tell you a way to find the truly great ones, and promise that other developers will NOT be against it. Any developer can come here, provided that the hiring company:

1. Pays him / her $1,000,000 (1 million US dollars) per year, tied to inflation. I don't care how you search or decide, but that is the best indicator of a truly exceptional programmer - paying him / her a LOT. 2. If the contract is broken for any reason, the exceptional developer gets the severance package, for example a 6 months salary.

Hmm, I do not see you or anyone else advocating for exceptional salaries to pay for an exceptional programming talent. Case closed.

Assuming linearity, there's 1/10 of the number of exceptional programmers in Canada vs the US (based on population). The educational system's are comparable, as are the social environments. Canadians can get TN visa to work in the US with a job offer and a CV at the port of entry, so there's no "paperwork problem". Although it's probably a bit more difficult than coming north as it's trivial coming north...

So, if it's important to hoover up the rockstars from Canada, there's nothing stopping companies - they already have the weather advantage, and relo costs are pretty low for most singletons. The only negative is that the TN visa can't lead to a green card. But I doubt most startups are thinking "six years, get green cards for the staff".

Why can't this argument be flipped on its side, if 95% of the best programmers are outside the US then why aren't the venture capitalists investing in and building companies outside the US? Surely we should see 95% of their portfolio companies are outside the US too...

95% of the VCs are in ONE TOWN. Its not a USA vs the world problem. Its just a concentration of wealth problem.

And hey, its not like the best programmers are sheep being herded into the US. They have to apply. Don't they get a say? In a one-world view it doesn't matter where they work.

This. I thought that all the way through too. Why is it not reprehensible to be advocating a policy that sucks the talent out of the rest of the world for the glory of Uncle Sam? There are exceptionally talented people all over the world, VCs need to get on planes more.

There's a number of comments here disputing the "even distribution" assumption pg makes. The disagreements are wrong because pg did not say that great programmers were evenly distributed, just that the qualities that make great programmers are.

Some of those qualities are, IMO, curiosity; a mathematical inclination; attention to detail; an ability to quickly move between levels of abstraction; and so on.

I have no trouble believing those qualities might be evenly distributed among all humans. Of course, in many places people with those qualities might not choose to study programming, because the local culture and economics do not reward that path. An established and reliable migration path to a place where it is valued might change those choices though.

If depressing compensation isn't a goal of tech companies, than why the collusion between many of the large tech companies via their anti-poaching agreements? Compensate them with the benefits, environment and challenges that will keep them, instead of colluding to prevent their mobility through a free market.

Also, if "natural born, exceptional" programmers are so rare, would you not have to invite 999 "competent" programmers, of which we supposedly need no more of, in order to get that 1 "exceptional" programmer which Graham claims we desperately need? So to get thousands of exceptional programmers, how many competent programmers would have to be invited into the workforce as well?

1) By training you will uncover latent great programmers.

2) By training you will raise overall education level, making life easier and more pleasant for everyone in country (any country, not only US).

Either I getting old or PG getting sloppy. His latest essays do not stand a bit of critique.

At the core of PG's post are two related errors (1) that US companies, without immigration barriers, would choose to recruit these top 5% programmers, and (2) that these 5% would want to move to the US.

Whether companies even can select out this 1-in-20 person is implausible, especially from overseas. The top 25% maybe. I can only ascribe (1) to an unreasoning faith in American capitalism and (2) to a lack of travel and living overseas.

In my experience the 5% programmers are already taken. America does need to reduce the immigration admin burden to encourage innovation, but its only a part of the problem. And maybe American companies should try harder to innovate in other countries.

Surprisingly, the solution is the free market. Make a pool of 5k visas with almost no requirements. Companies will bid on it. Add 50 visas for startup founders. Run this experiment for al least 6 years and measure the outcome.

On the other hand, that maybe a good thing. If we have more "Silicon Valleys" there will be more innovations, more competition. We don't need one superpower a.k.a monopoly that comes with other risks like NSA.

Price of starting a company is going down, markets are becoming more liquid therefore you don't need SV crazy money to get you going. What is more, you can reach ramen profitability faster outside SF, get more talent.

6 years is a huge time scale. For reference: 10 years ago, China had trade deficits. The companies have a problem now, and it needs to be fixed now.

> The only explanation is that they're telling the truth: there are just not enough great programmers to go around.

Hardly the only explanation.

First, the "career fakers" are unlikely to be seeking international relocation, which means that imperfect interviewing/hiring systems don't exhibit their latent flaws as much.

Second, "post-purchase rationalization" becomes a factor: "I went through this effort in the past, it must have been worth bit."

Third, how much more time is spent vetting a single international hire, versus the same attention to a local candidate? If the outcome is better, how much of that is due to a deeper engagement by the company?

Everybody seems to be discussing the pros and cons of H1-B and it's various misuses etc. It's very clear to anybody who's gone through the process (as I have, both as an employee and as an employer) that this is an extremely flawed process based on a mid-20th century model of industrial work in huge factories.

But PG's essays is not about necessarily maintaining or expanding the existing flawed process itself. It's about the end goal of having a rational legal process to keep the tech ecosystem healthy. Some of the concrete ways I can think of that makes the situation better:

1) Right away, grant all tech degree holders from say, the worlds' top 200 universities immediate medium term visas equivalent to current OPT (Optional Practical Training periods which are short term). The current version of OPT allows about 18 months of work permit for jobs somewhat related to their degrees. An alternate, more politically palatable version of this might only include US universities and/or only post-graduate degrees. A very basic version of this idea can simply extend the term of the current OPT to say, 5 years.

2) Dissociate the granting of green cards to skilled employees from a particular employer. This is a major reason H1-B visa holders feel trapped with one employer (otherwise the mobility between jobs is pretty easy for H1-B holders). Let the skilled immigrant directly apply for permanent residency based on employable skills supported by, say, education, employment, compensation history so far in their careers. Make sure equity compensation is given weight here (to treat the startup ecosystem fairly).

3) Remove the per-country quotas on green cards. India and China having the same quota as say, to pick a random small country - Latvia, is ridiculous and quite possibly mirrors the old style racist immigration policies from the previous centuries.

(1) and (2) will pretty much mitigate most of the issues foreign engineers face when participating the startup ecosystem. All three changes together will take away any motivation/power employers have over skilled employees in today's H1-B -> green card pathway based system. This should also assuage any valid wage suppression issues raised by some people on this forum.

Using the same argument we should be investing more in the groups that traditionally haven't been into programming - women and minority groups. They are already US citizens without needing a visa sponsorship.

"has gone through legal contortions to get programmers into the 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?"

I agree with the essay in general, but this seems like a fairly dumb question. Supply and demand says that a greater supply will tend to drive prices down. That may not really apply in this case, because a greater supply might result in a greater demand (for various plausible reasons); but the question just seems like a poorly-argued part of the essay.

I am surprised by this. It would be so much more efficient to concentrate on building technology that makes working with people around the world as seamless as working with them in the same office.

It would, if it would work. 90% of the technology is already there, in the form of email, videoconferencing, shared docs, DVCS, etc. The problem is that the remaining 10% will probably mean the difference between the success or failure of your organization, and so until somebody can make brilliant chance creative ideas happen between people on different continents as easily as they happen over dinner, people will still have to colocate.

Yea, I've worked at plenty of SV startups. I hear a lot about this "chance brilliance" phenomenon as the reason for stuffing people into the same open space. Usually it just means lots of noise and interruptions where you can't concentrate on anything you are doing.

I can see this argument work when the team is like 4-5 people, but the moment you are at 15 and above, it all breaks.

All the technology in the world won't prevent the person on the other side of the world from being asleep when I need to talk to them.

Oh please. When the server is on fire at 3am, PagerDuty wakes California employees with the same success rate. Surely you can put in your employment agreement that the reason you are paying American wages to someone in a much cheaper location is because they can be woken up at any time. The finance industry has operated this way for decades.

I don't think waking someone up every night at 3am for a question/idea is 'seamless' or productive at all. Delayed email for when they wake up is what we generally deal with, but it definitely creates friction when working across large time zones.

The possibility for misunderstanding is much greater too. You and your colleague might speak perfect English, but you may still have trouble conveying to them exactly what the problem is with the vibrating mirror assembly is that's causing it to wobble without just showing them. That's difficult to do over email, and a conversation of that nature can take weeks, while if you're in the same office it might take hours.

I can see how the situation you are describing works in theory, but the example you are giving is weak. Every device I own has a video camera; I am sure yours do too.

Unless your devices can turn fine/coarse adjustment knobs and handle Oscilliscope probes remotely, I might think it's a perfectly fine example. You would still need to wake up at 3am to have the teleconference, and you would need to continually be aiming your laptop at the device in question.

Additionally you would need to be able to adjust the focal range of your webcam, and it would need to be adjustable enough to pick out fine features. You might also need it to be a high-speed camera.

I don't know a lot of people whose devices have those capabilities. In that case, even a 3am videoconference is nowhere near as good as being in the same room. I've had to work with people under those conditions, and it's very difficult to convey anything other than a course of action.

Maybe 33-50% of the nonverbal communication involved in technical communication is you pointing something out to your colleague, and while it's certainly possible to do that over email using pictures, they will never have as complete a picture as you. Some things you need to see with your own eyes to understand.

It is a fine example, and it is true that my consumer devices don't have the capabilities required. However, now that we are diving into the details of your example, you are presenting the solution necessary.

If the programmer on the other side of the world is so much better than what you can find locally, surely it would be worth the investment for your company to buy high speed cameras, or remote probes, or whatever else, to make this sort of teleconferencing possible.

Laparoscopic surgeons manipulate human flesh by looking at a screen! The first remote robotic surgery happened 13 years ago!(http://en.wikipedia.org/wiki/Remote_surgery#The_Lindbergh_Op...) I understand that medical equipment is incredibly expensive, but you are not saving lives, so your equipment should be cheaper in an appropriate manner. It seems to me that when scaled out, that solution would be cheaper, and would promote better technological progress in the long run, than the upheaval required to import all the world's greatest programmers into the US.

Every night is certainly excessive, but I don't have brilliant unplanned conversations with my teammates every day either.

This is why I'm so bullish on virtual reality.

We don't need to physically touch each other, but occupying the same "space" has a demonstrable increase in productivity and efficiency. Fortunately that "face time" I think can be mostly resolved in a immersive virtual environment.

You also get a lot of other great benefits when working in a virtual environment (why limit yourself to one 24" screen...). For me it's a matter of when, not if knowledge workers spend most of their working day in a VR environment.

Maybe we should look at what the data have to say and then formulate our opinions from evidence?



If you're going to dispute these findings I look forward to reading your peer reviewed published papers.

Typical self-service from yet another rich VC.

Founders don't want to do anything to improve US society as a whole. Investment in education? Retraining workers whose skills have become dated? No- that's expensive and doesn't benefit the rich as much as another steady supply of below-market cost labor.

It's funny that so many of the VC's and Valley elite rail against the ills of the earth resource extraction companies (oil, coal, gas, etc...) yet see no harm in doing the same sort of scorched-earth work with human resources.

"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 is some very flawed thinking right there.

If this statement about how all the great workers are not US was true then they could outsource all programming outside the US easily just like call centers. This article is just more propaganda to pay programmers the same wage as minimum wage.

Not true. The legal landscape in some (many?) other countries gives companies much less recourse against IP violations. When you hire programmers, you typically have to give them access to a substantial portion of your code base if you want them to be productive. For overseas programmers, their country needs to have IP laws with enough teeth so you can be reasonably confident that your programmers aren't going to take your code and run. This is not an issue with call center workers.

Basically this proposition makes complete sense if you're an employer, and complete nonsense if you're not.

Of course the seductive argument of the bosses is that economic growth will benefit, but the post-crisis economy is proving to concentrate all returns to capital, and none to labour.

It's no wonder that those who champion it the most have nothing to worry about to feed and house their families for the rest of their lives.

What PG is stating is broadly true.

It may be possible to eke out a few more % of programmers by teaching computing more widely.

At the moment the bunch of programmers is fairly self-selecting, and there may be many more people who may be great programmers if exposed to the possibilities.

For instance, some people who would normally become metal workers, stone masons, fine artists or mechanical engineers could make excellent programmers.

I seriously doubt the wisdom of a CEO who is willing to go from 70 to 100 programmers in one morning. What's he going to do after lunch?

Sure, sounds great.

But out of all the people that would love to immigrate to the USA, how can we possibly distinguish the "great" programmers from the merely competent (or less)?

Hiring is already an extremely difficult problem for the most sophisticated technology companies in the country. We can't possibly expect a government agency to do it well at all.

I see PG's resume, but I seriously wonder how many programmers he's interviewed, hired, managed, and fired in the last 5 years. How often has he thought about what to pay his engineers in relation to their output and others in the group. How much experience does he personally have with offshoring? I bet not that much actually.

Skilled programmers are able to generate incredible economic value, and companies having difficulty hiring should consider whether they are undervaluing programmers when they set salary ranges.

It's possible to quickly test this by simply adjusting the salary ranges upwards until good candidates start accepting job offers. Believe me... it works.

Or, perhaps, companies should become smarter about recruiting and hiring the large-but-unknown "false negatives" that are generated by their current process. Easier to implement, a competitive advantage, and you don't have to run a lobbying campaign. All you have to do is prick a few egos. Oh, wait... that's why.

First, characterizing anyone against the current H1B program as anti-immigration is a nice political tact but has nothing to do with the truth. It is a great way of framing the other side, but it is not a nice way to debate, but it is so common.

The current H1B lowers prices of IT by mostly supplying body shop consultants to American corporations. Go look at the stats of who is getting the most H1Bs and the dirty tricks they are using to assure no citizen can apply for those positions. Now that the big players have been caught illegally colluding on depressing wages this is the next step to cheapen the wage pool.

Second, the silicon valley folks could start recruiting a lot better. Since we talk about ageism[1] and sexism so much, perhaps some effort into recruiting could be spared. While we're at it, perhaps recruiting from other colleges that have programs[2].

Third, I'm all for legal immigration after all part of my family came that way, but I want the H1B program (and its hidden friends) removed. I want all the folks who came here and got degrees given first chance with NO indentured servitude to a single company. The American taxpayer had a hand in educating these students and it is high time we got value from it.

Yes, we should speed up the path for STEM folks we need, but it should not be at a single company's whim.

1) It seems like hollywood actresses have about the same career length as programmers (30 is too old, 40 and 50 are un-hireable).

2) Microsoft in the 90's made it very clear they only wanted people from the school I attended for support since we had a nice midwestern accent.

I wonder what the all up cost of getting someone an H1B visa is currently? Is this an annoying bureaucratic hurtle or a real barrier to talent entering the US?

My perception is that the cost is around $20k (lawyers/filing fees) + some uncertainty due to the lottery. Is that a barrier to a person that's worth paying $100k+?

The problem isn't the cost. Most tech companies (in SF/the Valley) at least will gladly pay the 10K in legal costs (amortized over 2-4 years, that's a small percentage of fully loaded cost). The problem is the cap. If you try to bring in a talented person then you're rolling the dice. 50% chance they get H1-B - oh and you can't apply until April 1st, and you don't find out for 2 weeks (if you expedite) or 3 months (if you don't). And if you DO get the visa then they're not allowed to start working until October 1st.

So you have to take them through the entire process before April 1st - so realistically Jan/Feb/March, and then you won't actually be able to have them in house until October. Large companies can weather that kind of delay just fine, but a 5 person startup?

I decided to write about this myself, as a place to collect a lot of my thoughts on the errant economic and moral reasoning I see on these threads:


Some seem to believe that software developers are so focused on programming that they were never exposed to basic macroeconomics.

If supply goes up, price goes down.

It may be better for employers, and the economy as a whole depending on how you measure, but it is not in the best economic interest of those already selling their development labor.

> 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 the US, where they then paid them the same as they'd have paid an American.

The whole argument hinges on this unverified anecdote.

Sorry, but your personal experience isn't universal.

Why don't SV companies hire programmers abroad by opening tech centers abroad? That's what other tech companies do, either directly or via outsourcing companies like SII or EPAM. Quality control is mostly a matter of pay - if it is good enough, you will get the same quality of work as in US.

But, is it really necessary that all, or most, those exceptional programmers are concentrated in one country? Becasue in the end that's what is being advocated here: keep the US a technological 'super'power. Why is that needed (honest question)? How about diversity?

Please tell me how the startup you mention identifies great programmers.

I would not be suprised at all that they are yet another company that thinks solving trick programming questions under pressure is what makes someone great vs not great.

sorry but i call bs on your startup that cant find great programmers.

One thing that I don't get about the critics (especially the liberal-inclined) from H1B programs is: even if opening the gates ends up resulting in cheaper labor, what is wrong about that?

If the gates were open, the ones coming here to work for cheap won't be taking your jobs at the next startup fad. They will be working doing the things that Americans don't want to do: improving network infrastructure, doing boring TPS reports in biotech firms, basic IT, local (better) tech support, maybe modernizing your craptastical banking systems. None of the Americans that complain about H1B ever seem to realize that.

You guys seemed perfectly fine to have the Chinese building your railroads and to have the hispanics taking care of your children or to work in the kitchen of your favorite restaurant. So much so that you seem to be okay with giving amnesty every 10-20 years to undocumented immigrants. No need to worry, the status quo will not be challenged.

What is wrong is that cheapness is enforced by making those laborers a second class citizen- they need to stay with the company that sponsors their visa or they get kicked out of the country.

Thats also the only reason why they're cheaper. Because, by law, their employers have stripped them of the only negotiating right an employee usually has- the ability to switch jobs.

This would be unethical enough if it existed in a vacuum, but instead it exists in context of citizens trying to get jobs, lowering their value while pitting them agains the workers without rights.

So we should let people come and give them more rights to switch jobs. Simply keeping people out is not the answer.

Yes that is the point I'm making. That is not the point Paul Graham, Zuckerberg, or FWD.US are making. And if they aren't making that point, it's not going to be in the bill that gets passed through congress.

I know all of that. I was one of them. But you got things half-right. If it were easier to companies to sponsor H1B visas, it would also mean that it would be easier for me to switch companies if I wanted.

I got a H1B outside of the quota (education/not for profit). The industry I was working was probably paying 10-15% than I could get if I got a job at a tech company, but not any lower than a startup. Every startup I interviewed was paying the same or more than the job I took. They would gladly pay whatever I asked. The problem was in dealing with the bureaucracy of immigration. Most of the fear of switching jobs would go away if foreigners knew they could be easily hired by small/medium-sized companies and startups.

The most honest and fair thing would be to grant the visa for a time period, and let the visa holder negotiate with companies like any other citizen.

But thats not what this recent 'reform immigration' movement is about. When you get down to it, the tech immigration movement, FWD.US, is basically asking for more H1B visas to be allocated, which will give the biggest companies even more of an advantage against both competing small companies (that don't have a legal team dedicated to immigration) and employees (who can't negotiate against captive labor).

Thats why it's basically composed of huge companies, and you don't see much buy in from smaller ones.

Nothing is wrong with that. Except that the Bay Area has become so ridiculously expensive, that at the end of the day, the only ones making real money there are the landlords. The landlords who were lucky to buy a piece of shit property 30 years ago for a dime and now charge you thousands for it.

Still want to drive salaries downward?

Recognizing other countries' education/qualification/certifications would assist, as well (once they are here). I have spoken with a few people directly that had to start over once living in the US, their previous efforts were discounted.

>> [2] .. An influx of inexpensive but mediocre programmers is the last thing they'd want; it would destroy them

i wonder if the great amout of inexpensive mediocre programmers everywhere else will wtill have a similar a similar effect over the next 50 years.

"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."

Evidence-based policy proposal at its finest :)

... And he could, if he simply out-bid his competitors.

Businesses die when they run out of money.

Paying your programmers 3-500K/year is a sure fire way to run out of money really quickly.

And while a great programmer is obviously worth it, most companies (at the early stage) have so many external factors that even a great programmer isn't enough, they need the time to iterate and find product market fit. You know the whole lean startup thing. So how do you circle that square?

This is true of any commodity - salaries for your talent, square feet of office space, kilowatts for your technology, you name it. It's called business. And it's not at all clear why you, I or anyone else should subordinate our own best interests, to make this guy richer.

But you understand the world isn't that simple right?

Imagine you lived on a land with 100 square feet. You wanted to open a store, but the big supermarket (because they started early) already has 60 square feet and the price of the other 40 square feet is astronomical. So you can only rent out 5 square feet. Well, you can't do much with 5 square feet, and that big market is making lots of money with theirs. So they keep buying more square footage and driving up the prices until there's literally no way any other business can continue to exist.

See, by artificially limiting things you can create a situation where only people that are already in an advantageous position will strengthen that position. Now, if you want only big tech companies to exist and not see the innovation brought forth by small companies then sure continue supporting and advocating for restrictive policies. If you actually care about the long term future of what the human race is capable of then you'd want to remove all artificial restrictions and let the more natural "survival of the fittest" of the market iterate towards new innovations and technology.

Do you understand that the world is not that simple? The only artificial shortage in play, is created by those self same companies - or unemployment in the US particularly among 40+ programmers would be 0%.

If you care about the long term future of the human race you would be fighting both ageism and indentured servitude.

If you know of any great 40+ programmers please send them my way.

I think you are ascribing a conspiracy with something that can be much more easily explained. 40+ y/o programmers first started learning programming 20+ years ago when programming was more low level in general. Furthermore their skills were honed on broken processes and outdated technology. And, if a programmer has been in the industry for 20+ years and they are good, they've most likely made enough money to retire, or are in a management position (and expecting a management position). Lastly, there were a lot less programmers entering the field 20+ years ago than there are today (I'm guessing on this one admittedly).

When you take all of these factors together, how many job-seeking unemployed 40+ programmers are really out there? My guess is that if they are job-seeking and unemployed, they should be looking inwards for why. It's probably a problem that they can solve themselves. And of course it doesn't have to be skill based issues - most people don't live in SF which is where a lot of programmer hiring is happening now. By 40+ you have a family with roots that people don't want to uproot.

If you know of any good programmers that are willing to work as an engineer (not manager) in SF then please please PLEASE send them my way.

40+ y/o programmers first started learning programming 20+ years ago when programming was more low level in general. Furthermore their skills were honed on broken processes and outdated technology

When you have been around technology for a little while you will see that the changes over time are superficial. There's actually not much you can do with a fancy Angular app now, that you couldn't do with an IBM 3270 terminal 40 years ago. You have a form to enter records into a database, or a report to extract that data in a nicely formatted way. Or Facebook, or Amazon, or whatever, to an experienced programmer these are just forms and reports. They differ from earlier apps only in the most trivial ways, the engineering under them hasn't changed. These old guys built things like banking systems, airline booking systems, that have been running for decades, and will be running for decades more. They know 100x more than any "scrum master" or whatever is in fashion now.

Sadly attitudes like you demonstrate, are common. Hence, rampant ageism and the drive to hire cheap 20-somethings.

Fundamentally programming is all the same: it's pushing around some 1s and 0s. But you'd have to be crazy to think the people in this industry haven't been standing on each other's shoulders and constantly refining existing ideas and developing new ones.

If anything, the pace of innovation has been accelerating.

This kind of "I've been coding banking systems that have been around for 20 years what do you know you little snot" faux-elitism is the exact attitude that makes certain kinds of developers absolutely horrible to work with. I hope you recognize that.

Not really, it's the voice of experience. For example, I did Versant in the 90s, and the reasons we ripped it out and went back to Oracle, still apply when someone says "let's use MongoDB!". But too many people in the industry lose out if we stop reinventing the wheel and start REAL innovation.

there is no god given right to cheap labor.

the problem here is that investors want to have it both ways; a free market in terms of laws, restrictions, HR policies, etc, but when that same free market drives up their costs, all of a sudden "whoa, why do we have to pay this?"

If the market can't support high priced labor, then you should go out of business. Simple. That's the way business works.

I'm not sure this is really the case. I know many programmers who say they won't work for finance no matter how much the pay is. And in some cases the pay on offer is literally 6x, and isn't far off a rhetorical 'million dollars'.

Then why doesn't he hire them IN country X (say India, China). Only pros. No visa issues. Salaries even lower. Excellent people...

Thirty people are more than enough to open a dev office. The real debate is US start-up managers don't want to live in India or China but want to hire foreign labor. We are essentially talking about a very narrow topic about a very small vocal complain-ey minority in one country who want to reframe the debate as helping the smart immigrants of the world.

exactly. And he would have those 30 tomorrow morning if he increased his offer. He is struggling to fill those 30 because he managed to fill the first 70s at a price that he liked, but he is unable to do so now due to change in market condition. But he can't just increase the offer now because then he would have to increase the wage of the first 70.

The CEO couldn't hire 30 tomorrow morning because he wouldn't pay what they're worth, else he would have already hired them.

Exactly ;)

pg may be right in some respects, but that doesn't mean his opposition is wrong.

pg's argument cannot explain the reality that we've all seen: companies hire droves of H1B folks who are anything but exceptional.

Only a fool fails to understand why.

I hope the qualities that make someone a great programmer aren't evenly distributed. I hope that the American education system effectively develops those qualities on average better than any other country in the world.

Fix the obvious, rampant fraud first, otherwise you're dumping water into a bucket with a giant hole in the bottom. If you can't stop fraud then you can't stop more fraud when the numbers are increased.

YC has a big advantage over US: they are not geographically bound to one place.

Say nothing changes in a decade. There's nothing that's fundamentally stopping YC from starting branches in SE Asia, Europe or Canada.

Let's put an exemple of what PG is saying: Ellon Musk

Ellon Musk is from South Africa, he was not born in America. He has created an enormous amount of wealth in the US.

It is as simple as the US won't have self landing space rockets today without this man. Tesla would be bankrupt today, like Fisker.

It seems clear to me after reading comments here that Americans feel entitled to the position of world rulers they enjoy today. As if the wealth they enjoy as hegemonic power was generated in America and not all around the world.

Do you believe your salary is American generated? It is not. You print dollars that the world needs to use because it they don't sanctions are raised to them, or the US just invades them.

But as PG is saying, the world using the dollar as world reserve could change overnight.

You take your privileges for granted.

I get the same feeling reading the comments in this thread. I can see why your comment would get down-voted. Most ppl in this thread do not want to hear the real fact that they are no different than the rest of the labour force. But because they grew up with an entitled expectation they cannot even imagine that someone out there can even be marginally talented as them.

How does your logic apply to the superrich ownership class?

Are they actually any more talented than the people they rule over?

Why is questioning their wealth taboo, but undermining my modest career prospects virtuous?

Minor nitpick: his name is spelled "Elon".

Enlightened self-interest. Great people increase opportunity. To the degree that happens, this is a good idea. In the short term there will be supply/demand issues and some folks will get hurt.

Wasn't it Ben Franklin that made a very similar appeal, regarding all occupations? The US should want the very best talent the world can produce, in every field, not just technology.

Why not both ways? We should seek to make countries open their immigration (not just USA) and we should create a worldwide union of IT workers to protect abuse like they do now with H1B.

I think a lot of those talking about cheap labour really don't understand how the current US immigration system works. Maybe large companies have other options but as a startup founder I've been through the H1-B process and it is anything but cheap and easy. Legal costs are in excess of $5k and the you must pay the employee a prevailing wage. For my cofounder this was in excess of $180k and thus as a series seed startup we simply can't afford to exercise the visa.

I absolutely understand the need to protect US jobs but the situation isn't very good when two cofounders can't stay in the country after raising almost $1m in seed capital and employing US citizens.

It's incredible what shortages exist when you don't provide meaningful work, competitive wages or room for advancement. Time to import less demanding people.

Why would the distribution of great programmers around the world assumed to be even?

Is it because of widely accessible programming resources for cheap through the internet?

We shouldn't restrict expansions to digital talent.

Isn't this what E-1 and E-2 visas are for?

There are plenty of exceptional people who are not given any sort of meaningful opportunities.

As an anti-immigration person, my position is not the one suggested by Paul Graham. I make no claims either way regarding the ease of training people to be programmers. My position is that we should put an end to this ridiculous 19th-century idea that you can only be a productive programmer if you are physically located in the US.

late to the party but hoping someone can answer a quick question. I'm one of those people trying to learn how to code. How i do I know i'm on track to being better than a competent programmer?

Yeah, let's prioritize blind progress over employing local citizens.

>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.

What Paul Graham doesn't understand is hardly any of the H-1B people companies are importing are exceptional, and half of them aren't even competent. It's not even about getting enough labor to fill open positions. It's about flooding the market with low cost labor so US technical people lose market pricing power.

These companies don't even know if there's a US citizen who's qualified for the job. I mean, this kind of stuff goes on all the time:

>The contention of the DoJ in this indictment appears to be that Mr. Cvjeticanin was defrauding companies seeking to hire IT personnel, yet for all those hundreds of ads — ads that for the most part never ran and therefore could never yield job applications — nobody complained!


Not to mention, there's nothing preventing companies from hiring this mythical 95% and allowing them to work remotely.

Please read footnote [2] in Paul Graham's article. He is against the importation of low-cost programmers. He is only for the importation of exceptional programmers, regardless of where they were born.

Why don't exceptional programmers come in via the O-1 visa program? Obviously if they are exceptional it should be easy to meet the standards set by the government for the visa.

There's no limit on the number of O-1 visa's that can be issued in a year so you don't have the lottery effect that the H1B has. The downside for the company that helps their employee get it is that the visa doesn't indenture the employee to the company, so they are free to quit and find a new job at their own pace.

O-1 is also tied to the sponsoring company.

The standards set by the government for the O-1 visa are more geared towards pure research scientist or professor kind of positions. A PhD is a minimum requirement along with publications in top international journals.

Most of the top engineers and developers don't have a PhD or scientific publications. O-1 is more appropriate for an university professor or NASA scientist position. Not for startup engineer.

From reading this: http://www.uscis.gov/eir/visa-guide/o-1a-extraordinary-abili...

It seems like you need 3 of the 8:

1,2, and 3 seem hard to do

4 might not be too hard

5 requires a letter from the company ceo/evidence that you are actually doing something exceptional/useful

6 would be hard

7 is a letter requirement saying that your position is critical, I assume if you are an exceptional programmer it should be easy to get that from your sponsoring company.

8 says you get paid a lot, shouldn't be a problem for any software engineer

So out of the list, 2 of them seem trivial and then you just need to check the box for one other, which if you are in the top programmers, shouldn't be too hard.

7 is not satisfied by a letter from any company CEO. The person writing the letter has to be a distinguished individual in their own capacity. A startup CEO, irrespective of potential, is a nobody. Tim Cook writing the letter means something. Also 1 letter doesn't suffice. O-1 applications typically require 7-8 such letters from distinguished individuals ~not directly related to your field~. At a minimum 3 or 4 are needed.

Remember, US immigration is not an objective process, i.e., you satisfy 3 of 8 points, you are in. It is a subjective process. The sponsoring company hires a lawyer to petition USCIS making a case for the visa. The subjective interpretation of the petition is completely at the discretion of the specific case officer. The recent multi-year trend of evaluating O-1 visa petitions seems to be completely dependent on number of publications in journals, impact factor of those journals, number of citations in google scholar, your work being published in major news media, and several letters of support from distinguished individuals from ~outside~ your primary area of expertise (your contributions are considered valuable if people not in your immediate field have a high opinion of you).

The law offices of Fragomen, Del Rey, Bernsen & Loewy LLP, the immigration attorneys that 95% of Bay Area companies retain for filing immigration visas, will not even accept your case if the candidate doesn't have a Ph.D. with several years of high impact publications.

As you can see, this visa is geared towards positions as university faculty, major national lab scientists, or industry research labs of big firms. This visa doesn't help startups. I know of only one startup that successfully got the O-1 visa for a Chinese data scientist. But that person was part of the CERN team that won the Nobel prize.

There is a huge gap between the targeted beneficiaries of the O-1 and H-1B visa. One is geared towards Nobel prize caliber scientists, the other towards run of the mill developers working in body shops and overseas consulting firms.

The prototypical 10X developers that most startups seek do not usually meet the criteria for the O-1, and is at a disadvantage in the H-1B lottery. A lottery treats every application equally. It makes no distinction between an extremely competent individual and an extremely incompetent one. This favors body shoppers and outsourcers since they can mass-file visa petitions for every warm body on their payroll overseas hoping some of them make the lottery. A startup filing one or two visa petitions for a very specific individual is at a severe disadvantage.

It's interesting that the bar is so high for engineers yet seemingly much lower for musicians, models and businesspeople. Perhaps the solution is to equalize that discrepancy. Or perhaps the bar is much lower in the NYC area for those 3 fields and it isn't evenly applied everywhere.

It is simply because the contribution of a musician, a model, and an athlete is more easily understood by peers in other fields. The value of a 10X engineer is not that well understood by "outsiders" and in many instances by "insiders" either.

Most folks think developers are interchangeable cogs in a machine. They don't think the same of musicians or models or athletes. This is exacerbated by the body shoppers and overseas outsources who indeed consider their developers as mere warm bodies or "resources", and who indeed abuse the H-1B visas. Startups are the losers.

The O-1 visa was introduced before the era of startups and wasn't really geared towards the use case of a startup, i.e., a good developer slogging away in a basement to make the next Google.

The sentiment is nice, but the only selection mechanism presented is that "An influx of inexpensive but mediocre programmers is the last thing they'd want; it would destroy them." One only need look at the current H1B situation to see just how eager most tech companies are to add another mediocre programmer at 30% off market rates.

Graham is missing the 99% of the market that isn't fast growing startups. Large companies don't have any way to evaluate "10x" programmers. I'm sure they'll take those kinds of people if they just happen to luck into one.

But big companies will be happy with mediocre programmers who fill a seat and can implement the latest company security initiative on the tiny section of code that's "theirs" as long as it doesn't cost too much.

In principle I agree with him - we should let in geniuses and people with skills that benefit everyone. But that's just the cover large companies are using to push down their labor costs.

> Footnote [2]: it is dishonest of the anti-immigration people to claim that companies like Google and Facebook are driven by the same motives

Profit? Who is being dishonest here?

How is being against an H1-B indentured servant coolie visa being one of the "anti-immigrant" people?

I guess the women's groups who protest that Russian, Mexican and Brazilian strippers are being imported into Tenderloin clubs are anti-immigrant as well.

There are two different classes of H1B sponsors : Cognizant, Tata, Wipro and gang; and Google, Facebook, Amazon and gang. AFAIK, the latter pay competitive salaries. The former, not so much. Conflating the two is not constructive.

I still don't know what differentiates an exception programmer from a good programmer from a competent programmer from a terrible programmer. Combine that with the fact that this definition has probably changed in the past 10-15 years anyway, so what are the odds that we have the same definition in the future that we do now?

"These companies don't even know if there's a US citizen who's qualified for the job"

This. I really think we're talking about different things though. Clearly, as has been proven, the H1B program is about importing cheap labor. This is a fact, like gravity. I'm sure that entrepreneurs like Paul would love to attract more excellent engineers, but our current immigration mechanisms aren't the way to do it, and really, that's not even what they're for (regardless of what their advocates say, again, based on fact).

What about the 95% of great companies overseas?

a mobile readable version:


Paul's entire argument is a strawman.

H1B isn't about hiring "great programmers". It IS about importing cheap labor. This fact has been proven many times, with actual data rather than rhetoric, yet we still find ourselves having this same argument over and over. Here's a nearly 10 year old study that lays it out:


> Paul's entire argument is a strawman. H1B isn't about hiring "great programmers"

You use the word "strawman" and without skipping a beat replace his argument with one (about H1Bs) that he obviously isn't making.

Read, drive salaries into the dirt.

That or they can pay foreign programmers a lot less and drive the average rate down for everyone.

Or pay them the same as American workers and allow that money have an amazing effect on the world.

Or we can continue only hiring Americans. Those $100 hoodies aren't going to buy themselves.

So the laws of supply and demand don't apply to labor markets?

Increasing the supply lowers the price. Are you disputing this?

what about the countries that are then deprived of this talent?

Its called Brain Drain and its a real issue.

> Anti-immigration people

Like the author? He wants a tranche of immigration slots to open and for that tranche, indirectly if not directly, to block immigrants from Mexico, Honduras, Nigeria, and so forth. These slots are effectively only open to Indians, Chinese, and a trickle from other countries.

So this H1-B proposal is anti-immigrant. It means immigration only from mostly two countries. Of a certain class of person. In order to cut the wages of US programmers and force them to work more non-FLSA hours.

> Exceptional programmers

This is risible. I worked with a Chinese H1-B hire who told me he had never touched a computer until he got to the US. While that may have been anomalous, research on the H1-B immigration program ( http://web.cs.ucdavis.edu/~matloff/h1b.html ) shows that it is not the best and brightest immigrating. The millionaire and billionaire angels and VC's want to flood the US with indentured servants chained to their H1-B visa. Look at the top H1-B sponsors - they are for Tata's indentured servants, not for people doing bleeding edge compiler/AI/whatever work.

> you can train people to be competent, you can't train them to be exceptional

Perhaps not, but I've met plenty of people with the capability to be exceptional programmers, but during non-flush times companies want programmers to have a BSCS, and with public colleges become more selective and raising their rates, they never get a chance to do so. The millionaires and billionaires get tax cuts on their capital gains, so the training they require for this work becomes more costly to the worker, and in fact more workers can't afford it, so a shortage develops. So then the parasite millionaires want to suck off of India's free IIT program instead of restoring US education to the level it used to be.

> how many more he'd hire

Yes, times are flush now. How many was he hiring in 2008-2009? How many in 2001-2002? When the economy goes into the toilet again, there will be millions of indentured servants still here on H1-B visas. How many 40 or 50 year old programmers is he willing to hire? Or are we supposed to pay and take out big loans for our college, work 60 hour weeks in our 20s and 30s with the carrot of options while paying San Francisco rents, suffering through the post-dotcom and bank failure recessions, only to be cast aside at 40?

We hear about supply and demand from the oracles of economics all the time, but somehow this NEVER applies to salaries going up. I mean I am open to hiring programmers right now as well - seriously. You'll be paid minimum wage and the output will have to be spectacular. As soon as the economy dips you'll be gone.

We the programmers work. We are the creators of wealth. I have been studying biology recently, including species which have become parasites. As one species becomes more parasitic on another, it changes form completely. It usually gains hooks and suckers to latch on to the working species it is a parasite off of, and the parasite devotes its body to eating and sexual reproduction. In our modern times, the angels, the accelerators, the VC's are the parasites. These "job creators" expropriate the surplus labor time of we the programmers, the network/system/database admins etc. who do all the work and create all the wealth. The LP's of the big VC firms are the type of polo-playing Phillips Andover heirs you can see in the documentary "Born Rich". Something I know the 20-something unkempt dorks who go to Python conferences know nothing about, although they are the ones ultimately being given their marching orders and who are getting profits sucked off their labor. These heirs have set up additional financial hurdles to getting a BSCS at a public college over the years, and the parasites now want to parasitically suck of of India's free IIT universities and turn their graduates into H1-B coolies over here.

> we should train

When the hell was the last time a tech company really trained its employees? Aside from the odd week-long class here or there? What a farce. Companies haven't trained for decades, and the parasites who use companies to parasitically suck off the labor of those of us who actually work have reworked public US colleges to be more financially impossible to get through than they used to - then they whine they can't find more "exceptional" US programmers. What a farce.

"American technology companies want the government to make immigration easier because they say they can't find enough programmers in the US."

Clarification: can't find enough American programmers willing to work for low foreign wages.

And, ageism.

This is so screamingly correct. Let's go see the startups hire some old COBOL (or now, VB) programmers and train them on the new stacks, before we listen to anymore of this "there's not enough programmers in the USA" garbage.

I used to be shocked at the 9-to-5 programmers. Those who code during the day and go home and (egads!) do not code on side projects. The day of the company Halloween party was always the most jarring. All these 9-to-5 programmers would bring in their kids for the parade. For one afternoon, young, naive me saw that the true meaning of life is your impact on the world. These kids were the world for their parents.

Coming back to retraining, I think some of us in the bubble lose fact of how much dedication is involved to successfully learn something new and become productive. Retraining is hard and, more importantly, not everyone wants to willingly do it.

Someone whose motivation is looking after their family will do anything to do so. Even JavaScript.

I will quote you on this. I don't care if you mind; it's just so good.

Surrender your welfare programs (social security, public schools, the postal office, health insurance, the war machine, NASA, etc) and I'll be on board with completely open immigration. Barring that, you're just another corporate shill looking to profit from the ignorance of the masses.

Well, they are so constrained of talent but then they treat you like shit. What gives?

I don't buy the overall argument here.

Anti-immigration people say that instead of letting foreigners take these jobs, we should train more Americans to be programmers.

I don't think most people who oppose the disingenuous invocation of "talent shortage" (while discriminating against women, minorities, and programmers over 40) by tech executives are "anti-immigration people". Immigration, at a reasonable rate, is a good thing.

What the anti-immigration people don't understand is that there is a huge variation in ability between competent programmers and exceptional ones

I hate being That Guy, but... [citation needed]. I don't exactly know who these anti-immigration people are, though.

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 the US, where they then paid them the same as they'd have paid an American.

I don't think that it's just about driving down salaries. I think it's also about age discrimination (enabled by the ready availability of young programmers) and implicit expectations of obedience. In the US, you get talent or obedience but rarely both. Overseas, you have at least a chance of getting both (but if you're hiring on the cheap, the hit rate for talent is pretty low).

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.

And yet they only want to hire pedigreed men under 40 who live in California... Somehow, I don't buy it. If you want more talent, raise wages. That's how economics works.

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.

We're still the 3rd-largest country by population, and have some of the best land, and speak the dominant language...

Still, I take no issue with what the H1-B program is supposed to be: high-talent immigration. I'm for that. But a true high-talent immigration would have, by definition, to be employer-independent, meaning that once you're in, you're in and can move about the economy just as easily as anyone else.

One of the problems with the H1-B program is that it makes it hard for visa-holders to change jobs, and leaves them beholden to their employers because they can be deported if they're fired. If we're going to have a high-talent immigration program, we should have one... but that requires an unconditional "once you're in, you're in" policy, not some subordinate/contingent status.

Technology gives the best programmers huge leverage

I still haven't seen it. Upper-middle income is a nice improvement, but none of the people buying houses in Palo Alto or Mountain View are programmers. They're all VCs and product executives working 11-to-3 while the engineers do all the heavy lifting.

We have the potential to ensure that the US remains a technology superpower just by letting in a few thousand great programmers a year.

Why not just kill off the bro culture and the age discrimination? If we only need a few thousand more great programmers, then just making the industry more hospitable to women should do the job, right? If that's all we need, there's no reason we need our tech CEOs to lie to politicians about a "talent shortage" in order to get immigration policies changed.

Again, I have no problem with high-talent immigration. I think that we absolutely should allow more upper-tier technical people (if at a level where they'll create more jobs than they take, and top programmers are at that level) into the country. But I don't think that the H1-B program, as it is structured, does the right thing. Once someone has it, it should be employer-independent.

Re this footnote: "An influx of inexpensive but mediocre programmers is the last thing they [Google and Facebook]'d want; it would destroy them"

If this is the case, why aren't Google and Facebook coming out strongly against our current H1B mechanism which is demonstrably little more than a tool for importing cheap labor?

Another great essay by Paul Graham that spells out the idiotic state of the current US immigration system in a clear manner. It is fucking unbelievable that even in the comments here there are still people complaining about foreign programmers driving salaries down or taking jobs from US citizens. Paul Graham is right and any intelligent person can see this.

People can disagree with PG (and you) and also be intelligent.

For example, me. PG is partially wrong, objectively. About the only thing his essay has correct is that there exists intelligent, very good programmers outside the US.

The collusion suit that big tech companies recently settled, the wage stagnation even in our industry, and a wide variety of other facts suggest that keeping wages low is in fact a very important goal to technology companies, and that they will do anything--including illegal collusion--to keep them low.

If anything the notion that there just aren't enough qualified (well-qualified) workers in the US to fill tech positions is at best an extraordinary claim that PG's essay fails by a wide margin to substantiate.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact