Rubber Duck Code Debugging Our Music-Making

Justin SwainMusicologie Lewis CenterLeave a Comment

About the Author

Justin Swain

Justin is a teacher and performer with a Master of Music in Vocal Performance and a Master of Arts in Vocal Pedagogy. He is the Community Manager of Musicologie Lewis Center and Director of Musicologie U.

Drawing Parallels Between Music and Code Debugging

This month I’ve had the privilege of completing a Performance Psychology course online with Dr. Noa Kageyama of the Bulletproof Musician. I began the class fully anticipating having heard of or used several tactics for addressing performance anxiety – the main area I was hoping to gain knowledge in – but I’ve learned far more than I originally anticipated, and my favorite concept discussed in the course is something that I had been doing for years subconsciously from my other passion: coding websites.

It will sound outlandish, but I owned my first .COM by the age of 13. As a child I was obsessed with a website called Neopets, not for playing the many games or exploring the website to find items, but because I was able to customize my own shop through the use of HTML and eventually light CSS – two web browser languages used in displaying the contents of a web page. Through developing friendships with other users who designed content for others to utilize in their own shops, I was inspired to learn how to code web pages and eventually opened my own website where I hosted a CGI-based blog, free content for other web enthusiasts to use on their own web pages, and more.

From there, I learned a bit of PHP and learned how to integrate various web-based software seamlessly into the designs I’d create in Photoshop and Notepad. My senior year of high school I redesigned my school’s entire website, integrated WordPress into the site design so that other students could easily update web pages and write news articles and optimized the existing code. For years I ran several online game servers and did a fair amount of designing websites for others. In graduate school, I even wrote an entire backend for the voice program at Ohio State to use for collecting jury performance feedback from instructors.

Throughout my adulthood, I’ve continued to dabble in creating websites, though these days my coding is sloppy as I’m grossly out of practice having spent the past several years entirely focused on teaching and performing music. Anytime I’ve created a website, I’ve written my code by hand, as I had horrible experiences as a teenager attempting to use “site builder” software, and anyone who has written code from scratch can attest to: it can be frustrating when you misplace a comma or forward slash and nothing works when you load the web page. That’s where the concept of “Rubber Duck Code Debugging” comes into effect.

The concept of Rubber Duck Debugging gets its name from a story in The Pragmatic Programmer where a programmer would explain his coding line-by-line to a rubber duck he kept on his desk anytime he encountered an error in his code. The process of verbally explaining the coding would help him with finding where the error was located. This is something I’d regularly do whenever I’d run into an issue with writing content for the web or in a game server, though I’d typically explain the code to my roommate or friends online at the time.

This idea was brought up by Dr. Kageyama this past week in class, though rather than explaining coding, as all of the students in the class are musicians, we were instead instructed to do this with a passage of music that we have made mistakes on in the past by using a stuffed animal or some other inanimate object, and verbally express the problem out loud, as well as the solution. For instrumentalists, if you continuously played the wrong note in a specific spot of the song, you would state out loud how it was supposed to be played, and then play the section of music again. For vocalists, if there was a lyric being missed or an articulation you were forgetting, you would explain the correct manner in which the line should have gone.

Miraculously, each time I did this, I was able to immediately correct the mistake I was making, and of the 169 other class participants, a vast majority expressed similar findings.

Since learning of this technique’s application in music, I’ve experimented using it in lessons with my piano students, and every single time I encouraged a student to explain out loud to their object of choice, the problem was solved. Two noteworthy instances of this technique delivering immediate results are with a pair of twin boys I have had for a little over two years. One kept hesitating on a certain note, and his brother kept playing B-natural rather than B-flat in a specific measure of a song. When they described the mistake and its correction out loud to their stuffed animal and pillow respectively, the issue was solved.

So, my task for you reading this, is to take out a piece of music that you perhaps have been working on and have been making a mistake in a specific area, and experiment with this concept. Let me know your findings in the comments, or send us an email at the Lewis Center studio location. I’d love to know how this works out for you and whether you have a similar experience as myself and my students.

Happy music-making!

Leave a Reply

Your email address will not be published. Required fields are marked *