RailsConf 2018

An Atypical 'Performance' Talk

An Atypical 'Performance' Talk

by Chris Arcand

In the talk titled "An Atypical 'Performance' Talk" at RailsConf 2018, Chris Arcand explores the parallels between programming and music performance through his unique experiences as both a former orchestral clarinetist and a software developer. The presentation is infused with live music performances that emphasize the integration of these two disciplines.

Arcand begins by sharing his background in music, highlighting his dedication to the clarinet from a young age, his aspirations to become an orchestral clarinetist, and his educational journey at the University of Minnesota. He emphasizes the complexity and imposter syndrome he faced while transitioning from music to software development. He draws comparisons between the two fields by discussing several key themes:

  • Complexity in Learning: Just as musicians face daunting scores and deadlines, software developers encounter unfamiliar codebases. Both require breaking down complex tasks into manageable parts.
  • Concentration and Performing: He likens the focused mindset required for musical performance to the concentration needed for programming, referencing the book "Deep Work" by Cal Newport, which discusses the importance of focused, distraction-free work.
  • Balance in Life: Arcand discusses how musicians recognize the importance of balance between practice and life outside of music. This lesson translated into his programming career, emphasizing that overworking is counterproductive and can lead to burnout.
  • Hero Worship and Imposter Syndrome: He shares personal anecdotes that demonstrate how even accomplished musicians experience feelings of inadequacy and how these feelings are common among developers too. Arcand encourages the audience to understand that their heroes are everyday people who have worked hard, dealt with setbacks, and maintained balance.

Through these discussions, Arcand illustrates that the lessons learned in music—such as handling complexity, maintaining concentration, and achieving balance—are critical components that contribute to personal and professional growth in programming.

He concludes by playing a piece by Astor Piazzolla and urges attendees to recognize the importance of these qualities in both their personal lives and professional endeavors. Overall, the talk is a reminder that skills from one discipline can significantly inform and enhance expertise in another, making it relevant not only to musicians and developers alike, but to anyone striving for success in their field.

00:01:32.700 Hello everyone! Whenever I give this talk, I often think of my first experience during a talk I did at the "Keep Ruby Weird" conference. Jonah Schaffer asked me earlier in the day about how I wanted my talk to be presented. Later, as I set up my clarinets on stage, he approached me and asked, "Wait, you're actually going to play those things?" So before I begin, I have an important question: show of hands, how many of you played the clarinet in middle school? Great! We're going to be best friends because I also played the clarinet in middle school, but I just never stopped!
00:03:12.609 My name is Chris Arcand, and I work for Software for Good, a company that pairs causes with crafts. We develop web and mobile applications for organizations that work towards positive social change. In other words, we build software for good humans doing good things. Most often, this means partnering with benefit corporations, social enterprises, large nonprofits, startups, and educational institutions to drive change in sectors like clean energy, clean tech, biotech, healthcare, and education. We are based in Minneapolis, Minnesota, which is also where I'm from.
00:03:00.639 If you're interested, feel free to check out our website softwareforgood.com. Also, please come say hi to me after the talk or throughout the conference; I promise I don’t bite. In fact, I’m known to hand out awesome stickers and t-shirts!
00:03:16.870 At some conferences, you'll find that I'm just another developer, equipped with a computer science degree, and happily settled in a suburb outside of St. Paul, Minnesota. I truly love what I do, and I wake up every day knowing how lucky and privileged I am, making sure to take none of it for granted. Before my transition to software, I was deeply involved with music. I've been playing the clarinet since I was nine years old, fueled by grand aspirations of becoming an orchestral clarinetist. If you think this picture is super nerdy, keep in mind that you’re at a programming conference—everyone here is a little nerdy!
00:04:22.750 Growing up, I had the chance to learn from some of the best teachers in my area and played in numerous youth symphonies. After high school, I auditioned all over the northeastern United States and got accepted into a few prestigious conservatories, although these institutions wanted me to pay a hefty price of forty to fifty thousand dollars a year. In the end, I was fortunate enough to stay in Minneapolis, where I studied under a remarkable clarinetist who played principal clarinet in the Minnesota Orchestra and was also faculty at the University of Minnesota School of Music.
00:06:20.930 I got accepted there with a decent scholarship as one of only two undergraduates. The rest were graduate students or pursuing a Doctor of Musical Arts degree—yes, it's a real thing! I remember my first wind ensemble rehearsal vividly. After playing one piece, I was absolutely terrified. These musicians were outstanding, and the music was exceptionally complex. I was accustomed to playing at a certain level, but the speed and quantity challenged me. It taught me a valuable lesson: I needed to learn how to engage with complex music quickly.
00:07:16.669 In high school, I could just attend a group rehearsal, learn my part, and blend in. But in university and beyond, I couldn’t afford to do that. You must understand every note, and scheduling time for 80 musicians, along with a skilled conductor, is an expense. It’s essential to work on the expressive aspect of performance rather than merely scraping by with technical execution. For many, getting new music that seems complex can feel daunting, and this can lead to intense feelings of impostor syndrome. How do I even start with all these notes on the page?
00:09:22.700 To tackle music, I first look at it in overview; I ask questions like: What type of piece is this? What time period is it from? When was it written? Understanding context can dictate style. What’s the tempo like—is it fast or slow? I often sing the rhythms to help internalize them. If you can't sing it, you can't play it!
00:09:58.540 My practice involved circling phrases, focusing on specific ideas, and practicing those sections slowly. Gradually, I would begin piecing it together until it started to feel easier. Looking back, I often think to myself, 'Oh, now this isn't that hard!' and as you can imagine, this philosophy ties back to software development. Like approaching a new codebase, the initial complexity can be intimidating.
00:11:02.200 After some time, you'll look back at that daunting codebase and think, 'Okay, I get it now.' You may not know every detail, but with understanding enough of it, you can start making progress. My musical experiences taught me that breaking things down like this is the way to go; it doesn't have to be a big deal. One of the most important lessons from my instructor was that playing the clarinet is easy. While there's truth to this, it sounds misleading at first.
00:12:21.740 The essence of the lesson was that when you get down to it, playing the clarinet boils down to a manageable list of skills. Even as you progress to advanced levels, you're still utilizing the same foundational skills repeatedly. It's true that fewer pieces are so hard that any player, regardless of skill level, would instinctively say, 'That's just so hard.' However, complexity is relative. There aren't many programming problems that are universally difficult; complexity in code doesn't always equate to a widespread understanding.
00:14:01.780 Don’t let the initial complexity of programming deter you from diving in! It was imperative for me in music, and it remains just as vital in programming. It's important to remember that the level of concentration needed to perform a piece of music comes into play. You need to block out every distraction and focus entirely on your performance.
00:14:58.350 Similarly in software, concentration is often referred to as 'being in the zone.' You might picture a programmer, headphones in, immersed in their work. But concentration is necessary in any non-trivial task, a truth applicable to all kinds of work. I could delve much deeper into this topic, but I want to highlight a book: 'Deep Work' by Cal Newport. The subtitle is 'Rules for Focused Success in a Distracted World.' It discusses the significance of deep work versus shallow work and emphasizes the advantages of focusing on cognitively demanding tasks.
00:16:01.440 Shallow work, like checking your email, may give you a false sense of productivity, but deep work allows you to hone in on what's truly challenging. Newport argues that every knowledge-based profession can benefit tremendously from engaging in deep work. He gives historical examples that align with this concept and provides practical strategies to cultivate a habit of deep work.
00:16:58.640 Maintaining concentration is indeed exhausting and connects with the idea of balance necessary for producing quality work. As you might imagine, musicians often spend countless hours practicing their craft—there was a colleague of mine who practiced around seven hours a day yet remained merely average. While that may sound commendable, when you factor in group sessions and other required rehearsals, it’s just too much time with a clarinet in hand!
00:17:46.900 In stark contrast, my instructor advised no more than a couple of hours of practice a day to avoid mindlessly playing notes without genuine engagement. If you overdo it, you risk not making real progress, since practicing without concentration leads to playing without intention. I came to realize the same lesson in software when I hit an intermediate stage in my career, overextending myself and working intense hours without adequate balance.
00:18:29.260 That balance extends beyond daily time management; it’s about being a well-rounded individual outside your work. As members of the Ruby and Rails community, you’ve probably heard encouragement to avoid burnout, work reasonable hours, and not glorify an existence that's solely work-focused. While I didn’t have it all figured out when I first ventured into programming, my background in music made the importance of balance instinctual.
00:19:13.800 As I read 'Deep Work,' I found myself constantly affirming my experiences: the idea of not practicing for more than four hours a day echoed precisely what Newport described—an uncanny parallel I couldn't ignore. My encounters in music emphasized the necessity of effective time management and the importance of being a complete person beyond work—both lessons that molded me into a better programmer from the very start.
00:20:02.950 Now, I want to address the aspects of hero worship and impostor syndrome. Throughout my years in music, I had the privilege of meeting many renowned figures in the classical music scene. I collaborated and played alongside musicians who now hold esteemed positions in groups like the National Symphony Orchestra in D.C. or perform on Broadway, which is quite remarkable!
00:20:54.500 I've also been lucky to connect with notable personalities in the Ruby world, particularly in my previous role at Red Hat. Consequently, I often found myself grappling with feelings of inadequacy. Here I am, in front of you, speaking alongside amazing people, yet I want to stress that beneath the surface, we're all human and normalize hindrances like impostor syndrome.
00:21:49.500 Your heroes, too, are regular people who’ve gone through the same trials. The individuals you admire didn’t arrive at their expertise simply through inherent talent; it was the fruit of hard work, risk-taking, perseverance, and a bit of luck. There's a reason practice makes perfect rather than talent makes perfect. They are not fundamentally better than you or possess a unique insight that sets them apart—each has had their journey, complete with struggles and learnings.
00:22:29.220 What they’ve mastered is how to manage complexity, maintain deep concentration, and create balance in their lives. They produce quality work that you admire, but rest assured, they too are navigating their way through feelings of self-doubt. Having met many of my heroes in music, I internalized this truth quite rapidly.
00:23:24.850 While I finished my bachelor’s degree and taught students for a few years, I eventually redirected my career path. The question that might arise is, why did I make that choice? After soul-searching, I recognized that to achieve the professional goals I set, I had to forsake more time in music to enhance my overall balance and maintain a healthy lifestyle.
00:24:21.020 Software became my new avenue through which I still find joy without compromising this balance. Though some might argue I wasted time not diving into my ultimate career path sooner, I have no regrets. The lessons I gleaned on complexity, concentration, and understanding heroes significantly enriched me as a programmer even before beginning my journey.
00:25:02.990 Perhaps there’s a hidden truth behind this: the lessons I've learned from music aren’t just technically beneficial—they have universally shaped me as a person. Many of you may have encountered similar lessons from diverse backdrops. Consequently, what helped me grow as a programmer has also enriched my existence.
00:25:59.650 To wrap things up, I want to conclude with one last piece. Does anyone here know what a bandoneon is? It’s like an accordion but with a unique sound. It’s the instrument leading Argentinian tango music, and one of its greatest composers is Ástor Piazzolla, a superb bandoneon player known for creating the nuevo tango style, blending tango, classical, and jazz.
00:26:36.220 Before I play an etude by Piazzolla on the clarinet, I’d like to take a moment to thank my prior employer, Red Hat, who allowed me the time to develop this talk. I also want to express my gratitude to my current company, Software for Good. If you’re looking for someone to create quality web and mobile applications, come see me; we’re committed to making the world a better place by tackling issues like affordable housing transparency.
00:27:49.790 I appreciate your attention and support. Now, let's enjoy this piece!