Do Lots of Deliberate Practice
What is deliberate practice? It is not simply performing a task. If you ask yourself "Why am I performing this task?" and your answer is simply "To complete the task," then you're not doing deliberate practice.
You do deliberate practice to improve your ability to perform a task. It's about skill and technique. Deliberate practice means repetition. It means performing the task with the aim of increasing mastery of one or more aspects of the task. It means repeating the repetition. Over and over again. Until you achieve your desired level of mastery. You do deliberate practice not to complete the task but to master the task.
The aim of deliberate practice is to improve your performance whereas the aim of paid development is to finish a product. There might be some overlap (for example, when pair programming) but they are not the same. Ask yourself, how much of your time do you spend
- Developing a product?
- Developing yourself?
How long does it take to acquire expertise?
- Peter Norvig writes that "It may be that 10,000 hours [...] is the magic number."
- In Leading Lean Software Development Mary Poppendieck notes that "It takes elite performers a minimum of 10,000 hours of deliberate focused practice to become experts."
The expertise arrives gradually over time — not all at once in the 10,000th hour! Nevertheless, 10,000 hours is a lot: about 20 hours per week for 10 years. Given this level of commitment you might be worrying that you're just not expert material. You are. Greatness is largely a matter of conscious choice. Your choice. Research over the last two decades has shown the main factor in acquiring expertise is time spent in deliberate practice. Innate ability is not the main factor. Over to Mary again:
- "There is broad consensus among researchers of expert performance that inborn talent does not account for much more than a threshold; you have to have a minimum amount of natural ability to get started in a sport or profession. After that, the people who excel are the ones who work the hardest."
There is little point deliberately practicing something you are already an expert at. Deliberate practice means selecting something you are not good at. Over to Peter and Mary again:
- Peter: "The key [to developing expertise] is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes."
- Mary: "Deliberate practice does not mean doing what you are good at; it means challenging yourself, doing what you are not good at. So it's not necessarily fun."
Deliberate practice is about learning. About learning that changes you; that changes your behaviour. As Mary warns, change is often accompanied by discomfort. 10,000 hours is a lot so it's important to you choose something you find fun. You need a fun balance.
By Jon Jagger
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Programmer Should Know home page