How does a career developer sharpen and expand their skill set to reach the level of expert at their craft.
A lot of scientific evidence points at the fact that experts become experts through many hours of deliberate practice.
When we look at any kind of cognitively complex field — for example, playing chess, writing fiction or being a neurosurgeon — we find that you are unlikely to master it unless you have practiced for 10,000 hours. That’s 20 hours a week for 10 years.
Deliberate practice is not just working at your job though. It is spending lot of time doing things that stretch and sharpen your skills to an expert level.
- It’s designed to improve performance. “The essence of deliberate practice is continually stretching an individual just beyond his or her current abilities. That may sound obvious, but most of us don’t do it in the activities we think of as practice.”
- It’s repeated a lot. “High repetition is the most important difference between deliberate practice of a task and performing the task for real, when it counts.”
- Feedback on results is continuously available. “You may think that your rehearsal of a job interview was flawless, but your opinion isn’t what counts.”
- It’s highly demanding mentally. “Deliberate practice is above all an effort of focus and concentration. That is what makes it ‘deliberate,’ as distinct from the mindless playing of scales or hitting of tennis balls that most people engage in.”
- It’s hard. “Doing things we know how to do well is enjoyable, and that’s exactly the opposite of what deliberate practice demands.”
- It requires (good) goals. “The best performers set goals that are not about the outcome but rather about the process of reaching the outcome.”
Some ideas:
- employing stretching goals
- practicing code katas
- taking part in programming contests on regular basis
- learning a new technology or new languages every month/year and using it in a non-trivial way
- Reading the various bibles and finding way to apply lessons from them to a project
What do you think is the best way for a programmer to employ deliberate practice to become and expert?
Information on subject: