Talk to the Duck

When you’re facing a problem that you think you should be able to solve, but you can’t see what you’re missing… what do you do? For many of us, frustration just builds and builds – and, while you may not need scientific studies to back up what might seem obvious, “frustration is often negatively associated with cognitive and affective processes beneficial to problem-solving.” Frustration at the inability to solve a problem can cloud your judgement and only make it harder to solve. The more you look at the problem, the less obvious the path forward seems.

Some tools that we’ve written about before can help in these situations, but some are primarily intended for problems that involve other interactions with other people. Chris Argyris’ Ladder of Inference model suggests that anytime we find ourselves making decisions based on strong emotions we might be well served by taking a breath (or a break) and stepping back down to gather more data. Gathering other perspectives or other objective data points can help us to make a more clear-headed decision. The Ladder of Inference is a tool we will return to in future articles. We’ve also written about the value of practicing difficult conversations, with a trusted colleague or friend, or even with plants or flowers!

But in cases where you’re facing a challenge alone, or you’re not ready or able to discuss it with someone else, what can you do? It turns out that software engineers might have the answer – and it doesn’t involve AI, or any technology at all – just a rubber duck! Andrew Hunt and David Thomas’ book The Pragmatic Programmer relays a story of a computer programmer who carried around a small rubber duck. Whenever they faced a problematic piece of code the programmer would pull out the duck, sit it by the computer, and then explain each line of code to the duck. In describing it to an (inanimate) audience who was not deeply familiar with coding, the programmer forcibly chunked down the problem and was able to easily identify the errors and how to fix them. In essence, the programmer became aware of something in their blind spot, and adjusted their approach as a result. The story of this programmer spread, and many programmers now use a duck, a teddy bear, or some other inanimate object when making their way through code. Sometimes hearing a problem articulated out loud – even if it’s from your own mouth – helps you to hear it differently and see the way forward.

(Incidentally, the trend even grew to inspire a website rubberduckdebugging.com, which includes the following FAQ snippet: “If ducks are so smart, why don’t we just let the ducks do all the work? It would be wonderful if this were true, but the fact is that most ducks prefer to take a mentoring role.” The site also includes a “Cyberduck” online chat in case you don’t have a rubber duck on hand when debugging – so in this case, I was wrong: AI is involved after all…)

I wonder if we could all be served by having our own personal rubber duck to talk through problems with…?

This Week’s Tip:

Find your own version of a rubber duck to use as a sounding board in challenging situations. Ideally, this should be something small, light, and easy to carry around – something with a face seems to be helpful, but preferably not a character whose responses you could imagine (this is intended to be a helpful sounding board, not send you into daydreams and imaginary conversations). When you find yourself facing a problem or a challenging situation and you aren’t sure how to proceed, try these next steps (adapted from rubberduckdebugging.com):

  1. Place rubber duck on desk and inform it you are just going to go over some code [talk through the situation] with it, if that’s all right.
  2. Explain to the duck what your code is supposed to do, and then go into detail and explain your code line by line [explain the situation step-by-step in detail as pragmatically as you can; use data to stay low on the ladder of inference].
  3. At some point you will tell the duck what you are doing next and then realize that that is not in fact what you are actually doing. The duck will sit there serenely, happy in the knowledge that it has helped you on your way.

Try these out this week, and let us know how it goes! We’d love to hear from you.

You can subscribe to our feed here, or sign up for our weekly newsletter to get these articles directly in your inbox.

h/t to Kieron Gillen for influencing this week’s article.

Published by Ian Jackson

Ian Jackson is the founder of Building Bridges Leadership, which works with individuals, teams, and organizations to create authentic community in the workplace. He also writes children's fiction and teaches creative writing.

Leave a comment