So in my ongoing desire to lower my self-worth, I’m trying to learn to play the piano. Now, it’s not concerted effort yet at all but I have some musical ability, I could play the piano once, and so I’m toying with it off and on (mostly off). I mention this because I’ve had the thought before that James Tauber writes about, i.e. that programming and jazz have a lot of things in common. It’s interesting to see the number of other programmers who are also musicians in their free time.
I think that one of the key concepts the two disciplines have in common is the need to have an extremely solid basing in the fundamentals before any higher order ability becomes available. In jazz, musicians spend countless hours learning scales, music theory and history before they ever transcend to that next level of being able to create abstractions from the music. It’s fundamentally the same in programming. I’ve been programming professionally for almost 8 years now and what bothers me is how often it feels like the fundamentals change. I think that might be because, unlike in jazz, where scales and music theory don’t change every 2 years, programming platforms seem to. Some would argue that platforms aren’t fundamental and to a certain degree, that’s true. But when all your work is done on a given platform, it becomes the fundamental. It’s hard to ever achieve a level of proficiency when things change frequently.
Rob Walling writes that he figures it’s taken him “hundreds of hours” to develop the blogging acumen he currently has. Hundreds of hours is exactly the kind of dedication jazz musicians and top programmers put in. Of course, when you put hundreds of hours into something, you’re taking those hours from somewhere else. I think that’s my main problem (but not point, I clearly don’t have one of those today), I have a hard time deciding that I want to spend hours on one thing over another thing.
I’m ready for the Matrix. Just plug me in.
In other news, SomaFM.com kicks ass. It’s great trance music and is awesome to code to. Go check it out and donate some cash if you can spare it.