The article itself is of low quality. Entire sections are based on flimsy assumptions or are just plain false. I'll list a few here:
"The US has less than 5% of the world's population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US."
A huge portion of the world can't even feed itself let alone educate itself to the high standard of an "exceptional programmer" [1]. If we're in the business of making flimsy assumptions then here's mine: I suspect that the US produces the same amount of "exceptional programmers" as the rest of the world combined.
"But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the the US, where they then paid them the same as they'd have paid an American." and
"I asked the CEO of a startup with about 70 programmers how many more he'd hire if he could get all the great programmers he wanted. He said "We'd hire 30 tomorrow morning." And this is one of the hot startups that always win recruiting battles. It's the same all over Silicon Valley. Startups are that constrained for talent."
If you can't hire someone at your expected price then maybe you should raise it. Maybe the market price has gone higher than what you perceive it to be. That CEO could find his 30 "10x" engineers in a heartbeat if he offered 300-500k. Its not your god given right to be able to hire x number of employees for the price you hired your previous employees at.
In addition if you're going to claim an entire thread is of poor quality, back it up. And while you're looking for examples of poor quality, be sure to use http://en.wikipedia.org/wiki/Principle_of_charity
There are many opportunities to apply the Principle of Charity here. For example, that statement about populations can easily be interpreted to mean simply that great programmers can be born anywhere. That's pretty unobjectionable. (Imagine the kerfuffle if he had claimed anything but that.) And does the literal number "95%" substantively change the argument that there are many great programmers outside the U.S. and that U.S. is ill served by startups not being able to hire them? No it does not. Therefore, by the Principle of Charity, that is not the point we should focus on.
My interest in this thread is not about immigration. It's about how far too many Hacker News comments are uncharitable (in this specialized sense) and how that seems to go along with ill-spiritedness. It's time we all stepped up our game.
> And does the literal number "95%" substantively change the argument...
Given PG used that number in the article's title, and even in its URL, it does seem like it's worth debating. If the number was actually 50% as the parent suggests, then suddenly you have a very different argument.
The interpretations you've suggested go far beyond interpreting PG's argument in the strongest possible terms, running instead to interpreting it as a completely different argument. (Although I suppose that's not very charitable of me).
Obviously anything is unobjectionable if you agree beforehand to disregard any interpretation you could possibly find objectionable.
> If you can't hire someone at your expected price then maybe you should raise it. Maybe the market price has gone higher than what you perceive it to be. That CEO could find his 30 "10x" engineers in a heartbeat if he offered 300-500k. Its not your god given right to be able to hire x number of employees for the price you hired your previous employees at.
It's a zero-sum game. If company X hires all 30 of the best engineers currently looking for a job, company Y cannot. Company Y can offer more in an attempt to lure them, but then Company X will be SOL.
We're talking about macro issues here. We want as many companies as possible to succeed.
Or to remain engineers, or to get BACK into engineering without taking a pay-cut. It would increase the supply of good engineers immediately. But I don't disagree with pg; I think we should hire all the greatest engineers in the world, except for the fact that we cannot identify them.
This. Wall Street is full of near-geniuses who would be doing something more productive if finance companies weren't the ones offering the biggest salaries.
"It's a zero-sum game. If company X hires all 30 of the best engineers currently looking for a job, company Y cannot. Company Y can offer more in an attempt to lure them, but then Company X will be SOL."
So what? Why is that a problem that needs to be solved?
I'd like to offer a minor correction. We want as many companies that provide positive value to the economy to succeed.
There is a positive (but not r=1) correlation to providing value to the economy and offering higher pay to employees. We (that is to say, software pros) don't want all companies to get as many software workers as they might want, because they wouldn't pay any one of us a decent middle-class wage.
Does the economy exist for society or does society exist for the economy ?
> We're talking about macro issues here. We want as many companies as possible to succeed.
This is a "society exists for the economy" answer to the question. The whole point of the economy is to decide division of resources. If that means you don't get any as a CEO, well then you should just get the same treatment as a person entering your store without money.
Congress is not talking about increasing elite programmer visas (those visas exist, require extraordinary support for the visa, ie. extraordinary pay or extraordinary credentials, so these people are not a problem IF you're willing to pay). They're talking about letting the Indian "consulting"(what they call it)/slavery(what every sane person calls it) do double or triple the amount of work they do now. WIPRO will be the main beneficiary of this.
I find it kind of hard to believe that companies actually complain about this. But from a perspective of "more money for me (NOW), not for you" it makes sense.
From a perspective of maximizing our countries opportunities I would argue it does not (by itself) make sense.
The assusption isn't false (at least not the one you point out) the main assumption to the article is "great programmers are born" this comes from the statement that you can you can reach component programmes but not exceptional ones. The thesis is not about "programmers" it is about "exceptional programmers.
It is a fact that less than 5% of the population lives in the US. You have to assume the qualities that make a great programmer are fairly evenly distributed (even if that person never utilises his skill) this is not a thin out false assumption.
If you want to attack an assumption, attack the one that says you can't teach great programmers
You are 110% spot on. I really don't like PG using his status to push these pie in the sky numbers to back up his buddies in the valley. We all know that the biggest cost tech companies have are there developers and they would love to put the squeeze on them.
No, it doesn't. There is a _lot_ of detail to the design recipe of HtDP. Right now the recipe isn't written down at all, just assumed, in PAPL. Over time PAPL will provide a light introduction to the recipe, but it will never reproduce the full level of detail of HtDP. PAPL's intended audience is people who have a little bit of programming experience already — ideally through HtDP — and are ready to take their programming up to the next level.
Here's a good quote from the paper "... sicp suffers from a serious flaw. While the course briefly explains programming as the definition of some recursive procedures, it does not discuss how programmers determine which procedures are needed or how to organize these procedures. While it explains that programs benefit from functions as first-class values, it does not show how programmers discover the need for this power. While SICP introduces the idea that programs should use abstraction layers, it never mentions how or when programmers should introduce such layers of abstraction. Finally, while the book discusses the pros and cons of stateful modularity versus stream-based modularity, it does so without explaining how to recognize situations in which one is more useful than the other."
True, having discovered SICP while deep in college, I already went through many languages, paradigms and such, giving ground to SICP ideas. For a newcomer it might be pure fluff.
I also think of George Lucas as a good model, too -- looking at all the things he created that came out of Star Wars (Lucasfilm, ILM, Pixar, THX, etc.)
How about more than two people working together peacefully? How about many? And what if it was the employees instead of the employers? Maybe call it something like.. a union.