Rubberducking

Rubberducking

In asking a question, your answer is already half answered

True story:

When it happens to you not just once but twice, thrice, it’s fair to say there’s some truth to the title statement. That in asking a question, your answer is already half answered. This totally happened to me on multiple occasions on the past few weeks when I hit a wall with my code. Because I hate troubling others and also because I feel personally responsible to try to solve things on my own first before seeking help, I often don’t ask for help until I’d spent almost a day banging my head against a wall. That’s my limit when it comes to debugging.

How I rubberduck

What would follow would be me taking the time to upload my code into Github, Codepen or Codesandbox, and taking some time to type out my question, making sure that I give the context, frame it properly, phrase the question with the right technical terms. And then posting it to various maker/coder channels, or directly to helpful folks who offered a hand in the past. Then I wait, for people to reply.

But I end up solving my own issue

Meantime, I continue trying to resolve it. One or two friends might reply, and I try to explain it a bit more. And then what happens next goes right into uncanny valley. Very often, before they can even understand the problem and resolve it, I solve it. On my own. A weird character nested in the code, or a some obscure tutorial or Stack Overflow answer that doesn’t seem related at first glance.

It’s embarrassing, to say the least.

It’s almost lame, like all the hoo-haa to ask the question, only to answer it yourself. I’m sure my friends feel cheated. But I can’t help myself.

Skip the last step of asking a friend

So perhaps the next time I will do the same thing, but maybe skip the last step of actually posting it out to friends. And then see what happens. Whether I solve it myself or not. Because I believe the break in the process—when I step out of problem-solving, trench-digging mode to an overview mode of framing and phrasing my question—I break the momentum that caused the problem in the first place, and get perspective. That’s usually what we need to squash a bug in the code.

A break. And perspective.

That’s why: in asking the question, you already half-answered it. Or the answer is already right at the tip of your tongue, hovering under your nose all the while. All that was needed, was a question.

Ask, and you shall find.


Follow my daily writings on Lifelog, where I write about learning to code, goals, productivity, indie hacking and tech for good.