Productivity is closely related to skills and talent so it’s been something that I have a keen interested in.  The actions you take to get better at what you do have fairly important role in your wealth and happiness.

I recently read the book “Talent is Overrated” by Geoff Colvin.  It was insightful in a lot of ways and built upon ideas that I had myself about what it takes to reach for the pinnacle of success.

Geoff busts a number of myths about successful people.

  • High IQ does not correlate to significantly more success
  • Fantastic memory is a skill you develop
  • “Deliberate Practice” is the (only) key to improvement
  • Experience in many cases correlates to lower job performance
  • Child prodigies rarely maintain their lead into adulthood

In a handful of skill sets there is a very clear framework for practice.  Music, athletics and chess have very well understood methods for improvement.  You start early, practice, learn and exercise until your skill improves. Stick with it long enough and it’s possible to reach world class standards.

With other domains of knowledge the frameworks for practice are not as well defined.  How do you practice software programming, project management or reading x-rays?

If deliberate practice is the determining factor in skill acquisition then how can we make sure that the education system supports it, and society builds on it to influence corporate decisions in an ongoing way?

The term “deliberate practice” is specific.  Simply working 9-5 at work related tasks where you’re expected to produce output is not considered practice.  Deliberate practice is hard by design, it is a process to continually push you slightly past your current limits, repeatably, and with feedback.

Hitting a bucket of golf balls at the driving range is not practice, but it provides the illusion of practice.  Without a coach to identify and provide feedback on each swing it will be very difficult to improve your skill.  Even Tiger Woods, at the top of his game, had a coach.

To answer the question for something close to my heart, how do you deliberately practice software development, I believe the answer lies in either finding someone better than you who can review or pair program with you who also understands how to coach, or by finding superior open source code to study and reproduce.

One of the examples from the book was how Benjamin Franklin learned to write. He picked articles from Spectator magazine that he wanted to emulate and he would take notes about the article.  After a few days when he had forgotten the text he would open his notes and try to re-create the original article. Then by comparing his against the original he could identify what he could have done better.  In the absence of a coach, this seems like a fairly ingenious way to get immediate feedback on your practice.

It would be good to test this sort of approach with programming skills.  It’s a concept I have started to test.  As with all practice, it’s is a long effort before the benefits are expected.