back
1 comments
Could you clarify the question? Are you asking "What does deliberate practice look like for coders?" or "What would improvement look like for a coder?" or "How could practice lead to improvement?" or something else?
Oh probably "What does deliberate practice look like for coders?", as distinct from just writing code regularly.
Deliberate practice is all about pushing yourself outside your current comfort zone. In programming, that might mean things like learning a language such as Haskell, or making a DSL. Solving problems completely different than the ones you usually solve or trying completely different methods. Solving problems you think of as "hard".

Or even better, try to solve problems you think of as tedious in ways that are not tedious. I always find it strange that so many programmers complain about boring grunt work. There is a perfect opportunity there to invent tools that optimize and speed up this boring grunt work. The next level is to make those tools work in a way that is usable and intuitive for other programmers. The end result is worth gold (or glory, depending on what you're after)

Good practice is all about doing hard things. Doing the same things that you can already do perfectly (both in music and programming) leads to no improvement. Doing things you consider hard leads to amazingly quick improvement.

Musicians that concentrate on practicing only the hard and unpolished parts of their performance are more effective than the ones that practice both the easy and the hard parts. Those musicians that have found a way to "modularize" their practice and split it to the tiniest most focused bits are the most successful ones. (This is not easy because beyond a certain point the flow of the music is lost)

In programming we must do both the easy and the hard parts, but we can turn the easy parts into hard by writing code to make them even easier or to completely eliminate them.