When learning anything new, an essential part to being able to advance and really understand what it is one is trying to learn is asking questions and knowing how to ask the right ones. When I first started learning aobut computer science I had no clue what I was getting myself into. Seeing my first few lines of code and trying to understand what it did took a lot of time and questions. Eventually as problems got more advances I start to look to my friends and the internet for help, but for me and many others knowing what to search is very important. In the article ‘How To Ask Questions The Smart Way’ by Eric Steven Raymond, he gives his views on how to ask and what “good questions” are.
Asking good questions or the “smart way” according to Raymond is broken down into almost a checklist like procedure. Before asking your question you should ask your self are there other things I can do before asking someone else for help, for example look at notes, read the textbook, google my question etc… doing this shows more self competency and not being lazy with trying to get help. After exhausting resources then the question should be asked, but also how someone asks a question is very important. Raymond also explains that when asking a question, that person should be as specific as possible and show examples of they’re asking and what isn’t working. Below is a link to a question asked on stackoverflow that I believe is a good example of asking a good question because the user asks a specific question with different trials of asynchronous code related to the question asked. This makes it easy to answer what the user is asking becuase they provided a lot of material related to their question and doing so can also help others with similar question in the future.
Link to stackoverflow question with an example on how to ask a question: Closure inside loops in javascript.
Looking at the other end and asking difficult to understand questions or “not smart way” of asking a question according to Raymond. These questions are seen as low effort questions with the goal of only getting the answer. Elements of these questions are just asking for the answer without giving context or being vague, grammer errors in the question, unwilling to think for themselves, etc… Questions that show these signs can make people more reluctant to answer. The example I linked below shows a question that asks what a nullpointerexception is and how to fix it. The first part of the question is understandable for beginner coders not knowing what this error means, but the second part of the question is what drags it down. Asking how to fix a nullpointerexception is a very open ended question with a lot of general solutions, but with no context it’s hard to answer and the types of answers people are leaving like links to different readings and examples from textbooks show that the user didn’t try to do his own searching before asking the question.
Link to the stackoverflow question with an example on how one shouldn’t ask a question: How do I fix nullpointerexception.