ghammell'sBlog

Asking the Right Questions

August 2, 2014

As a newbie web developer, I've had tons of questions while learning new concepts or trying to solve challenges. Thankfully, the resources available on the internet are almost endless, and I've been able to glean answers to most of my questions from existing forums. Sometimes, though, the specific answer I need is elusive, and I'll have to make a post online or lean on one of my developer buddies for help. Programming can be complicated, which can make it difficult to ask the right question, or to formulate it properly for others to understand exactly what issue you're facing. This is only amplified by having a novice skill set, because sometimes its hard to figure out what question you even have to ask. It is critical as a newbie developer not only to be willing to ask questions, but to know how to ask good questions.

So, what makes a 'good' question?

Stay concise

When asking a question, it is important to get to the point. You don't want to confuse whoever you're asking with unnecessary details or misleading code. If your source code is really long, make sure you're isolating the problem and recreating it in a manageable format that you can provide to others. Staying concise with your question enables others to understand the problem quicker, without having to filter out anything that is not related to the issue.

If you're posting to a forum, then be sure that your title follows this principle as well.

Provide proper context

Simply asking the question sometimes isn't enough. You should provide as much context as possible to others so that they can understand the issue better. It should be clear what the end goal you are trying to acheive is, and what results you have gotten with specific inputs. Outlining your expected and actual results will provide futher understanding to readers. If you've already tried to use answers that were posted elsewhere, reference those answers so that it is clear which suggestions have not worked for you.

On forums like StackOverflow you can assign tags to your posts. If the site you're using allows this, tag your post appropriately so others can see what your post is related to before diving into it.

Also, it should be obvious what language you're coding in and on which platform and operating system.

Proofread for clarity

When you've outlined your question, make sure you look it over again before posting it or sending it off. Users of a forum will be more inclined to skip over your question if it doesn't look like you put much effort into asking it appropriately, which includes correcting spelling errors and grammatical errors. When reviewing your question, you should imagine that you are on the other side and ask yourself "does this make sense?". If it's hard for you to follow, it'll be even harder for others to follow and they will likely pass it over.

Stay active

Once you've asked your question, you should make sure you are available to responders that need clarifications. Someone might have a question about your question - and you should be actively responding to this feedback. Be sure to answer these as soon as possible - users will be more likely to forget about your question if it takes you a while to get back to them to clarify something. It's best to answer their questions while the whole issue is still fresh in their mind.

My own questions

In analyzing a few of my own past questions, I realize I can definitely be better at providing context. A few of my questions were limited to simply pasting an error message and saying something along the lines of 'what the hell is this?' with limited information on what my objective was. I need to get better at providing examples of inputs I'm using and the outputs I'm receiving.


Copyright: Gary Hammell 2014