Often the quality of an answer originates from the quality of the question being asked. Anyone can relate to the sting of a blunt response to a poorly formed question. “Are you even trying?,” our peers sometimes ask us when we are careless with our inquiries. Well, the first step to asking good questions is to try, and the second step is to have a well-thought-out strategy to asking good questions.
After reading “How to ask questions the smart way” by Eric Raymond and done some thinking of my own, I have come up with some general points to keep in mind while asking smart questions particularly in open-source communities. The first piece of advice is to try to solve your problem on your own first. From what I have seen, people typically prefer to help people who are already trying to help themselves. Try to come up with different solutions to your problem and do some quick google searches to see if there are any resources that might provide an already-written answer to your question. Additionally, AI is a great resource for asking questions as well. Asking an AI might be more efficient than scouring the internet for answers yourself, and there’s less pressure to ask perfect questions too! My second piece of advice, once you have put some work into your problem, is to include the details of what you have tried already in your question. Include the solutions you have tried, and explain in detail the roadblocks you have encountered. Including detailed information about your question makes it more appealing and easier to answer, and it might just be the difference between getting an answer and getting ignored because your question isn’t interesting enough. My final piece of advice, is to be polite and considerate when asking your question. Don’t just paste your code into the forum and expect other people to figure the problem out by themselves; do the work and dissect the code and problem yourself, and make it easy for your answerer to understand exactly what you are asking. When you are asking for help, ask in a polite and professional manner. When you get an answer, don’t forget to thank the person who helped you.
An example of what I consider a smart question was asked by Asad Zaman on Stack Overflow. A link to the question is provided here. His question is “Should I use Next.js or Only React for a MERN Stack Application?” Asad starts by explaining that he is building a MERN stack application and is considering using Next.js for the frontend. He then shares some challenges that he is facing as a beginner. In his question, Asad also includes that he has started to build his application and has tried to set up API routes in Next.js and some other things that he has tried. Asad finishes his question by asking his question in detail: “I want to know whether Next.js is a suitable choice for a MERN stack application or if it’s better to use React without Next.js.” Asad’s question generated a response by Kris Rice. Kris starts his response by sympathizing with Asad by sharing his own experience as a beginner with Reach and Next.js. He shares his thoughts on Next.js and that he recomends using it. He then clarifies his answer with some qualifications for his response, and that using Next.js purely as a backend depends on the requirements. Asad’s detailed answer and demonstration of effort led to him getting an answer that went above and beyond what he was asking to provide additional considerations when using Next.js. Additionally, Asad’s considerate way of asking his answer in a professional and detailed manner led to Kris being kind and sympathetic in his response. It goes to show that a smart question is helpful in generating a smart response.
An example of what I would consider a bad or “un-smart” question was written by Subhankar Rout. A link to the question is provided here. Subhankar’s question was “UnicodeDecodeError on csv file”. The first flaw in their question lies in the title. It isn’t a question, it is just a description of the error they are facing. The description of the question after the title is just the error that is occuring in more detail. There is no composition of a question, it appears to be a copy/paste question of an error that the person was getting. In response, a community bot on Stack Overflow asked Subhankar to “clarify their specific problem or provide additional details to highlight exactly what they need.” It then said that it is difficult to tell exactly what the person is asking. Subhankar then actually answered their own question, likely because their question was cryptic and inconsiderately written. This question did not demonstrate effort in Subhankar’s searching for the answer or in their question writing. This kind of question is unspecific and lacks the necessary details to recieve a smart response.
I think that this experience has taught me to be more intentional when asking for help on coding problems. It reminded me that online interactions should still carry the same polite manner as in-person interactions, and that good manners can go a long way in online interactions. Finally, I gained a better understanding of Stack Overflow and how it works. I feel that I have gained confidence to ask smart questions on Stack and other online forums.