I've been following @chadfowler for some time now on twitter. When I started following him, I was basically rolling through the follow lists of some programmers I respect and spammed him to my list. Honestly, I was not aware that he had written The Passionate Programmer. The other day, he asked the interwebs to post a review of his book on amazon, if you had read it. Since it finally clicked in my head at that moment (chad fowler + book I've heard of), I decided to start reading his book.
At this point, I'm only two sections through a 5 section book, so almost halfway. Already I've caught myself agreeing with and finding parallels of his ideas in my work life (also, being a wannabe guitarist, I enjoy the struggling musician analogies.).
Chad talks a lot about practicing the saxophone in his down time in order to perform to his highest potential on stage. Think about how many creative professions do the same; painters, authors, actors, musicians, martial artists, the list goes on. As a profession, software developers seem to practice on the job. Of course the job, whether we realize it or not, is constantly teaching us, but what do *you* as a developer do in your off time to hone your craft? This question may not apply to a will-code-for-food developer, but someone truly dedicated to the craft, that isn't happy with 'good enough,' needs more of a mental work-out then meeting the requirements of the current hot project.
I know a lot of you contribute to non-work projects in your own time, as do I, possibly your own pet projects or open source initiatives. Granted, this programming is further extending your skill, probably more-so then your paid-for job creation (I tend to work on side projects I'm truly interested in, not everyone gets the chance to choose the domain for the software they create at work). I read books on the craft, about designing and creating software, about new languages and I try to apply this to the code I write. Reflecting back, however, I'm not sure I've ever truly "practiced" coding, in the sense a musician practices an instrument; writing and discarding (maybe I would keep it, the point is, it's not bound for some distant land of production) for the sole purpose of improving my skills, yo.
Chad mentions in his book (and I have seen many references to the practice as well, most notably from @unclebobmartin) exercises such as Code Katas. I'm going to try to get a few of these under my belt over the next few weeks. We'll see how that effects the ol' coding chops. I'll report back on my progress.
DjangoCon US rumbles to life
1 hour ago