One of my old professors used to say, “You know they are going to be a good developer because they were a musician first.” Huh? Are you saying you are a substandard developer if you don’t play a musical instrument? No! But there seems to be a correlation between playing a musical instrument and developing code. Let me explain.
First, from my own experience in college having a degree in music business, I found that many “engineers” (not just software engineers but mechanical and electrical as well) would frequent the jazz halls and rehearsal studios throughout the college of music. And they were not just good… they were better than some of the actual music majors. Even back then, I had a theory that perhaps it was something in the brain or something about their personality or thought patterns that drove their ability to play an instrument. So, I could have just left it there and not given it another thought until…
I attended my first FileMaker developers conference in the mid-90s. Ok, well not just the FileMaker conference, but more specifically the so-called “Jam Sessions” that were held in the evenings. Productive Computing would sponsor “Jam Sessions” whereby anyone with musical talent and a strong desire to show off in front of their peers could rise to the stage and lay down some killer riffs, an original song, or a highly enhanced cover tune complete with all the trimmings of guitar, vocals, bass, keyboards, and drums. This was more than just a few people getting up there and struggling through chopsticks or Mary Had a Little Lamb. These were full-on performances – complete songs with amazing singing, stunning guitar solos, keyboard ensembles, etc. Astonishingly, these people never played together in their lives before. Yet, you’d think you were looking at a well-rehearsed mini Lollapalooza. What was most amazing when we first started doing this is the fact that people were coming out of the woodwork who could perform – there were droves of people who could play or sing and nearly all of them were great. The ratio of developer to musician was notable and significant.
In doing a little research on the internet, I had no real luck finding hard scientific evidence to prove any of this. However, I have come up with my own theories here.
In my view, the art of music making really involves both sides of the brain. The left brain, for logic, helps with song structure, rhythm and chords that work well together and the right brain is used for imagination, creativity, and improvisation. And when you think about it, development requires a similar mindset. For example, in order to write an app, you have to have a marriage between logic – code that executes in a specific way to create the desired result and creativity – and the task of creating something for the first time that incorporates artistic ways to make an app come to life or a creative solution to solve a tough business problem.
Creating music today typically requires some amount of technical prowess. Besides the instruments themselves, there are all the other things that go along with it such as the PA equipment, microphones, mixing boards, a computer for composition and sound processing, etc. I know for me personally, I use a computer to compose electronic music via an advanced set of equipment requiring some technical chops. My life working with computers greatly gives me a great leg-up with the setup and I’m attracted to the technology/creative aspect of music like I am with computer programming.
Music is a high form of self-expression and in many ways, so is programming. I believe being a musician requires a harmonious balance between logic and creativity and, for me, being a developer requires a very similar skill. All in all, in my experience and perhaps in the views shared by others as well, you don’t have to look too far to find developers who are also musicians or vice versa.
Other Interesting reads with some material used above: