Tuesday, 9 August 2011

How to Get Help

Originally, this was going to be a part of another post but I've decided that this piece of information should really be on its own. The idea for this post comes mainly from my experiences and observations on the programming forums I frequent, namely the Ubuntu Programming Forums. Nothing is more frustrating than someone who won't help themselves.

So, my first piece of advice is: Try to figure it out for yourself, first. There is a lot of information on the Internet and in books. Asking for help should not be your go-to course of action. Indeed, consider it your last line of defense. Let's be honest, while it may be the easiest, it's certainly not the fastest and probably not the most exhaustive. Sometimes, you're lucky to get an answer all. So, search first and ask second.

If you want to get an answer quickly, learn how to use search engines properly. I can't stress this enough.  Think about what you're asking. Try to make your search terms very specific but not overly complicated. A good search will likely only contain a couple words. It should not be a full sentence or proper English (or whatever tongue you're searching in). "How do I compile a program," is less effective than, "compile c" isn't. After looking at the first couple results and you decide it's not helping (they're all on how to compile c on windows or in an IDE and you need to know how to compile it on the Linux command line) you need to grow your search criteria, "compile c linux command line." The order of terms isn't usually important. For more help on optimizing your search results try, "google search help," and blam, you get an answer.

My second piece of advice: When asking questions on a web forum make sure you ask something specific and give as much information as possible. Asking, "How do I compile a program," is so nebulous that if you get an answer at all, it likely won't be very friendly. You need to specify what language you need to compile, which operating system and/or distribution, and any prior experience you have. Saying something like, "I've done some searching and couldn't turn anything up..." or "After a couple searching, I'm still confused because..." will help but, let's face it, if you really haven't done that people are going to know. Assume they're a lot smarter than you are until they prove you wrong (and many will). Do your homework. Like I've said already, it becomes obvious quickly if you haven't. People become hostile if all you do is want them to do the work and not do any yourself. Try and be as self-sufficient as possible. Take the initiative. Only ask questions when you just can't figure it out yourself and searches aren't getting you anywhere.

My third piece of advice: Make sure your question is relevant to the forum you're in. If you're on a Linux forum don't ask a Windows-only question. It's not that people can't answer or will be offended by it (though they might) but do you really think that is going to be the best source of answers? Doesn't it make sense to go where a lot of other Windows developers are? Asking why a program won't install or how to create a web page on a programming forum (happens all the time) make sense to you? What relevance does it have? Why kind of help are you really expecting? Would you ask a doctor how to build a house, ask a police officer how to tend your lawn or a cab driver how to fly an airplane? Basically, don't ask off-topic questions! If you have an honest question, no matter how basic or silly, and you've clearly tried to help yourself, then most people will be happy to help.

My last piece of advice: Think for yourself. Think about what you've been told and see if it makes sense. Does it agree with what you already know? Always check more than once source to make sure they agree (in computing, they often don't). There's a lot of bad advice (hopefully, this isn't) out there so it's always a good idea to not accept the first thing you read and keep looking at at least two or three alternative sources. Make sure the sources are credible too. Why would you trust the authority of someone if they've done nothing to back it up. There's a huge difference between theoretical knowledge and practical knowledge.

Good hunting.