The rubber duck method
Yesterday I went to take out the trash, just a stone’s throw from my apartment. When I arrived, there were two girls standing there with a big pile of trash bags and cardboard boxes. They had a puzzled look on their faces.
One turned to me and asked, “Hey, how do we open this one if there’s no place for the card reader?” You see, to open the dumpsters here in Holland, you have to activate it with a special garbage-card that you get. She was right, there was no place for the card.
But as she was asking me, she had her hand on the bin, lifted the handle and opened it. “Oh!” Apparently, this specific bin didn’t need a card. She had figured it out as she was asking the question. “Glad I could help,” and we all laughed.
As I walked back, I thought about how this happens unintentionally all the time. When we are scratching our heads and forced to articulate or explain the issue, suddenly the solution appears.
In the programming world, this is called the Rubber Duck Method. It refers to a story in the book The Pragmatic Programmer, where the programmer carries around a rubber duck and debugs their code by forcing themselves to explain it, line-by-line, to the duck.
Here’s how you can use this technique:
When you have difficulties solving something, imagine that you have to explain the issue to a Rubber Duck. The duck is pretty dumb, so you need to use simple language and make it easy to understand. In doing so, you often find a flaw in your logic.
Even better than talking to an imaginary Rubber Duck, though, is writing this out. Start writing an email to your friend/colleague trying to explain the issue. Purely writing it down will force you to think through your logic and get it out of your head. This will solve the issue most of the time, or at least point you in the right direction!