article by ‘Staff’ (no author cited) reposted from Lifehacker.co.uk
Have you ever started asking someone to help you solve a problem, and halfway through, you figure it out yourself? It feels great. It feels even better when you learn to do it on purpose—and when you learn to do it without wasting another person’s time.
In the coding world, this is called “rubber duck debugging.” It’s when you come up against a problem, and instead of immediately rushing to ask for help, you think through your problem. Because coders are weirdos, they have a tradition of asking a rubber duck.
1. Put your question into words
Sometimes, you only need to slow your thoughts down and you’ll find your answer. You do this by putting your problem into words: saying it out loud, or writing it down.
2. Add detail
Back up. What were you doing before your problem started? Move forward. What’s the first step you’d take if your problem can’t be solved?
Look at each word of your question and see if you could define it for a non-expert. (Imagine you’re explaining the problem to your parents, or to your kids.)
3. State your goal
Sometimes you’ve explained what’s wrong, but not what would be right. Explain what you hoped would happen that hasn’t happened—and why the current situation isn’t desirable.
4. Share your research
You need, of course, to do your research. You aren’t one of those cretins who tweets a question instead of googling. List the places you searched, the resources you consulted, the info they had and didn’t have.
5. Ask your question
By now you’ve done a lot of work, and if you haven’t answered your own question, you’re frustrated. The good news is, you’ve written down a very good version of your question, and now you can ask it of a colleague, a boss, an advisor, a forum.