From Composer to Coder…why knowing music helps with programing.
Music has always been something that has played a key roll in my life for as long as I can remember. So much so that I eventually made a career out of it. I formally hold a degree in music education from Texas A&M-Kingsville. I wrote music for various people, taught music to secondary public school students, and played regularly where I could. I was quite ambitious in my pursuit in achieving success with my own instrumental mastery as well as with my students and music program. I truly thought that’s what i’d be doing for the rest of my life. Fast forward to now….Im not teaching anymore, or currently writing music (will continue at some future point), but what I am doing is studying code at The Iron Yard code bootcamp in San Antonio. If your wondering how I got into coding, well it kind of just organically happened, and i’m glad it did, so we’ll just leave it that.
So why compare music to coding…well like anything else, I recognized the parallels of the two disciplines and have been harnessing some of the seared in skills that I developed will studying, writing, and performing music.
#1 -RULES and STRUCTURE
Music has certain rules that must be followed in order for things just to work, it also has a structure that forces you to think about the overall picture and design like genre, song structure, desired emotional response, audience, then make your way in to more precise elements like tempo, key, modes, instrumentation. Then further to individual instrument parts and how each one plays its role in the big picture. Much like music, code is a structure that starts from the outside in to the details. Now I should tell you that Im in coding school right now (2nd week)….so i’m making subjective comparisons between the two and in no way ready to directly compare any code concepts to music concepts. Just sayin’…
How many coding languages are there..?..uuuummmm A Lot of them, and you have to know which ones would better suit your needs and goals. Writing music is the same way, personally I wrote a lot of jazz and latin music, I knew those styles very well, and I would consider them to be their own language. Like code, it has its own syntax, or in the case of music, style norms that are characteristic to the type of music. For example, I cant take certain elements of classical music and just insert them into jazz music and call it jazz. I would keep the same notes/content, but I would still have to change the way its written/coded, played/stylesheet, interpreted, and even written to fit into the jazz style. I cant take baroque era elements and just insert them into any other musical style, I have to consider the language (musical style) I’m in. Codes talk to each other just like music does, but like music, codes have their own unique qualities and style.
Like music, once you get the syntax, or musical structure down, you have a huge amount of freedom to improvise within that structure. Musical improvisation is difficult and it takes a very firm understanding of chord structure, rhythm, tempo, style, and even the audience that your playing for. Your playing whatever is coming to your head based on your understanding of all that you know about music. Much like code improvisation, your basing your desired outcomes and methods based on your knowledge of the underlining structure of the code that you are using. The great thing about both music and coding, is that it is designed to give you nearly unlimited possibilities. Its a beautiful thing.
There are so many other parallel comparisons I can do, but I believe you get the idea by now. I truly believe that musicians can make great coders, maybe i’m being bias, but hey its my blog so I can be. haha.
Learning how to code at The Iron Yard has been a challenge for me, but through all my frustrations and growing pains I have been able to recognize the beauty of what i’m learning, and the complex simplicity of what i’m doing. Like music, code allows one to create a symphony of information that is just beautiful.
happy coding everyone