Do, as often as you can – it's that simple
martinrue.com
martinrue.com
1. Figure out what you want
2. Take Action
3. Are you closer or farther away from what you want?
4. Re-adjust if necessary and GOTO 2 until you have what you want
edit: formatting and spelling
The recent Ludum Dare competition has inspired me, though. Especially Notch's incredible entry and live broadcast of his programming.
So the first thing I set out to do was to practice. And by practice, I mean write games. My plan:
Write games. Lots of them. Every week until the next Ludum Dare.
It's the best way to improve.
Everyday I make sure I spend as much time as I can working on what ever goals I've set out for myself. It's not always consistent. Some days are very unproductive. But overall it's been effective.
Btw. kudos to that mother who played CS and lost for so many times until she got decent enough to fight back. She definitely is way more resilient then I am.
I think the analogy breaks down for CS (programming). There are a number of concepts you won't likely grok without first reading them. A much better strategy is to read then do. Both are necessary, and you need a balance. All doing or all reading won't get you as far as a balanced approach. Programming is significantly more complex than playing a video game.
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".
As Lao-tzu wrote in the Tao Te Ching: "Practice not-doing, and everything will fall into place."
http://academic.brooklyn.cuny.edu/core9/phalsall/texts/taote...