How do I Know if my Question is Smart?

27 Jan 2022

Asking Questions

Everyone has gotten stuck on a problem and wanted to ask someone else for help before. The internet makes it extremely easy to just type a question no matter how simple or obvious it may seem. Not everyone goes straight to Google and some give up after just a single search preferring someone more knowledgeable than themselves to answer their question for them. It’s easier to have someone tell you what you did wrong than to actually research what you did wrong. Not everyone is good at asking questions and some people, including myself, would rather not have someone directly solve their problems for them. Eventually I realize that I will have to ask questions when I start learning about new programming languages, and when that time comes, I would rather have someone quickly and accurately answer my question instead of them thinking I’m not worth their time.

Bad Questions

Just as there are rules for if people want others to answer their questions, there are also rules for those that don’t want their question answered. Asking a question because you typed a whole program that didn’t work the first time you tried to run it is a good way for people to not take you seriously. If a stranger on the internet can tell you haven’t done any research or tried to troubleshoot your problem at all before asking someone else to solve it, they will be much less likely to put in the effort to help you. Just looking up a few words in the search bar of Google and clicking the first link is not enough research either. Just because the first search result of the first search term doesn’t instantly give you the answer you are searching for doesn’t mean to automatically go ask someone else to solve your problem for you. For example, asking a duplicate question on Stack Overflow would just get you redirected to an already answered version and waste time for both the asker and answerer. An example of a bad question would be this Stack Overflow question. The person asking the question didn’t look at precious questions asked on Stack Overflow, look for built in methods in Javascript documentation, or even search for it online at all it seems. People in 2011 may have been nice enough to answer this question, but it’s not guaranteed that someone will take the time out of their day to solve a simple problem for you.

Good Questions

There are certain rules one should follow before asking a question on the internet if they want someone else to answer it for them. The first and probably most important rule is to look it up yourself before asking someone else to help you. This should be common sense to most people, but the easiest way to find a solution to your problem is to just type it into an internet browser and look around for a few minutes. Chances are someone else in the world has already run into the same problem as you and have seeked the help of others online. Another important thing you can look for is the manual page for whatever function is causing your error in the documentation for whatever language you are working with. If you can’t find anything already on the internet that answers your question, your last resort should be asking a question on a question and answer website like Stack Overflow. When asking a question that you want strangers online to answer, you should include as much detail about the problem as possible as well as include as much code that could be causing the problem as possible. People online will appreciate that you tried to solve the problem by yourself and give more effort into trying to help you. Hopefully someone with knowledge in your programming language will be able to either directly solve your problem or lead you in a direction to solve your problem. An example of a good question would be this Stack Overflow question by a user converting from Ruby to Javascript. The question was originally asked in 2009 and a user was able to answer the question at the time within minutes with an ES5 method for multi-line strings. ES6 was officially released in 2015 and a user from 2018 updated the answer with the backticks that ES6 introduced as a more efficient and nicer looking way to create multi-line strings. A good question can even be answered by people years after it was already solved when new updates are released for a language.