Rubber Duck Debugging

Ducks, dolls, and other stuff make great programmers. Here's how it works.

Got an impossible coding error to figure out, no matter how many times you read your code, line after line? How do you solve an unsolvable problem?

Talk to a duck. Or a teddy bear. Or your Star Wars Pop! Vinyl doll (or American Girl doll). While it’s called Rubber Duck debugging, any inanimate object works.

If you sit your duck down next to your computer and carefully explain what your code is designed to do, then explain line by line how your code does what it’s supposed to do, at some point you will find a solution to your problem. You will find the bug. Or find an idea or two how to fix the problem.

While it’s fun to think of inanimate objects as master coders, when humans explain code in detail often they see things they don’t notice when simply reading code. The difference between what we think happens and what actually happens becomes clear.

So keep a duck or other favorite object by your computer when you code. While they might be happy to stand around all day, they also can help when you get stuck coding.

Learn More

Rubber duck debugging

Why Rubber Duck Debugging is the best way to debug your code

The Rubber Duck Story

Rubber Duck Problem Solving

Ask the Duck

How a Rubber Duck Taught Me to Be a Better Programmer


  • Tim Slavin

    Tim is an award-winning writer and technologist who enjoys teaching tech to non-technical people. He has many years experience with web sites and applications in business, technical, and creative roles. He and his wife have two kids, now teenagers, who are mad about video games.

Also In The December 2017 Issue

Learn some nifty coding tricks while creating a Formula EV3 Race Car.

With binary search, you don’t have to be a mind reader to beat this simple coding activity.

Controllers have come a long way in 50 years. Let’s appreciate the bulky, awkward ancestors that led us here!

Take your Scratch games to the next level by adding multiple modes with multiple sprites.

Let the CSS Zen Gardens wow you with variety and elegance. Making a pretty website isn’t so complicated after all!

An introduction to a hip new alternative to Java. It’s all the rage in android development!

Resources to transform you into a web virtuoso, from messaging apps to testers to code converters.

New treasures and new enemies await in two unique, dangerous realms.

Create your own 3D digital museum and learn how you can help preserve cultural artifacts.

Interesting stories about computer science, software programming, and technology for December 2017.

Add data types to your new programming language in this third installment of the series.

Links from the bottom of all the December 2017 articles, collected in one place for you to print, share, or bookmark.