I agree with the OP, but I feel that there is something that is missing, especially re programming.
In addition to "do" there is also "practice".
Look at competitive sports, more time is spent practicing than doing, often breaking things down and practicing with an exaggerated level of formality.
I believe that this applies to coding too, intentional practice can be a coding dojo, or hammering out a couple more project euler problems, or a weekend project, but I believe that the best coders "practice" as much as "do".
In addition to "do" there is also "practice".
Look at competitive sports, more time is spent practicing than doing, often breaking things down and practicing with an exaggerated level of formality.
I believe that this applies to coding too, intentional practice can be a coding dojo, or hammering out a couple more project euler problems, or a weekend project, but I believe that the best coders "practice" as much as "do".