That being said, I don't think the estimate is totally wrong. I've been programming for five years, have just gotten through a Software Engineering degree and am comfortable using three or four languages, but there are many people around me with more experience who's development skills I am just in awe of.
The main point is that nobody can teach themselves to be a programmer (or at least a good one) in three days. To build up the amount of skills and experience required takes many years.
Not nonsense, but somewhat arbitrary. Given the present topic, maybe a power of two would be more apt, although equally arbitrary. 8,192 hours (2^13) is the power of two closest to 10^4, based on:
2^⌊log(10^4)/log(2)⌋ = 8192
(⌊x⌋ = floor(x))
It's just an anecdote. It has some connection to reality, but it's not like the fine-structure constant or the gravitational constant.
The 10 year / 10,000 hours seems to come up frequently - care to cite or link to some interesting counters? (genuine curiosity)
But you won't be as "expert" as someone with 20,000 hours. IMO it's a tautological phrase based on your chosen definition of "expert". That's why I dislike it.
Pilots' experience is often measured in hours. 10,000 is nothing special (10 years?), but to a lay person they sure know a lot about piloting, and at a dinner party I'd defer to them as an "expert" on anything to do with flying.
http://stuff.mit.edu/afs/athena.mit.edu/course/6/6.055/readi...
Alternately, you could read "Deliberate Practice and Acquisition of Expert Performance: An overview". It is also by Ericsson and you can find a copy here:
http://www.cogsci.rpi.edu/~vekslv/classes/cogeng2010/lecture...