Recently I have been pleasantly surprised at discovering that a love for jazz music is shared by several who I would also class as “geeks”, software developers. This list includes Matt Mullenweg, lead developer of the WordPress project and Matt Kenny, a developer and jazz purist who works for the same software development team I do. He doesn’t have a home online, or at least not as far as he’s telling me.
The jazz connection at first is a bit of a strange thing. After all, most people (I count those who don’t regularly listen to jazz as “most people”, or sometimes “normal people”) hear jazz as a series of unconnected notes, often played too fast, that is inaccessible to all those outside of the clique. Or those without a goatee beard. Software development is all about rules, structures, formulas, processes, and it’s built on numbers. Strange bedfellows, one might say. But on closer inspection the correlation between these two areas becomes apparent.
Jazz, like software development, is a mystery to most. Some have an appreciation of the output it produces, the end result, but few have a real understanding of what goes into a piece of jazz, or indeed a piece of software. Firstly there is the skill – technical prowess – needed to produce something of high quality for others. Not that all jazz is high quality, and most of the software I’ve written is technically shocking, but some skill is needed for both. For the jazz saxophonist and trumpet player that skill can be fast fingers, a large range, and an unshakeable sight-reading ability. For the software developer it can be fast fingers, a wide experience of development techniques, and an shakeable code sight-reading ability.
But there is something else that is absolutely crucial to both jazz and software development – passion. It is a quality that shines from the best developers and jazz players alike, and without it jazz is nothing but notes, and software nothing but code. It is passion that drives the musician, gives them a goal to reach for, gives them the voice to say what they are feeling. It is passion that drives the developer, makes them write better, faster and cleaner code, and gives them the goal to aim for. Passion is the reason why I write most of the things I write – whether it be music or code – and passion that keeps me going when any sane person would stop.
Both jazz players and software developers need both; skill and passion, in order to produce something that other will want to experience. The bad news is that some have it and some don’t. The good news is that there are things we can do to increase our skill and our passion, and that both the software development and jazz worlds are always prepared to welcome newcomers, if they are willing to use and increase their skill and passion.
Perhaps that’s why I’m growing a goatee.
The great Matt Kenny (who, incidentally, has a fine goatee) has very kindly said I can use this from an email he sent me today. I enjoyed it, hopefully so will you…
I once had a job interview for a development role with the BBC in Southampton. Spotting the reference to Jazz Purist in my CV, they asked me who my hero was, and how jazz and software development could co-exist. I told them that my hero was Paul Desmond, and that listening to one of his solos one could easily see how it could be analogous, even inspirational, to the process of software development – the logical structure, the carefully placed notes, the inversions, the subplots, the way you could see it being built in an iterative way from a few melodic ideas to an edifice of indescribable beauty, deconstructed and reformed again from a myriad of simple, interconnected and reusable phrases.
I waxed lyrical.
Needless to say, I was offered the Job.
Needless to say, it being Southampton, I turned it down.