Hacker News new | ask | show | jobs
by mattdeboard 5276 days ago
I would like to make the point that Dr. Norvig nowhere in this article says, "It takes 10 years or 10,000 hours to be a programmer." Dr. Norvig himself refutes that notion explicitly here:

http://news.ycombinator.com/item?id=3278080

In a brief email exchange I Had with him, he even suggested he may rewrite this essay to address the fact that it is often used (inappropriately, obviously) to bludgeon new programmers into thinking that they're not actually programmers.

I think often on HN this essay is used to create some kind of caste system based on longevity in the biz or number of hours coded, which is horse shit.

2 comments

I think the broader point is not that you can't call yourself a programmer before investing 10 years of practice -- but rather, that if you're going to learn to program, you should take the long view. You should think of it as a course of lifelong mastery, rather than as a simple skill that you can pick up over a month or two.

Today's self-help culture panders to short attention spans and desires for instant gratification. Everything's "For Dummies," or "In ___ Easy Steps," or "The 4 Hour ___," or "____ in 30 Days." These are all constructs optimized to sell books; they're seldom legitimately helpful for the reader.

While it's indeed possible for an absolute novice to teach himself to code in a short timespan, the endeavor is bound to produce disappointing results. The sort of people who pave new ground, start impressive companies, and generally kick ass in the field, are the sort of people who see programming as a lifelong passion, and not a quick-and-dirty toolset to acquire.

It's about frame of mind, not longevity per se. I don't believe Norvig is implying that you can't do anything cool or useful before you've logged 10,000 hours. Rather, he's saying that the sort of person who does cool and useful things tends to be the sort of person who wants to stick around for the 10,000 hours.

At the very least, the phrase "Teach Yourself to Program in Ten Years" serves as a self-selection gate of sorts. People who see that line can be sorted into two types: 1) the kind who freak out, say "wtf," or think "wow, doesn't seem worth it," and 2) the kind who sort of chuckle knowingly, and proceed anyway. The latter are more likely to succeed, because they have the right mindset. They may not believe they need 10,000 hours, and indeed, they may not. But they see 10,000 hours as an intriguing challenge, rather than a barrier to entry.

I read your link and nowhere does he refute that. In the context of his essay I believe he means it takes 10 years or 10,000 hours (more or less) to be a really good, experienced programmer. You can start playing the piano in a couple of weeks but it will take several years before you get really good. That is the spirit of his essay.
Somewhere between 2 weeks and 10 years you hit a point where you're good enough to entertain people/write useful code and perhaps even make some money doing so. The point being argued against I think is that you shouldn't tell people who are writing useful code that solves real problems that they shouldn't call themselves programmers because they haven't hit the 10 year/10000 hour mark.
>>The point being argued against I think is that you shouldn't tell people who are writing useful code that solves real problems that they shouldn't call themselves programmers because they haven't hit the 10 year/10000 hour mark.

I understand your point. That is not what the essay is doing. It is telling you that to be a true master of your craft it takes years.

Anybody can call themselves an artist if they are practicing art, but only very few get to showcase their work in art galleries. That is how the essay is using programmer in this essay. In the broader sense I agree with you, if you can code then you are a programmer.

Not quite sure if this analogy works. Art galleries are gate keepers just like record labels and calling only musicians with record contracts true masters is at the least "controversial".
The context of his response was that there is this belief on HN that "programmer" is a title reserved for certain people, and that belief is often predicated on an erroneous/incomplete understanding of his writing.
I think this kind of quibbling has more merit around the title Engineer. A lot of people casually call themselves Engineers, including programmers and the guy who replaces your smoke alarm. It is actually a protected title in some regions.