SD TIMES BLOG
jhildebrand

Did you ever notice how many of the programmers you know are also musicians? It seems that every coder I meet is also a jazz guitarist or a classical pianist. When I meet people in IT these days, sooner or later I ask what instruments they play. And as often as not, they confess that they are amateur musicians or part-time musicians or former musicians. The correlation is far too high to be a coincidence.

I was never that great a coder – nor, truth be told, that great a jazz musician – but I made my living in each of these fields for a few years before I stumbled into the less demanding world of high-tech journalism. For the next decade or two, all it took was a couple beers to evoke my canned speechlet about the parallels between music and code.

The essence of my little rant was this: Both music and software rely upon the creator's ability to exercise creativity within a framework of rigorous rules.

It's not much of an observation, as it turns out. It's true – but the same is true of almost any nontrivial human activity. I think we humans are drawn to this kind of complexity. It's part of what defines us as a species.

I'm not the first or the only commentator to notice that many musicians are programmers and vice-versa, by the way. A quick look around the Web reveals that I stand upon well-trod ground:

Well, you get the idea. I hadn't read any of these when I “invented” the insight years ago, but as you can see, it's a fairly obvious observation for anyone who's got a foot in both worlds.

Many of life's little insights turn out to be interesting for a moment or two, but ultimately without value. Still, I keep returning to this one. It must be true that musicians and coders can learn from each other. Techniques that help us manage creativity and complexity in music ought to be adaptable to coding, and vice-versa.

As it turns out, I'm not the only one to have that thought either. Musician/programmer Adrian Cho has written a book called The Jazz Process, in which he seeks to distill the factors that allow jazz musicians to collaborate and improvise successfully, and makes those factors accessible to software developers and other practitioners of the high-tech arts. Cho has contributed articles to Dr. Dobb's and other publications, in which he sketches out his ideas.

The bullet-list of Cho's principles reads a lot like the 12 Principles of Agile Software, which supports my gut-level reaction that he is on to something:

  • Use just enough rules

  • Employ top talent

  • Put the team first

  • Build trust and respect

  • Commit with passion

  • Listen for change

  • Lead on demand

  • Act transparently

  • Make contributions count

  • Reduce friction

  • Maintain momentum

  • Stay healthy

  • Exchange ideas

  • Take measured risks

The Jazz Process may not be as complete or as useful as Scrum or even Kanban, but I think Cho's insights are valid and thought-provoking. I'm just jealous because he wrote the book before I got around to it.

Web recommendation: The extraordinary Kent Beck is the creator of design patterns, extreme programming, and test-driven development. His Three Rivers Institute Web site is a cornucopia of fascinating insights, thought-provoking publications, and research results. (It is also, like so many of the software gurus' Web sites I have commended to you these past weeks, lamentably lacking in design. What's the deal with programming geniuses and lousy Web-design skills?) J.D. says check it out.

J.D. Hildebrand has written hundreds of articles for dozens of publications and online communities dedicated to software development. He recently relocated to a small town outside Belgrade – stop by if your travels take you through Serbia.

Currently rated 2.2 by 5 people

  • Currently 2.2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Share this link: http://www.sdtimes.com/blog/1853

Tags:

People | Best Practices | project management | software development

Comments

Add comment


 
 

biuquote
  • Comment




 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 

Download Current Issue
MAY 2012 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
blogs tab
Why we leave
Ten reasons good workers leave their jobs, plus a few suggestions for retaining them.
05/22/2012 06:14 PM EST

Creation
To write better software, cultivate your ability to be creative.
05/19/2012 07:40 PM EST

Slick...but who needs it?
compilr.com is a well-designed site and the folks behind it seem to have their heart in the right place. But...who needs it?
05/16/2012 12:45 PM EST

How to be a better software developer
Want to be a better developer? You won't get there by mastering an interesting language or learning a new set of APIs.
05/14/2012 12:18 PM EST

Wooing Galatea
Do yourself a favor and check out Galatea 2.2, a wonderful book by novelist Richard Powers.
05/12/2012 07:05 PM EST

The world as story
An artificial-intelligence system at Carnegie Mellon seeks to understand the world by making statements about it.
05/10/2012 06:39 AM EST

 

Events calendar tab
5/23/2012 to 5/24/2012
Chicago
IEG

6/3/2012 to 6/7/2012
Orlando
IBM Rational

6/10/2012 to 6/15/2012
Las Vegas
SQE

6/10/2012 to 6/15/2012
Las Vegas
SQE

6/11/2012 to 6/14/2012
Bellevue, Wash.
AMD