Compression. Side-chaining. Phase cancellation. Automatic double-tracking. These terms probably meaning nothing to you - in fact, I’d be impressed if you even knew that they’re related to music.
I’ve been playing music since I was 8 years old - first the drums, then the guitar, and then I started dabbling in pretty much any other instrument I could get my hands on. I quickly became fascinated with songwriting, and that led to an obsession with recording music, a field that has been completely transformed by the digital revolution. 50 years ago, the Beatles needed a world-class studio, filled with high-tech machines, manned by professional engineers, to create their unhinged psychedelic masterpieces. Nowadays, you could re-create all those sounds with just a laptop.
When I started my band Sealab a few years ago, one of my goals for us was to be completely in charge of shaping our sound. I wanted us to record and mix our own music, something that, thanks to current technology, I knew was within our grasp. The biggest barrier ended up being my lack of knowledge about audio production - a vast field that, despite its proximity to music, is something musicians are rarely trained in.
And so I began teaching myself how to mix and record through the Internet. I scoured tons of hobbyist forums, watched countless YouTube videos, saved hundreds of bookmarks (maybe a quarter of which I actually read), and most importantly, practiced.
There were recordings I made that I thought sounded good, until I listened to them a day later. There were mixing practices that I thought were incredibly useful, until they broke something down the line. There was a whole EP that I recorded with Sealab that turned out to be totally unusable - every song had this weird crackly noise that cut through - because I used an unlicensed piece of software.
I was diving into a new technical language, and for the first two years, I felt like I had no idea what I was doing more often than not.
If you’ve made it this far, you’re certainly wondering, “What the hell does this have to do with programming?” Well, by enrolling in TTS’ Code Immersion class, I’m essentially doing the same thing I did with audio production a few years ago: diving headfirst into a new technical language. And just as learning audio empowers you to do something creative - write music - learning to program does the same for writing software.
In just the past 5 weeks of this class, I’ve found myself going through some of the same experiences I had while learning music production. That rush of excitement at having created something that does what you want it to, like when we wrote Blackjack programs in week 2. The unrelenting feeling of intimidation that comes with working with something new and complicated, like when we first started using Rails. Those technical terms that you think you finally understand, until you run into a problem that makes it clear that you’ve only scratched the surface, like with the MVC framework and ActiveRecord.
It’s been a whirlwind so far. At the end of every week, I start to feel like I have a strong grasp on things, until the following Monday’s lesson, when a deluge of new information turns everything upside down. But my experiences with audio have taught me that this is a good thing - it means that I’m actually learning a ton.
It’s funny how it rarely feels that way when you’re in the thick of it. It’s only afterwards, when you have time to reflect on how much you know now that you didn’t know before, that you realize how far you’ve come.