When asking questions in times where help or advice is needed, it is important to adjust your question to the audience in which you are asking it to. In the Computer Science world, it is important to value one’s time and energy as most of the questions are answered in free, voluntary time. Questions should also be formed in a way that intrigues the reader enough to want to help. Lastly, not only should the formation or construction of the question be well thought out, but so should the location in which the question should be asked at. Starting now, questions go from just a thought to almost a hypothesis that you have to research and try, then if the research is inconclusive, you structure and form a well thought-out question, then determine who and where it is appropriate to ask.
Valuing your time and the reader/helper’s time is the most important thing to consider when forming your question! First, you absolutely must have done your part in the Q&A by trying to answer you question. Only once you have exhausted all of your resources, you will have a good chance of getting a effective reply from someone.If you don’t attempt to solve your own problem first, you might face ridicule as a lesson, highlighting that your question could have been easily answered with some effort. In this environment, snarky remarks are informative rather than offensive because it teaches you to not waste other people’s time by making them do the work for you. Thus, it is highly reccomended to do absolutely everything you can to answer your own question before asking someone else for help.
The way you form not only your question, but also your subject is crucial to whether your question will be answered or not because it is almost like the first impression. You want the first impression to be good so you can be on good terms with the reader, AKA the reader will help answer your question. By creating your subject properly, you increase the chances of someone reviewing and answering your question. If you don’t create a proper subject title, the reader will be more likely to ignore your question.
Along with a proper subject header, an appropriately formed question is required. When you brainstorm your subject header, you should also be organizing your thoughts and questions to where your question is efficient and effective to read and comprehend. Your question should include a detailed description of your environment (software, edition, etc.), your problem, solutions you’ve tried, and a respectful closing remark of appreciation at the minimum. The more detailed your question, the better the reader will understand your situation and problem. However, if your question is too long or repetitive with a lot of unnecessary information, the reader may ignore your question because it’s not easy to answer. Remember the fact that time is of value. The more time we require (for unnecessary reason), the less likely we are to receive an answer.
The location of which you post or ask your question matters! In the computer science world, we often post questions in a group so everyone who may have the same question, which there usually is always someone, can see the answer and learn as well. Do not post or ask a question in all of the forums. It will be considered annoying and desperate. Asking a question in a channel or forum where its irrelevant is also going to lead to an ignore. Choosing the appropriate place to post a question will allow for your question to reach the appropriate readers. This, in turn, will lead to a more effective and efficient response.
For reference, a bad example from stackoverflow would be a user saying “Its urgent please replay as soon as possible, Thank you.” Stating that you need an answer fast and “urgent(ly)” rubs readers the wrong way by giving the idea that you didn’t put much effort, time, or thought into your assignment or problem, thus, meaing no research was done prior to asking, which then leads to a stupid question that couldn’ve easily been found elsewhere with little effort. This type of question wastes time and doesn’t make a reader want to potentially answer it. This example should not be considered smart because it lacks detail, effort, and contains grammatical errors, including inconsistent use of lowercase and uppercase letters. “Can any one suggest a best method to sort and fix table header with refreshing table content” is an improper question. So, not only is it a bad question to ask due to the fact that it asks a question that is easily found on the internet, but it is also formed imporperly with grammatical errors which shows the person is lazy. If you don’t put effort in asking a question, why would someone else give effort in answer the question? The example I am referring to (linked below) shows the results of a bad question by there not being many answers dispite the number of views it has along with the time that has passed. Bad Question Example
This reference for a good example from stackoverflow contains a straightforward subject header along with their problem in the first line. Not only did they put a screenshot of their error in their question, but they also did the work and solved the error. On top of that, they continued with another question of how and why the answer/resolution works. Personally, I believe this is an amazing example of a good question because not only did they keep it short and straightforward, by they also didn’t rely completely on other to answer and solve their problem. Instead, they continued to debug and research their problem, concluding with an answer, but couldn’t find why the answer worked. Thus, they adjusted their question to ask “why does this work?” at the end. Good Question Example
The process of creating a good question is meant to be hard and take time because it filters the simple, stupid, and lazy questions out. Taking the easy way out will never lead to knowledge, it will only get the current job done. Thus, if a similar problem were to occur in the future, you wouldn’t know how to solve it since you never learned from the previous case. Though, asking bad questions could lead to possible aggressive responses, they are all meant to strength you and make you a better fellow colleague in the world. Asking a smart question will help you learn, grow, and be a better software engineer and person in general because it gives you the opportunity to build not only your knowledge, but problem-solving skills.