Just code.<p>Seriously, just write code.<p>You will come across a lot of books that influence your thoughts, behaviors, patterns. I have, everyone does. But the only thing that actually has any effect on your psyche is <i>doing</i>, whatever the doing is. So you want to learn how to build a better body, great, read books on building muscle.<p>It won't have nearly as much effect as going to the gym and swimming for a half hour three times a week. Obviously you won't get a bodybuilder physique this way, but it'll make you stronger, faster, better, and smarter.<p>You want to code better.<p>Great, read SICP, On Lisp, Learn You a Haskell. It will make you think differently. They'll make you smarter, faster, better. They will, seriously, but they will have a negligible effect relative to just sitting down and coding up your idea. You probably won't do it better or smarter than you've done it before, but you will learn the problems. Then you read the books, find out how you could do it better.<p>I've been in the position of trying to figure out what to read, the best way to write code, the perfect test framework. All of it pales in comparison to just doing. Reading, agonizing over "the best", all of that seems to be the sugar that the mind gravitates to when it avoids doing. The spinach is sitting down, doing the activity, or thinking through the hard details.<p>Slash soapbox.