Seeking Help, and Rubber Duck Debugging


The right way to look for coding help

rubber-duck

The idea for this article struck me after submitting one too many downvoted questions to Stack Overflow.

While you might be familiar with Rubber duck debugging, it is important to realise that it doesn’t only describe talking about your code to another person or a duck.

In fact, the most powerful rubber ducking tool is to ask a well-structured question that describes your problem.

First of all, make sure you’ve thoroughly searched Stack Overflow for similar problems that other users might have already faced. It’s best described as the Wikipedia of programming problems.

If your problem still isn’t resolved, ask a question.

Hold on!

I hope you didn’t submit a Stack Overflow question yet, because here’s the trick. Instead, focus your thoughts on trying to describe the problem as clear as you possibly can. This includes reading through (and optionally, quoting) documentation and other sources of authority. Take your time to format the question nicely and put down all your thoughts into words. By formatting, I mean making use of Markdown. If you don’t know what that is, go learn it1 2. It should take about an hour to learn but is an invaluable tool when it comes to writing documentation for your code and submitting posts. Not just on StackOverflow and GitHub but even other sites like Reddit, Gitter and Slack.

Take your time, and try to convey your situation as clearly as you can in your question.

Here is the biggest takeaway. Speaking from personal experience, if you follow these steps correctly, you’ll realise that 95% of the time, you’ll solve the problem in the process of writing it down, without ever having to submit a question (your SO reputation will thank you, trust me).

What if I’m still stuck?

While it may seem antiquated, since it is 27 years old, my experience with seeking help on IRC has been nothing short of pleasant. The combination of maturity, friendliness and expert help is hard to rival these days.

In fact, look forward to a post about IRC soon.