The One Thing Programmers and Musicians Have In Common

As I was reading this post I remembered something I read on the Joel on Software site, long ago, that made me laugh at that time, something related with programmers and rock bands, so I went to search for it. here it is, it is actually a BIG DIFFERENCE that exists between programmers and musicians… ha! ha!

Source:

As a programmer, thanks to plummeting memory prices, and CPU speeds doubling every year, you had a choice. You could spend six months rewriting your inner loops in Assembler, or take six months off to play drums in a rock and roll band, and in either case, your program would run faster. Assembler programmers don’t have groupies.

I have a slightly different observation. Some of the greatest programmers I have ever had the pleasure of working with were musicians. I mean seriously trained musicians, usually in jazz or classical. I also mean seriously good programmers, those mythical beasts that are 10x more productive than your average programmer.

My theory is that studying music is a great precursor to a career in programming. You learn the importance of practice repetition. You study other great artists, and try to emulate them. You learn the importance of creativity and artistry. You learn what is between the notes is often more important than the notes themselves.

It’s interesting you mentioned Zappa. He was a huge musical-technology Wonk. He wrote modern classical music (among many other styles, of course). After finding that professional orchestras didn’t like to play music that wasn’t written 300 years ago and that they had been practicing since they were 10 (a paraphrase of his statement from his autobiography, not mine), he started writing music for electronic devices. I can’t remember the name of the device, but he raved about his ability to reproduce symphonic sound without having to tolerate the actual musicians. He was also a hardware wonk in the 50s and 60s, building his own studio for music and film. I think he would have been a great programmer.

I’m not sure it’s really a general connection though. I like music (both listening to and creating) and programming both, but I’m not sure there’s a direct correlation. Most human beings like music, and it’s in the nature of programmers to create things, almost by definition. Seems natural to me that some of them should create music (as some of them paint and sculpt, do woodwork, do case modifications, etc, etc, etc).

For a long time I have noticed this correlation between techies and musicians. I was actually planning on going into music for a long time (been playing clarinet for close to 15 years now), but decided on computers for a couple reasons… 1) Money 2) Many people eventually want an escape from their profession, I prefer to escape TO music rather than FROM it; plus I genuinely love computers.

I see the two to be extremely similar. I think both are about creating something beautiful and abstract, however, to the end user/listener… it seems almost tangible. When you break down both fields, it’s all just logical systems. Beats, meter, repeats… are all just simple logical tools used to express something that may not seem to have any logic at all. They are all simple tools used to build something greater than the sum of its parts. The same goes for computers… 1’s and 0’s… simple logical tools used for expression.

Also, I always liked to think of programming languages as ‘instruments’, simply because if you’ve ever switched musical instruments, it is extremely similar to switching languages. Simply because the underlying concepts are greatly similar (notes, keys, reading music… loops, conditions, variables), you just have to learn the syntax of the the new instrument (fingerings, embrechure… key words, compilers). I have always aproached all new ‘instruments’ with this in mind, drawing on experience from both worlds, with great success.

Great article, glad to see other people ponder this as much as I do.

Ha! Ha! thanks Keng for that analogy between programmers and prostitutes. it was really funny.

According to his bio, Grady Booch sings and plays harp. No clue if he is any good, though :wink:

I don’t have a lot to add, except to agree that I am both a musician and a programmer, and that I also see many parallels. I think many of the things that make music hard, like the ability to step back and think abstractly about the work, as well as the tenacity required to do anything great, are the same things that make programming hard.

One interesting note is that I’ve ALWAYS loved music, but initially I was drawn to a very non-computer oriented field of study; I only ended up in software development because I enjoyed my programming courses so much I couldn’t see myself having any other career. That KIND OF points to the existence of innate characteristics that musicians (and music lovers) might share with programmers…

I just wrote a short notice about Programmers and Cretivity and the connection between creativity vs creating music. We have an programmer in our company that plays in a band and makes both great programs and music. (music video in the link)
(In swedish)
http://blogs.itmaskinen.se/post/2009/01/13/Programmering-och-kreativitet.aspx

First before getting into too heated a debate about us it would make sense to figure out if the correlation that programmers have for being musicians is significantly higher than a lot of other possible professions.

Even so, would it matter much to you?

Anyway, some other things you might want to consider:

a) There are a lot of programmers out there. Each one usually has another talent other than programming and so some number of them are bound to fall into the musician category.
b) In general, programming is a job requiring a little more intellect and mental perseverance than other jobs. Having these two make accomplishing most things easier.

It is probably more than a correlation - I play in a professional orchestra (see web link) and am a professional developer here (http://www.nextit.com). It makes for a busy September - June :slight_smile:

Both are crafts that cater to obsessive people.

I am a programmer and I also practice kung fu. The majority of the guys I practice with are programmers as well (and the other majority part works with things related to computers).
So would that mean programmers are also good at kung fu?
Maybe what lies behind this post is not what programmers actually have to do with music or other arts, but what kind of person you have to be in order to love programming.

Both my brothers are musicians…
one able to play multiple instruments at the same time
(weird and hard at the same time)…

I presumed that I gained a love and appreciation through osmosis…
but, alas, no musical ability to play an instrument.

I program and listen to music every day, however… for hours at a time.
I know exactly what you mean, Jeff, when you mention getting into the ‘zone’.

Well, I’m a programmer and a singer. I think I do both OK ( http://www.myspace.com/thebluesberriesat on the singing side, if you want to know) and I guess there’s some overlap in the creative side – I hear a line I think would make a great blues line and go away and try and fit it in to a song versus being told there’s a bug in such and such module and going away and trying to fix it…

I can’t really say that doing one makes me any better at doing the other. I do know that singing and being in front of people of an evening has got me through some of the days when the programming was getting me down.

I’m pretty glad I don’t have to code on stage, though.

I just wrote about that in my companys blog.
One of the programmers in our company plays in a band and creates both good music and good programs. :wink:
(In Swedish)
http://blogs.itmaskinen.se/post/2009/01/13/Programmering-och-kreativitet.aspx

Interesting observation. I have once read somewhere that programmers and mathematicians indeed, for one reason or another, gravitate towards composing music. I suppose I am a programmer at this point as I have a full-time job doing PHP and JS, though I don’t consider myself one just yet and am looking into learning the more traditional programming languages to expand the knowledge. At the same time, I, too, have a large music collection, and have always liked playing musical instruments and composing in general.

Nowadays I play guitar and piano, for the most part, and an occasional percussion instrument when needed for the mix :). When it comes to electronic music, especially, there is a lot of technical details attached to it. You have made a good point about stepping away and looking at the greater whole – it takes a lot of detailed work, tweaking, automating, and adjusting when you are producing a mix, which is the ‘science’ part of it, and yet without a clear and defined melody and ‘hooks’ which the tune is based on, and being able to see (or hear) the greater whole and tweak it to improve the overall picture it is largely technically advanced but boring music.

There is a lot of music out there like that, primarily electronic, which must be written by purely technical people. If you look into drum’n’bass and a lot of modern electro and minimal house, it is usually quite sophisticated bleep-wise alas with no depth emotionally or melodically. Don’t get me wrong - I quite like that stuff sometimes, and it can be great in the middle of a properly warmed up DJ set, but it is fairly tiring on its own.

Now that I think about it, I think it all has to do with the pattern of working towards a certain goal and how you get to it. When programming, you spend time both analyzing and imagining how to solve a certain problem to produce the result, while the result itself is created to, typically, make the user’s life easier in some way without him or her actually understanding any work that has gone into the product.

And with music, you compose and produce a track involving intricate details, hooks, and instruments, only to deliver a complete piece to the ears of the listener who rarely grasps the complexity of the track. And yet, without all the tweaking and hard work, just like with buggy code or a program with missing or incomplete features, the result would not be usable or listenable.

It is sort of like sound mixing for film – the harder your work on producing sound FX and mixing sound for a movie, the less the audience will notice it and perceive it as natural. How often do you watch a movie and think, wow, those are some complex sound effects. However, if your sound work is bad (think back to home and amateur movies you’ve seen), it immediately ruins the feeling of presence and quality degrading the experience. The better you are, the less obvious it seems to be.

By the way, I’ve linked my name to the MySpace profile with some of my music. Yes, I cannot stand MySpace either, but it seems to be the networking tool of choice among musicians. Go figure.

@jj33: In regards to Zappa, you’re probably thinking of the Synclavier (http://en.wikipedia.org/wiki/Synclavier)

By the way, look up the history of synthesizers – up until 60s, nobody but scientists, essentially programmers, bothered making music with them. Not to say their music was any good though =).

When I was studying physics I also noticed a oddly high number of musical people amongst my compatriots. There does seem to be an anecdotal correlation between skill in ‘technical’ subjects like maths, physics, programming, with skill in music.

Indeed, there’s enough of a demand that Imperial College in London offers a special ‘Physics with Studies in Musical Performance’ course, where you spend part of your time learning at one of the top physics departments in the country, and the rest of your time studying performance at the highest level at the Royal College of Music:

http://www3.imperial.ac.uk/ugprospectus/facultiesanddepartments/physics/undergraduatecourses

(at the bottom).

@Sebastian - good point. I have found the same thing. I listen to music while programming and I’m a better programmer for it.

Hey Now Jeff,

Carl is stellar, I’ve seen him live with a guitar.

Coding Horror Fan,
Catto