I agree with the OP, but I feel that there is something that is missing, especially re programming.<p>In addition to "do" there is also "practice".<p>Look at competitive sports, more time is spent practicing than doing, often breaking things down and practicing with an exaggerated level of formality.<p>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".