According to Eric Steven Raymonds, he mentions that the first step in asking smart quesiton is to find the right fourm for that topic. After that, when a person asks for question it should be revelant to their topics which should be in the field of coding and provides all the nescessary materials needed to solve the question which was posted. The question should also be grammatically correct so that it doesn’t confuse others and should be organized. One example of can be found here Stack Overflow, the person asking the question gives a clear details of what the output of the code is giving him/her, provides the code itself so that others can take a look at it to figure out the problem, and also gives a clear goal of what he/she wants to get. Due to this, the community that answered his/her question in a effect way where he/she was able to fix the code and can use this as a future reference and other who also have a similar problem can look into this question can figure out their problem.
Now according to Eric Steven Raymond, what makes a bad question is when a person: 1. post your question to a forum where it’s off topic, 2. post a very elementary question to a forum where advanced technical questions are expected, or vice-versa, 3. cross-post to too many different newsgroups, and 4. post a personal e-mail to somebody who is neither an acquaintance of yours nor personally responsible for solving your problem.
Now here is an exmaple of a bad question from Stack Overflow. First of all, it seems that there are some missing details of the code since by the look of that code itself doesn’t really the community the ability to answer the question. It just looks like the grammar of the code is misspelled which makes it harder to answer. Now this would just be a waste of time, it’s ineffective, and really doesn’t help anybody at all.
Now it is very important to software engineers or any occupations that is related to the field of computer science to ask Smart Question. If you are stuck on a problem that you are having, asking someone else within the community can help you solve that problem. The only way to do that is to provide every single details about the problem, the code itself and explain what it does, and what you are trying to get. By doing this, the community can provide you with helpful answers that you can learn from and if a similiar problem occurs, then you know what to do.