25.1.08

Jazz improv

My favorite album is Thelonious Monk - Alone in San Francisco.

Monk was a musical genius - a self-taught master of composition and improvisation. He played with a veritable who's who of jazz giants - Duke Ellington, Dizzy Gillespie, Charlie Parker, Sonny Rollins, Miles Davis...

Alone in San Francisco is, as the title suggests, just Monk, playing his piano. Ostensibly in a room with some recording equipment, somewhere in San Francisco.

I love it because it's improvisational. It's filled with unexpected starts and stops. The phrasing is sublime, and as you listen to it you know that what you're hearing is pure emotion, expressed through the keys and pedals of a piano. You're left with the feeling that this is music, pure and pristine music, that could never be captured in a score and could never be reproduced by anyone, probably including even Monk himself.

Remember, Monk was musical genius.

Geniuses get to improvise.

Neophyte piano students get to play scales, and maybe after a year or two they get to move up to three-four time waltzes and, if you're me, your apogee might be a dumbed-down version of Scott Joplin's The Entertainer.

But neophyte piano students, mere mortals in the musical world, do not, as a rule, get to improvise.

They might try, and it might be fun for them. But to achieve what Monk achieved, to be able to take raw emotion and turn it into beautiful music - that is beyond them. They might try to improvise, but unless they are exceptionally gifted, it won't be fun for anyone who has to listen to them try. And the results will mostly be crap.

As an engineer, I've always thought of music as "just another symbolic language", and mastery of an instrument as "just another human-machine interface." If you accept, for an instant, this overly dismissive broad-brush definition, we can apply my thoughts about Thelonious Monk and the art of improvisation to software.

Most software engineers I have worked with think they're closer to Thelonious Monk than they are to that neophyte kid picking out a C-major scale on the old upright in the basement. That is to say, they like to think of themselves as geniuses, as artists, as masters of the sublime.

Generally, they're none of those things. Most engineers I have worked with like to think they're capable of producing great code, great features, great quality - all as inspired acts of improvisation. Really, they should stick to the score.

To tie this back to tangible advice on software development and global teams:

  • Don't make stuff up as you go.
  • Don't allow engineers to work solo for long periods of time.
  • Document expectations for work norms, coding practices, and standards.
  • Hold everyone on the project accountable to those standards.
That is to say, don't improvise, follow the score.

Leave enough room for creativity, but don't allow people to simply riff on their own.

Unless, of course, you are very very lucky, and you work with a team of geniuses. In which case, by all means, take a theme, develop it, and Go man Go! Who knows? You might enjoy some great riffs, like the collaborative improvisation recorded in Miles and Monk at Newport.

No comments: