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