654 comments

[ 2.9 ms ] story [ 340 ms ] thread
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.

(comment deleted)
So the laws of supply and demand don't apply to labor markets?

Increasing the supply lowers the price. Are you disputing this?

We shouldn't restrict expansions to digital talent.
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.
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.
Every night is certainly excessive, but I don't have brilliant unplanned conversations with my teammates every day either.
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.

(comment deleted)
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.

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.

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

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

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

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

I guess he thinks your born with the qualities of great programming. So, the meritocracy really can't exist then?
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.
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.
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.
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.

Do you honestly believe USA is a first world country in terms of availability/affordability of high quality welfare, healthcare and education systems?
(comment deleted)
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 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.

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

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

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

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

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.
Exactly. It's strip mining. Destroy the 'environment' with a relatively low yield.
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.
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.
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.
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.
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.

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

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.

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

(comment deleted)
(comment deleted)
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.

(comment deleted)
(comment deleted)
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?
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.

(comment deleted)
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.
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, 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.

http://www.cringely.com/2012/10/23/what-americans-dont-know-...

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

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.

http://www.technologyexecutivesclub.com/Articles/outsourcing...

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?

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.

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

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.

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.

Whoa, whoa, calm down. I was talking about immigrants who come to do graduate work in the US.
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.

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

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

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

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.

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

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.

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

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.

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.

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

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

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

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.
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.
Programmer's don't keep them out of jail if and when they do something that may or may not be illegal.
Most tech startups don't have full-time lawyers, but they have full-time programmers.
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.

(comment deleted)
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.
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.

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?

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?

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.

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.

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

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.

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

http://en.wikipedia.org/wiki/Lump_of_labour_fallacy

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.

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

"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'.
The CEO couldn't hire 30 tomorrow morning because he wouldn't pay what they're worth, else he would have already hired them.
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.
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. :)

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.

anti-capitalism feelings are also strong in many EU countries

Where?

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

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.

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.

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

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

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