#TechTuesday: The Creative Orchestra of Programming Lines of Code

Music: more structured than people think. Programming: more creative than people think.

By Maira Benjamin (Director of Software Engineering, Pandora)

I’ve had a long and wonderful career in the computing industry. I love few things more than sitting down and tackling some pesky coding problems. I also love to step away from my computer, and when I do, I love to tap out a tune on a piano, beat a rhythm out on tambourines, or see if I can coax some chords from a guitar.

I’m part of a large number of people who occupy that spot in the Venn diagram that connects computing and music. It’s an old correlation, especially if you think of it as a relationship between math and music. Some folks think Beethoven composed such lovely melodies despite his deafness because he intuitively understood the mathematical properties of the notes he was writing.

These associations are especially noteworthy in our modern connected world. People rely on their devices to serve up music they’ll love. They also create music in their devices.

Musicians like Peter Gabriel and Moby explore this crossroads, welcoming the digital frontier and using it to expand their own creations. Schools like Stanford have sophisticated programs in computer music, complete with laptop orchestras. Technologists have figured out how to turn smartphones and other gadgets into musical instruments.

I find this crossover so interesting not only because of my own experience, but also because of my colleagues at Pandora, where we live at the intersection of music and technology. We have a talent show every year that blows me away with the accomplished musicianship of my fellow geeks, who jam and wail in every genre.

What Music and Engineering Have in Common

Music is more structured than people think and programming is more creative than people think.

Programmers have to create things from nothing. It’s absolutely analogous to music. In either discipline, once you’ve created something, you build upon it. Once you’ve written a line of music, or a riff, or even just a few notes that dictates what notes can and can’t follow it. The same thing happens when you write a line of code.

If you’re a musician, you might play a song that wasn’t even in existence before you played it. Even if it’s a song someone else wrote, when you pick up the guitar and play it, that’s a process. It’s the same kind of process with programming where you create something from nothing. Later in the day, that code will do something unique.

The Engineering Lead, The Conductor

As someone who heads up engineering teams, I see myself as a conductor. A symphony is made up of different instruments — a string section, a brass section, woodwinds, and percussion.

To create a computer program or an application, the product manager needs to direct engineers to have different things appear on a screen at one moment or another. Different parts add to that application and have a function within it, just like in an orchestra. You can think of an application as a symphony that comes together with different people working in concert.

My Paths to Music and Tech

In my both my musical and my programming journeys, I started out relatively late. I didn’t start playing piano until I was in 5th grade, when my mom could afford a teacher. My mom could sing, but she never played the piano. So I always wanted to accompany her. I really liked it, and thanks to my passion, I became advanced enough that I could read a piece of sheet music and play it in a couple of passes.

By the same token, I wound up with a career in computers, even though I didn’t get a degree in computer science. I earned a bachelor’s degree in Statistics from UC Berkeley.

In my first job out of school, I was a reliability engineer and I needed to automate reports on the manufacturing floor. To learn how to do that, I took a class and spent time in the computer lab. I wanted to automate reports so I could create statistics.

I found that I loved it and my career veered naturally towards programming. (Even while working full-time as a software engineer, I continued to pursue my interests in the wider world, earning a Master’s in Liberal Studies from Mills College -- taking classes in the architecture of India and U.S. and Chinese history.)

STEM programs encourage kids to study Science, Technology, Engineering and Math, but I think we should throw art in there and say it's not just STEM, it's STEAM. Whether it’s music, painting, knitting or throwing a ceramic pot on a wheel, the creative process helps inspire well-rounded individuals. You don’t want someone so focused on technology and programming that they’re not aware of the world around them.

Music can express things you may not have words for at the moment in a much more beautiful, elegant way. And sometimes, if you can hear the right rhythm, programming lets you express yourself in a similar fashion.


About the guest blogger: As Director of Music Engineering at Pandora, Maira Benjamin manages several teams of engineers that deliver the algorithms for the listener's playlists as well as the tools that manage the Music Genome Project. She’s also responsible for leading projects that address the growth and retention of Pandora’s listener base. Maira has been dedicated to the technology field for over 30 years as she has played an instrumental role in engineering departments for over 15 software and technology companies. Maira is also published author and lyricist, a classically trained pianist, and has been studying the guitar for many years.