As developers, we often seek help from other members of the community. We reach out to individuals or forums such as Stack Overflow to resolve our queries. Whether or not we get the answers we seek, and whether or not we get a reply, often depends on how we ask the question. In this article, I'll share some quick tips to make your question effective and make it easier for the person willing to help you. These are the things I look for whenever I receive questions from fellow developers in the community.
Question First
If reaching out to individuals in the community, don't just send phrases like May I ask a question
or Can you help me
without providing further information and waiting for a reply before sending the query. Do start with polite questions, but don't wait for a reply; send the query with a proper question and context, then wait for a reply.
Don't withhold any information; provide as much as possible to make it easy for the recipient to understand. Include code, error logs, screenshots, or anything else necessary to make your query clear. If you think this is a lot of work, remember that you are the one seeking help and must do the heavy lifting yourself.
Be Specific. Make Questions Clear and Concise
Ask questions that are as specific as possible. This increases the likelihood that you will get the answers you need. Make sure to provide enough detail so that the person receiving the question has all the information they need to answer it. Don't withhold information, thinking you will only provide it if they ask for it. Give all the details upfront.
Show Your Effort
Before reaching out to anyone individually or in a forum like Stack Overflow, make sure to do your research on the problem. Make sure to search for similar problems in the forums and Google so that you are not asking a problem that has already been solved and an answer is easily searchable. Doing your research makes you clear on your actual problem so that you can ask a clear and concise question. Provide information regarding what you have searched and found or not found regarding your issue.
Context
Explain the context of your question and the issue you are trying to solve. Make sure to explain the situation and problem you are trying to solve. This will provide a better understanding of the issue, allowing the people to provide the most relevant and helpful answer. Providing context also helps you understand both the query and answers you receive in a better way.
Use Proper Formatting
I can’t stress this enough. Many times I receive picture of code on a laptop screen taken from mobile phone. I don’t even bother to read the question. Be sincere enough to take time to provide information in a proper format. Let’s talk about, how to provide information in best way when asking questions (mostly code or software development related queries).
Codes
If you want to show the code the best way is to provide the whole program that people can run themselves if needed to in a GitHub repository. Or if it’s a single file, you can even use GitHub gist. If you want to provide code as a picture for simple queries, use a screenshot tool. Every operating system has many options. Windows by default comes with Snipping tool, mac has it’s default screenshot tool and linux has many to choose from. Never ever send a photo of the code taken using your mobile phone.
Error Logs
You can copy paste the error log as a text or if error logs is too long, use GitHug gist. It’s okay to send screenshot for short error logs, but it’s always better to provide both, log as text as well as the screenshot of the log.
Structure
Start with your query and the error you are facing. Then, provide the context in which the problem has arisen. Next, list what you have researched and found (or not found). Finally, include any relevant error logs, codes, screenshots, and other information that may help to understand the issue.
Conclusion
If you follow these guidelines when asking a query to an individual or in a forum, you are more likely to get the answers you need. Give people enough time (usually 2-4 days) to respond. Respect that people are busy and have other important tasks. If you don't get an answer within 2-4 days, either the query didn't reach them or they are not willing. Most of the time, in the community, people are willing to answer if you provide the right information. So, I hope these guidelines will help you ask better questions and get the support you need from the community.