No matter you are a newbie or have some experience in the technical world, you will always meet amounts of challenges in programming. It’s very normal and also a good thing: We like hard problems and good, thought-provoking questions, If we didn’t, we would not be here. So do not feel bad if you have lots of questions and do not hesitate to ask for help. This article will teach you how to ask questions in a smart way and help you get a satisfactory answer.
Before You Ask
As the use of open source has become widespread, you can often get answers from other, more experienced users. This is a good thing. But do not be those people who are unwilling to read nor think, do not be those people who take things for grant and without giving back. Always notice that experienced users could spend their time on other questions or other people who are more worthy to answer.
Before asking a technical question, do the following:
- Try to find an answer by searching forum ( Github, StackOverflow)
- Try to find an answer by searching ( Google, the software website)
- Try to find an answer by reading a FAQ
- Try to find an answer by reading the manual/ documentation
- Try to find an answer by inspection or experimentation. (Try more different potential solutions)
- Try to find an answer by asking a skilled friend.
Do and Don’t
- Prepare your question. Think it through. The more you do demonstrate that having put thought and effort into solving your problem before seeking help, the more likely you are to actually get help.
- Beware of asking the wrong question. Display the fact that you are facing and what you have done, rather than display your assumptions.
- Take your time. Do not expect to be able to solve a complicated problem with a few seconds of Googling. Read and understand the FAQs, sit back, relax, and give the problem some thought before approaching experts.
- Search, and ask on Stack Exchange. Let the search engine be your friend. Google indexes it in real-time. There’s a very good chance someone has already asked a similar question, and the Stack Exchange sites are often near the top of the search results. If you didn’t find anything through Google, search again on the specific site most relevant to your question.
When You Ask
Use meaningful, specific subject headers
Don’t do it like “Please help me!!!!”. Instead, use the space for a super-concise problem description. I highly recommend the “object – deviation” for the headers. The “object” part specifies what thing or group of things is having a problem, and the “deviation” part describes the deviation from expected behavior. The process of writing an “object-deviation” description will help you organize your thinking about the problem in more detail.
HELP! HELP! My Database does not work!!
MySQL Workbench can’t connect Server, Error code XXXX, MySQL version XXXX
Use clear, grammatical, correctly-spelled language
People who are careless and sloppy writers are usually also careless and sloppy at thinking and coding. It is important to express your question clearly and well. Spend the extra effort to polish your language. It doesn’t have to be stiff or formal, but it has to be precise.
Spell, punctuate, and capitalize correctly. Don’t confuse “its” with “it’s”, “loose” with “lose”, or “sort” with”salt”. Don’t TYPE IN ALL CAPS, even you are working on SQL. This is read as shouting and considered rude.
Be precise and informative about your problem
- Describe the symptoms of your problem or bug carefully and clearly.
- Describe the problem’s symptoms, not your guesses.
- Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor’s distribution and release level
- Describe the research you did to try and understand the problem before you asked the question.
- Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.
- Describe any possibly relevant recent changes in your computer or software configuration.
- Describe the goal, not the step
Courtesy never hurts, and sometimes helps
Be courteous. Use “Please” and “Thanks for your attention” or “Thanks for your consideration”. Make it clear you appreciate the time people spend helping you for free.