Asking questions doesn't seem like it should be a hard thing to do. Turns out, it can be. Just like any form of communication, you need to be able to convey specific meaning to your audience. When you're asking a question, you have to convey exactly what it is looking for to anyone who might have that information. The tricky thing is, if you don't know the answer in the first place, sometimes it can be difficult figuring out how to ask for it.

Let's say you're coding, and you keep getting this weird error. Everything should be working fine, (as far as you can tell,) but it keeps coming up. So, you ask this:

"Hey, guys, I keep getting an error, but I'm doing everything right. Why am I getting an error?"

You're not going to get very helpful responses because, to be honest, your question wasn't very helpful to begin with. When asking a question regarding a situation like this, it is very important to be specific! It would be most helpful to actually provide the exact error message you're getting. Maybe you could even include your code, or what your code is trying to do. Failure to provide any of these is just going to force someone to ask you for these and waste time.

I'm not saying I wouldn't take the extra time to ask for this information and try to help, but there a lot of busy people out there that I'm sure may feel differently. Also, when you include specifics in your question, you can pique the interest of anyone who has had experience with the area of your question, or anyone who has had trouble with it in the past. Without the specifics, they wouldn't know that you were a kindred spirit and could possibly pass your question up.

Sometimes, if you're asking a question about errors in code, it can turn into a long-winded question. When this happens, it is very important to be clear about what you're asking. The following is not helpful:

I'm having a problem. Here is my code:


    def blarg
      puts "This is my code."
    end
  

Help, please!

These frustrate me to no end. So super not helpful. If you don't actually ask a question, the best anyone can respond is, "Hey. You have code that prints our your sentence, so.... What's wrong?" Again, wasting time. So always be sure to specifiy exactly what you are trying to do, and what your code is doing that you think it shouldn't be doing. If possible, sum it up in an actual question at the end of your post/discussion/blurb/whathaveyou.

So that's all I have on asking good questions. I don't ask questions often, but when I do, I make sure to provide plenty of relevant information and I make sure that it is clear what I am asking.