« Call for Head First Design Meditations | Main | Transparency vs. Seduction »

Rubberducking and Creativity

You don't need a room full of smart people to brainstorm with--just use a rubber duck. Rubberduck

One of the first things I learned as a new programmer was the technique known as "teddy bear programming". A story about this is in the book The Practice of Programming, and goes something like this: a university help desk center kept a teddy bear, and before students were allowed to bring their problem to a human, they had to first explain it out loud to a teddy bear. The idea is that by the time they finished telling the bear, over half of them had solved their own problem.

But the technique is also known as rubberducking, because it doesn't matter much what you're talking to.

It's the talking that matters. Explaining your problem out loud is often enough to shake things loose in your brain, expose bad assumptions, and cause you to see things in a new way.

Gian's recent comment to the Passion is Infectious blog got me thinking about this. He pointed out how sometimes just having someone come over and take a look at a problem you can't solve is enough to make things happen (and he has a fun speculation on why sometimes two heads are better than one).

The thing is, sometimes it doesn't have to be an Actual Carbon-based Human. Another name for rubberducking is to use the cardboard programmer. Here's a picture of Skyler with Legolas,Skylerandlegolas but you could also talk to Lora Croft, Buffy, or one of these outstanding problem solvers.

And if teddy bears are a little too cute for you, try one of these guys from what is my favorite toy store on the planet, Kid Robot. (Next time you're in San Francisco, be sure to stop by... right down the street from the incredible Amoeba Music store).

Speaking out loud activates parts of your brain not accessed when you simply think. And even better, the act of explaining something gets you thinking in ways you might never have reached if you hadn't tried to talk through it. We often tell students that there is usually NO better way to learn than if you try to help someone else understand the thing you're still working on. Learn-by-teaching is even better than just stopping with learn-by-doing. We encourage members on the javaranch forums to try to get involved and answer questions, even at the risk of being wrong, because it helps the question-answerer as much as the question-asker.

And may I make an additional suggestion on the rubberducking/teddy bear technique... it works especially well on pets. If you can get them to sit still long enough, you might be surprised how much they'll learn in the process. Bert
My sheep (R.I.P.) Albert used to be one hell of a coder, and was especially good at brainstorming.

Posted by Kathy on January 16, 2005 | Permalink

TrackBack

TrackBack URL for this entry:
https://www.typepad.com/services/trackback/6a00d83451b44369e200d8345782f669e2

Listed below are links to weblogs that reference Rubberducking and Creativity:

» Talking To A Rubber Duck Solves Small Business Marketing Problems from Local Small Business Marketing S.T.A.K.S.
Nice post at Passionate about "Rubberducking and Creativity." It's about creative problem solving for programmers, but it's a killer app for small business owners, as well. One of the first things I learned as a new programmer was the techniqu... [Read More]

Tracked on Jan 18, 2005 9:17:32 AM

» Ansprechpartner from [bronski.net]
Wenn ich Für und Wider abwägen muss und nicht vor und zurück weiss, dann erzähle ich das am liebsten Freunden. Aber wer sagt eigentlich, dass das Personen sein müssen, mit denen man spricht? Warum nicht auch der Lieblingsteddy, der auf dem Fensterbrett... [Read More]

Tracked on Jan 19, 2005 12:43:48 PM

» Some days, you know how good you are at your job... from I Love Everything
(ah, found a link. http://headrush.typepad.com/creating_passionate_users/2005/01/rubberducking_a.html) [Read More]

Tracked on May 20, 2005 4:46:55 AM

» Rubberducking, or Why I Have All That Crap On My Monitor from gillianic tendencies
Back in 2001 I had quite the asshole boyfriend, who was absolutely no good for me except for two things. One, he introduced me to a bunch of my now closest friends, and two, he told me about rubberducking. Not that he labeled it such, or even knew it ... [Read More]

Tracked on May 25, 2005 11:04:44 PM

Comments

Tim Burton action figures work for me. ;) http://www.entertainmentearth.com/prodinfo.asp?number=DH10378

Posted by: Eric | Jan 16, 2005 1:33:51 PM

As a sequel to this problem solving process, if I may describe the following I've noticed in our team.

Often, once a problem is solved, thanks to the rubber duck or a colleague, we jot things down. That's info we think we can use if the problem will ever occur again. I've noticed that what happens then, is completely opposite to "facing a blank screen or blankly facing a screen" feeling that we had before the problem was solved: as if in an euphoric reaction we write down what we just did, and in the process we mentally fill in any gap, gaps that someone else cannot understand. So in a nutshell, we start seeing things that are not there... and I'm working in a normal IT company :-)

The things we write down are actually too succint to be of use in the future. If you read your own notes a week later, not to mention a month later, you think "who on earth wrote these notes?", you look at the rubber duck that stays suspiciously silent and has a pokerface, but then come to the conclusion that the time spent writing notes could have better been spent on something else. I think it takes a good amount of discipline writing down notes in the first place, but maybe, and more importantly, coming back to them in regular intervals with a different mindset seems to be the key to craft them into something useful.

I think this is quite difficult to keep up most of the time, but this blog makes me learn :-)

Posted by: Gian Franco Casula | Jan 17, 2005 5:24:51 AM

I am a subsitute teacher and one of the second grade teachers I work for has a "tattle bear". Unless it's an emergency, the kids have to tell the bear first. If you have ever been in a second grade class, you know why this is so important. They tattle for EVERYTHING! The hope is that by the time they finish telling the bear that Mario stole their pencil, they'll remember that they put it in their desk.

Posted by: Miss Substitute | Jan 17, 2005 6:29:08 PM

Often I don't "talk" it out, but I do journal it out quite often. I explain the problem or area where I am stuck and needing some guidance phrased as a question. Then - this is the cool part - I start writing the answer - even if I'm not sure what the answer is - I just start writing something and the answer does emerge even if it is a page or two later.

Posted by: Evelyn Rodriguez | Jan 20, 2005 4:05:49 PM

The comments to this entry are closed.