HN user

nhjk

78 karma
Posts1
Comments8
View on HN

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

"The US has less than 5% of the world's population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US."

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

"But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the the US, where they then paid them the same as they'd have paid an American." and "I asked the CEO of a startup with about 70 programmers how many more he'd hire if he could get all the great programmers he wanted. He said "We'd hire 30 tomorrow morning." And this is one of the hot startups that always win recruiting battles. It's the same all over Silicon Valley. Startups are that constrained for talent."

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

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

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

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