How My Musical Background Guided Me On My Programming Journey
I have been playing guitar since I was nine years old. After a year or two of lazily plunking out half-muted chords and tuneless renditions of public domain folk songs, everything started to click, and soon thereafter I started devouring anything and everything that could make me a better guitarist. I learned every scale and every chord shape I came across. I learned every note of every solo that blew my mind. I didn’t leave my bedroom for months on end as I noodled away my adolescence. I was so devoted to becoming a great musician that I went to college for music at a prestigious school devoted entirely to music. After graduating and spent the next decade-and-change as a working musician, with all the ups-and-downs that come with it. I taught music, I wrote music, I wrote about music, I performed, and so on. Then, the pandemic hit.
Like many, I sat in my home during the lengthy quarantine wondering not just what to do with myself but how I was going to support my family in a world that was changing. I knew that whenever the music scene would be up and running again, it likely wouldn’t be the same and it would take a long time to get back up to a point where I could make a consistent living again. I had heard that the job market for programmers was robust and that companies would hire without a CS degree, so I asked a couple of programmer friends what they thought and they all said the same thing: “Oh yeah, you would be really good at it.” I asked one why he thought that, and he said, “Because you already think like a programmer. You’re a musician.”
1– Music Teaches Focus
In order to be a great musician, focus needs to be your superpower. You need to be able to focus on many things at once — not just your playing but what everyone else around you is playing — all in service of the music you are making. You need to be able to shut out all distractions, whether it’s the bum note you just played, that high-pitched feedback coming from the stage monitors, or that drunk guy in the crowd screaming “Free Bird” for the millionth time. Programming, similarly, takes tremendous amounts of focus. It’s not the kind of task that you can spend a few minutes on and then come back to occasionally. No, in fact I’ve had plenty of occasions where I complete a task, then look at the clock and realize four hours went by without me even noticing. You need that focus — time and space, uncluttered and uninterrupted — to think through problems and potential solutions thoroughly. This is true when it comes to writing or debugging programs as much as it’s true when it comes to crafting songs or composing symphonies.
2– Craft and Composition
As much as it is an art form, music is a craft. Writing and composing music is about hearing and seeing how things add up to a greater whole. Likewise, learning complex frameworks like Ruby on Rails or React shows you how important it is to have all elements of your program working in perfect harmony with one another. If your routes aren’t configured well or your front-end isn’t communicating to the back-end properly, your program doesn’t work. Just as if someone is out of tune, or plays the wrong chord, you get a discordant mess. One thing that caught me by surprise when it came to programming was just how much craft goes into it. In the same way every instrument in an orchestra serves a specific purpose in crafting a symphony; every piece of your MVC, every component, every DOM element adds up to a working app.
3– Musicians, like Programmers, are Perpetual Students
To be a great musician, you have to be an eternally vigilant student, regardless of how much you know or what you can play. Every great musician I have ever met was always working on their craft; trying to add to their repertoire, incorporating new elements into their playing or writing, and expanding the scope of what they can accomplish. Likewise, programmers are always building upon their skill set; learning new languages and frameworks or discovering more elegant approaches to the ones they already know. Though I may be just about finished with the Flatiron School program, I have already begun learning new programming paradigms, languages and frameworks on my own.
4– Music Teaches Patience
“Practice makes perfect.” It may be a cliche, but it rings true. Becoming a great musician or a great programmer takes a lot of hard work, therefore both journeys are rife with frustration and anxiety. It’s easy to think you’re the worst, and even easier to give up when you hit a wall. But not only is there nothing to learn or gain from an easy out like that, you end up teaching yourself that you’re not just good enough. At many points in my journey through programming I would butt up against my own expectations and anxieties about this potential career shift. Imposter syndrome is a very real thing, and boy was I immersed in it. But then I would think back to being a nine-year-old kid trying to play a simple C chord, thinking I would never be able to play it right, and how far I’ve come since. Every failure is a teachable moment, something to learn from. From where I am now, compared to where I was a year ago, I have learned so much, and I know that as long as I keep this in mind, I can accomplish anything I set my mind to.