I don't think it works quite like that.<p>When I got my first programming job, straight out of high school, I finished tasks in 2 days that took the other programmers there 4 months.  I figured that if I was that much faster than them, I ought to be able to become a world-class programmer in just a couple years (or more accurately, I thought I could become a world-class physicist in my 4 years of college and then a world-class programmer in the 2 years afterwards).<p>So I resolved to take all the shortcuts I could.  I'd read all the classic books in the field and learn from those with more experience than me.  I'd take internships with experienced, accomplished programmers and pick their brains for everything I could.  I'd take on volunteer coding tasks so I could get some experience building things on my own.  I'd cherry-pick all the tough courses at college so I got the best part of a CS degree without having to sit through stuff I already knew.<p>I did all that.  I've read all the classic CS books - GoF patterns, Mythical Man Month, Extreme Programming stuff, Pragmatic Programmer, Knuth, SICP, TAPL, Dragon Book, On Lisp, etc.  I've worked with programmers that wrote large chunks of curses, Rogue, vi, Jini, JavaSpaces, HotSpot, Gallery, Stratus, Equalogic, DEC compilers, Python, Google, and a bunch of other projects they don't brag about.  I wrote Amherst's course-evaluation system, and rewrote the software for a 100k-user site, and wrote one of the front-page hits for [haskell tutorial].  I have that CS degree, and aced the algorithms class of which you speak, and took compiler design and OS and computer graphics too.<p>It's been 9.5 years since that first programming job, and it still feels like I have a really long way to go before I'm actually a world-class programmer.<p>The part I didn't realize, in my youthful arrogance, was that I was comparing myself to the wrong people.  When Norvig tells you how to become a programmer in 10 years, he's assuming you're <i>already</i> taking all the shortcuts you can.  It still takes 10 years.  Most of the people you'll meet straight out of high school, or in most colleges, or in random companies, will <i>never</i> become programmers in the sense that Norvig's talking about.  Eventually they'll give up trying, and start grumbling on Reddit about how the software industry is mostly boring cubicle farms where they push around Enterprise JavaBeans and never use the algorithms that they learned in college.