Rubber duckie, you’re the one
You make bath time lots of fun
Rubber duckie, I’m awfully fond of you
-“Rubber Duckie” by Jeff Moss (performed by Ernie on Sesame Street)
Ah, rubber ducking, you wonder of wonders. It’s such a great tool — when nothing else will help, rubber duckie is there for you.
Okay, so what is rubber ducking? Well, its full name is actually “rubber duck debugging,” and it’s a method that software engineers use. As I’ve mentioned a few times, a number of my close friends are programmers and part of the maker movement. I used to go to hacker cons a fair bit — even presented at one once upon a time (on clever ways to make video games with no programming knowledge).
So I tend to be around a lot of folks who are talking about things in programming terms, even if I don’t program much myself. (I mostly did back when I was a kid, and it was all procedural stuff, not object oriented.)
Anyway, rubber duck debugging comes from a story in The Pragmatic Programmer where someone carried around a rubber duck and explained their code line by line to the duckie — in order to debug it.
The thought here is that when you have to break a problem down to its smallest component parts, you’re more likely to figure out what isn’t working. In some instances, this can be what’s literally breaking your code. But other times, it can be the weak part of an argument, the thin part of a plot — you name it.
It Doesn’t Have to Be a Rubber Duck
Despite the name, you don’t have to use a rubber duck. Many people find it helpful to talk to their cat or dog.
I frankly have been known to do it silently by opening up my private journal and just starting to flesh something out in ridiculous detail.
And actually — I’ve been on the other side of it. Sometimes I’ve been the rubber duck. Not just for people in my everyday life — but for folks who write into this blog. I absolutely get some longer reader letters in which the sender actually ends up giving themselves advice in the course of detailing their problem/question for me. I only of course know about the times that they’ll still hit send afterwards — which makes sense if you think about it. After you go to all that effort, it’s hard sometimes to delete it and/or just keep it to yourself.
But I figure that sometimes people do that, too, after they’ve gone to the effort of typing everything out.
And yes, there’s the old tried and true method of talking over an idea with a friend. I do that some.
But at a certain point, I do tend to not want to overwhelm my friends with those types of discussions — plus, there are times when your idea isn’t even really ready for your friends and rubber ducking is perfect.
(I originally ended that sentence “and rubber ducking fits the bill” but then deleted it because I had accidentally made an awful pun. A fowl one, if you will. Okay, I’ll see myself out.)