Newbies: Get the Help You Need by Asking the Right Questions

posted in: ones and zeros | 0


When I was first starting out programming, I asked some terrible questions in my search for a solution. My guess is you have too.

You might have noticed how terrible the answers are when you ask bad questions.

Get the answer you need by asking good questions.

What not to ask

The best terrible question might just be, “why doesn’t this work?” It commits the cardinal sin of question-asking: it isn’t specific.

There are several pieces of key information missing from this question, including:

  • What you are trying to do?
  • What have you tried already and
  • What happened when you tried it?
  • What is the current output?

Maybe – just maybe – someone will be able to figure out how to help you get your gibberish to work, if it’s just a missing semicolon or something similar (of course in the long run you really need to learn how to find those missing semicolons on your own).

Most of the time, though, the answerer just plain needs more information before they can help you.

Give them what they need

Jon Skeet’s golden rule of writing the perfect question is, “Imagine you’re trying to answer the question.”

You really haven’t done your job as the question asker if you haven’t helped people help you by telling them what they need to know. Based on your question, they should be able to either reproduce the situation themselves or at least understand what is really going on.

Some things that could be useful include:

  • The language/platform/technology you’re using
  • Any unusual constraints (ie I can’t use the XYZ Special Tool – because…)
  • The exact error message you’re getting, including line number

And if you’re asking a more advanced or workplace related question:

  • Your development practices – do you use git, version control, agile?
  • Your deployment/testing practices, including what automated testing or quality metrics are being used

Beginner-specific tips

Tell them your experience level:
Ever get a jargon-filled response that raised more questions than it answered? If you don’t let people know your current level of knowledge, they won’t know they need to explain their answer extra thoroughly.

Due diligence:
Look in multiple places for your answer before you ask a person, and include what you tried in your question. If someone can find the answer to your question on the first page of a Google results listing, they’re going to think you’re wasting their time. If you tried that Google result and it didn’t work, say so in the first place and they won’t try to give you an answer you already know doesn’t work.

Get savvy:
Go read How To Ask Questions The Smart Way by Eric Steven Raymond. You will get valuable insight as to why coders on the internet can seem so gruff, and what you can say to get people to want to help you. Yes, it’s long, but your time will be well spent.

Figure it out yourself:
Sometimes, clarifying the question is enough to give yourself a new approach to discovering the answer yourself and you end up not actually having to ask the question. So do your best to understand what your problem actually is.

“Exploring the unknown requires tolerating uncertainty.”

– Brian Greene