Stack Overflow is a treasure trove of invaluable knowledge to any developer. When you are stumped on a bug one of the best things to do is to google your problem, and Stack Overflow is usually near the top of the results. But what if hours of scouring the internet yields no solution? The next step is to add to that treasure trove of knowledge by asking online for a solution. Not only are you helping yourself, you are also helping someone else in the future with a similar problem.
Of course, posting the question is not like searching through a database, you are posing a question to other people. This means that there is etiquette involved in asking a question. Sure, there are those that could care less about etiquette when deciding what to answer, but why not maximize your chances of getting an answer? First, let’s look at an example of a bad question. We can see here that their question, if you could call it that, has not been answered at the time of this writing. The post feels too authoritative for a question with a phrase like “Help, write this program on js.” They at least mention the intended result, but fail to mention their attempts to solve it or the specific problem they are stuck on (at least until the edit). As a result, their question was left unanswered.
Now let’s look at an example of a “smart” question. The poster provides the relevant code and their problem. In this case, they provide a result of the code that they do not expect. However, unlike the previous example, they also show their thought process and the steps they took to try and understand the problem. As a result, the question was rewarded with a thorough answer.
There are thousands of other examples of bad questions being left unanswered and “smart” questions with great answers. In other words, if you want an answer to a question, phrase it in a smart way. Whether you are coding as a hobby or working as a software engineer, there are bound to be times where you will need others to help contemplate a problem. Asking questions the smart way will yield answers and enable you to continue to grow as a programmer.