Talk Ducky To Me

In Blog by Cole Sosnoff

There is one thing you will always find on my desk: a yellow rubber ducky.

When I was at NYU pursuing a BFA in Film & TV, I foolishly attempted to double major in Computer Science. Even though I ultimately decided to downgrade CompSci to a minor in my senior year because I didn’t want to take calculus, I ended up spending most of my college career in a dark room either editing short films or writing code.

During my brief tenure as a coder, I frequently encountered logic errors. When your code has an issue, you either get a syntax error or logic error. With syntax errors, the program highlights the specific line of code where it encountered a problem so you can return to fix it. However, with logic errors, you have no idea where the error in your code is. You just know the result is not what you intended it to be. Now you’re skimming each line like a high school student reading The Great Gatsby five minutes before a quiz. You rarely find the answer you’re looking for, and you repeatedly reread the same lines.

I remember late one night during finals, my roommate came to check on me since I had only left my room a handful of times. He saw me overwhelmed with stress and asked which final I was working on. I told him about this game I was programming for class. I was frustrated because I couldn’t figure out why the main character wasn’t functioning properly. Without saying anything, he stood up and left my room. A few minutes later he returned with a yellow rubber ducky.

He placed the duck on my desk and said, “Tell the duck the issues you’re encountering with your code.” At first, I thought this was his passive-aggressive way of telling me, “Look man, we’re all stressed about finals — I don’t have time to listen to your problems.” However, he went on to explain that it was a tactic coders use to debug called “Rubber Ducking.”

The process of discussing problems out loud can help people find solutions (later, I received the same advice from my therapist). The concept was popularized by the book The Pragmatic Programmer, in which a developer at the Imperial College London had a rubber ducky with them while coding. The book explains, “It sounds simple, but…by having to verbalize some of these assumptions, you may suddenly gain new insight into the problem.”

Sure enough, as I talked through the code with my rubber ducky, I found the logic errors I had been struggling to locate. I even ended up submitting the project a day before the deadline. So, when I got my first job as an assistant at a talent agency in Hollywood (where I had to wear a suit and tie to work every day), I decorated my desk with a When Harry Met Sally screenplay and a yellow rubber ducky.

At Live Bash, we recognize the importance of communication and frequently practice Rubber Ducking. We have a daily team check-in to communicate any blockers — internal or external, personal or professional, physical or mental — that we’re experiencing. This allows everyone to articulate the issues they’re facing and discover fresh perspectives. It also provides the team the opportunity to solve problems as a group and support each other if someone needs assistance.

As I discussed in an earlier article, Live Bash has experienced many benefits while working remotely. However, one downside of remote work is that when you encounter a problem, you can’t just lean over to your coworker and ask for help; you often don’t have someone readily available to bounce ideas back and forth. Sometimes you have to wait until the next scheduled check-in.

However, whenever I get stuck and my colleagues are unavailable, I pick up the yellow rubber ducky on my desk and talk through the problem.

Sooner or later, a solution floats to the surface.

 


Author

Cole Sosnoff

Strategic Ops