Ask HN: What is deliberate practice for programmers?
According to Eriksson and Pool (2016, "Peak"), deliberate practice is different from what they call "purposeful practice" (trying very hard to push yourself past your limits and improve). In contrast, deliberate practice is both purposeful and /informed/. "In particular, deliberate practice is informed and guided by the best performers' accomplishments and by an understanding of what these expert performers do to excel." (p. 98)
Is there anything that satisfies these criteria? (from p. 99-100):
1. Deliberate practice develop skills that other people have already figured out how to do and for which effective training techniques have been established.
2. Deliberate practice requires a student to constantly try things that are just beyond his or her current abilities. It demands near maximal effort, which is generally /not enjoyable/.
3. Deliberate practice involves well-defined, specific goals and often involves improving some aspect of the target performance; it is not aimed at some vague overall improvement.
4. Deliberate practice involves immediate feedback and modification of efforts in response to that feedback.
5. Deliberate practice nearly always involves building or modifying previously acquired skills by focusing on particular aspects of those skills and working to improve some /specifically/. Because of the way the new skills are built on top of existing skills, it is important for teachers to provide beginners with the correct fundamental skills in order to minimize the chances that the student will have to relearn those fundamental skills later when at a more advanced level.
The best violinists spend 3-6 hours in deliberate practice per day. They are guided by teachers---teachers who know what the best violinists need to know, and the steps to get there.
What is deliberate practice for programmers?