Beginning to ask a question on Stack Overflow actually helps me debug my problem myself, especially while trying to formulate a coherent and detailed enough question body in order to get decent answers.

Is this common?

  • 1
    Since this question is linked to a post from Jeff Atwood, I guess you'll get soon a gold badge :-)
    – Luc M
    Commented Mar 14, 2012 at 16:32
  • @LucM Thats true! Before reading Jeff Atwood's post, I didn't know there is a meta stackoverflow ;-)
    – Yeameen
    Commented Mar 15, 2012 at 4:48

2 Answers 2


This technique is known as Rubber Duck Debugging -

The process is to meticulously explain code to an inanimate object, such as a rubber duck. It is expected that when the programmer comes across a piece of code that is incorrect, she will realize this.

  • 2
    Thanks for putting a name to it! Although I prefer doing this on stackoverflow, because if I haven't found the problem by the end of my post, I can just hit "Post your question" and expect / receive answers. And talking to a rubber duck seems ... whacky :)
    – Marcel
    Commented Oct 27, 2010 at 12:46
  • 4
    It's from a book titled "The Pragmatic Programmer" @ amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X
    – user151803
    Commented Oct 27, 2010 at 12:49
  • 1
    Where I work we call it the FIP effect. "FIP" is a stuffed boarder collie who is named after a poorly named variable. You could use this to your advantage by still asking the question and then posting and accepting your own answer.
    – Beth Lang
    Commented Nov 20, 2010 at 4:12
  • 1
    'She' meaning the duck, of course...
    – Andriy M
    Commented Mar 30, 2011 at 14:34

Often times this will happen when I'm preparing to ask a question on SO. My question will be far too specific to my code, so I'll be working out how to generalize it. More often than not, the process of generalizing a problem makes me aware of a mistake or design flaw in my "real" code, and hence solves my problem.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .