Nov 1, 2022

Rubber ducky debugging your way out of a rut

Taking the classic programmer technique and applying it to your life

As a developer, you’re probably familiar with rubber duck debugging as a way of working through bugs in code[0] For the uninitiated, the idea is that when you run into a bug, you get out your litle ducky and explain each line of code. More often than not, you end up figuring it out. It’s ridiculously effective.

The rubber ducky, though cute, isn’t magic. The benefit comes from the process of explaining the problem and your approach to someone else[1] Not that you’re expecting them to solve it for you or to even give you advice. The process encourages you to make explicit the assumptions you otherwise take for granted and to continuously evaluate your logical steps.

I’ve also found this technique to work for technical problems unrelated to code. And verbalizing it on paper or in a note app seems to be just as effective[2]

On the other end of the spectrum, I’ve seen incredible results using it for non-technical problems that don’t have discrete answers. The same clarity obtained from verbalizing assumptions and logical steps can be reached for life issues too. The clarity may not come as immediately, but a regular practice of chatting with your rubber ducky can really open things up.

Obviously you don’t need an actual rubber duck. I find the most benefit doing this practice walking, especially in nature. In place of the duck, I substitute my phone, earbuds, and a recording app. It’s not necessary to actually listen back to the recording, and often I will delete it immediately after, but knowing that I’m commiting it to the phone changes the way I engage.

I’ve used this practice to navigate my way through all kinds of life events, from minor challenges to more serious ruts. Most recently this process helped me to clarify my values and figure out an entirely new career path from tech and into coaching.

This is essentially a kind of self-coaching practice. As such, adopting a mindset that is open, flexible, and curious will get you the best results.

If you find yourself in a rut, I invite you to give it a try. And let me know how it works for you.

  1. ^ As popularized in The Pragmatic Programmer
  2. ^ Rubber duck debugging is actually very similar to a well researched problem solving strategy called Talking Aloud Partner Problem-Solving (TAPPS) In TAPPS a problem solver is paired with a partner whose only job is to listen.
  3. ^ "I've gotten tons of feedback over the years about how people, in the process of writing up their thorough, detailed question … figured out the answer to their own problem."