What It Takes to Become an Expert
In his book Outliers: The Story of Success, Malcolm Gladwell lists the factors that lead to personal success. His analysis includes fortuitous timing, an encouraging upbringing, a supportive cultural legacy, and lucky opportunities. Lacking any of these can derail success. But the foundation, he claims, is the 10,000 Hours of Practice rule.
He claims that this is the amount of intentional practice needed to truly master a skill. While Gladwell gives a number of convincing examples to support his claim, the rule has, of course, come under criticism. For me, it’s not a number of hours (or even a range); it is the idea that it takes time and practice to hone our skills.
Those of us old enough remember the Beatles as they disembarked from their plane in New York to the cheers of thousands of fans. Their UK and US success seemed immediate. However, most of us don’t know the whole story. Four years earlier, they were performing in a small club in Hamburg, Germany. They were expected to play four hours each weekday night and six hours on Saturdays and Sundays. The apparent “overnight” success of The Beatles actually was built on this foundation of years of practice.
I’ve been programming for more than forty years in FORTRAN, BASIC, Algol, COBOL, RPG, various machines’ assembler languages, HTML, JavaScript, CSS, Java, C, C++, C#, and SQL. I’ve dabbled in another dozen languages. Computer languages are like spoken languages: They are more than vocabulary and syntax that can be quickly learned. Each contains idioms that must be mastered before “expert” status can be assumed.
I’ve written everything from business financial software to operating system drivers. I consider myself experienced, but I still don’t consider myself an expert. There is simply too much to learn. There is simply too much to know.
Others propose a different path to expertise. A few hours of instruction, coupled with an examination that tests the ability to memorize terms and apply them trivially, is seen as an easier road to “expert” status. We’ve seen a proliferation of “code camps” claiming to teach programming in ten or twelve weeks. These courses choose one or two stacks of related technologies and teach the rudiments. I am sure they do a fine job, given the limited time and scope, but this is not teaching programming in the same way a 150-hour certified nursing assistant course is not a medical degree.
While we all must start somewhere, don’t believe that after a brief introduction, you’re an expert. You’ll need to put in the time. When you are competent to deliver value, respected by your peers, and qualified to teach others, then you’re on the road to becoming an expert. There is no silver bullet; the only key is practice.