Composing Code: Why Musicians Make Great Software Developers

Composing Code: Why Musicians Make Great Software Developers
This post was published on the now-closed HuffPost Contributor platform. Contributors control their own work and posted freely to our site. If you need to flag this entry as abusive, send us an email.

It's a well-documented fact that coders are in high demand. The January 2016 Dice Report on employment trends notes that while tech job hiring is up, software developers are still the most difficult talent to recruit. In fact, it's projected by that by 2020, there will be a shortage of 1M developers.

Efforts are being made across the spectrum to conquer this skills gap. In fact, disruptive models of education are leading the charge--from free, self-help resources such as CodeAcademy and Udacity to coding bootcamps like Tech Elevator, Dev Bootcamp, Software Guild and Hack Reactor. These DIY modes have quickly moved into the mainstream and are seen as viable pathways to employment, between recent endorsements from the White House to a recent Stack Overflow study of 56,000 software developers, which found that that 69 percent of this class if employees are at least somewhat self-taught.

In a welcome twist, these bootcamps have also begun to erode the white male dominance of the coding world. Software developers now have a variety of backgrounds and are far more diverse than they used to be. In fact, the 2015 Course Report about coding bootcamp alumni found "the typical attendee is 31 years old, has 7.6 years of work experience, has at least a Bachelor's degree, and has never worked as a programmer." Moreover, 36 percent of students who attend bootcamps are female.

As it turns out, musicality seems to be a powerful predictor of coding success.

And even more important, those who successfully complete a bootcamp get well-paying jobs: On average, grads see a 38% salary increase, a figure equal to $18,0000. Perhaps surprisingly, the alums who saw the biggest salary increase after attending a bootcamp were students who majored in music as undergrads. As it turns out, musicality seems to be a powerful predictor of coding success. "The greatest scientists are artists as well," the genius Albert Einstein once said, but why are musicians uniquely suited to be software developers?

First, thanks to their performance background, attention to detail, and innate need to perfect their parts, musicians tend to be analytical, logical and methodical--skills that the best coders also possess. "There seems to be a high correlation between musical ability and reasoning skills," Terry Skwarek, the director of SharePoint administration at DePaul University, once told CNN. "It has to do with recognizing and manipulating patterns. That happens in music and in programming."

Tech Elevator student Drew Sullivan--who has performed with the world-class Cleveland Orchestra and was only the second doctoral-level clarinetist student ever at the renowned Cleveland Institute of Music--agrees that analytical-minded musicians are well-suited to coding. "Musicians enjoy the 'why' and 'how' of music," he says. "Musicians can learn, as I am, to ask the computer the same types of analytical questions we've been asking ourselves of the music for years."

Yet Sullivan also adds that certain musicians--including his fiancée and fellow Tech Elevator student Rebecca Hurd, who plays piano, oboe and flute--make great coders because they pair an analytical bent with a more creative side. "I speculate that if one can feel music, one can also 'feel' how a computer works," Sullivan says. "And in computer science, [Rebecca] has a great 'feel' for how an algorithm should work. She's a great mix of the heart and head of software development." (For the record, Sullivan says he personally falls somewhere in between both ends of the spectrum.)

"I speculate that if one can feel music, one can also 'feel' how a computer works." Drew Sullivan, Java Student Tech Elevator

The idea that coding can be emotional--and also involve intuition, flexible perspectives and even personal flourishes--resonates with software engineer Alex Jacobs. In a Medium piece outlining the link between musicians and programmers, he sees a strong, positive correlation between the frameworks of coding and composition. "The complexity of the overall structure consists of a large number of relatively simple aspects, interwoven in deliberate patterns to create a complex result," he writes. "To work on specific aspects of a composition requires the composer to hold the remainder of the musical structure in their imagination. Similarly, until there is a working model, there is no 'software' aside from the vision and intention of the designer."

"To construct a good program, you want to be able to see the consequences in your head, not just do line by line of the code, you have to be able to totally visualize it." Gordon L. Shaw (1933-2005), Physics Professor University of California

In other words, musicians will adapt well to programming due to their visual abilities--or "spatial/temporal" skills, in the parlance of physics professor Gordon L. Shaw, who co-discovered the "Mozart effect," which highlighted the positive effects classical music has on reasoning. "To construct a good program, you want to be able to see the consequences in your head, not just do line by line of the code," Shaw says. "You have to be able to totally visualize it."

Hurd has found all of this to be true since starting to learn coding. "Software development is similar to music in that a good coder is constantly looking to improve their code, and there are many different ways to interpret a piece or to approach a problem," she says. "Music, especially on the piano, forces your brain to think and your body to operate in multiple layers. This translates effectively into coding, especially as we get into building more in-depth web applications. You have to be able to know how to organize a large amount of complexity in the concepts you're learning, and to triage and prioritize an overwhelming amount of information at one time."
Still, on a more pragmatic level, musicians possess certain skills that mesh well with the programming lifestyle. For Sullivan, an ability to work independently and without much supervision--while also successfully collaborating with a larger group when necessary--has informed his transition to coding. "Both software development and music are skills that require finesse, so they can be learned similarly," he adds. Hurd, on the other hand, notes her self-discipline and time management skills have come in handy. "I didn't think that I would find myself back in a 'practice room'--this time, a classroom or random couch in the lounge--for hours on end," she says. "But the main advantage of a musical background is the underlying motivation that your work's not done just because it's 5 o'clock."

These are just some of the parallels between musicians and coding. In fact, there are myriad of ways in which being proficient on an instrument is a great pathway to learning how to program. And, the ability to code in today's information economy is a ticket to some great career opportunities. If you're wondering if your musical background makes you a good fit for this exciting and rapidly growing career field, I would encourage you to try this quick, free, mini-aptitude test, as a starting point to see if you've got what it takes to become a software developer. Good luck!

Anthony Hughes is founder and CEO of Tech Elevator, a coding bootcamp, teaching novices to become software developers through an immersive 14 week program. Find out if a career in software development is the right path for you by taking a quick aptitude test .

Support HuffPost

Popular in the Community