How Can Asking Smart Questions Help My Career?

08 Sep 2022

Why is asking smart questions important?

The field of software engineering is constantly evolving, and new technologies are always being added. Because of this, forums such as Stack Overflow have become very popular, and many programmers (including myself) make that their first stop whenever they have a problem. However, in order to get a helpful response, it is important to ask questions in a smart way. This includes clearly identifying your problem, describing the symptoms, and providing any necessary code for others to test. When questions are not asked in a smart way, in addition to wasting many everyone’s time, you are unlikely to find a helpful response because the problem cannot be correctly diagnosed. Being good at asking smart questions will make it easier to solve your problems and help you become an overall better software engineer.

What does a smart question look like?

Here is an example of a smart question asked on Stack Overflow.

The post is titled “What and where are the stack and heap?”. Immediately, we can identify the subject of the question and what the user is asking. This is also not a simple question that can easily be found by looking up a manual - the concept of a stack and heap in computer memory is rather abstract and can be confusing to many people. In the body of the question, the user uses bullet points to ask a series of further questions that go into detail, such as “Where are they physically located in a computer’s memory?”. These questions are concise and straight to the point, and the bullet points make it easy to separate and respond to each question. As a result, most of the responses are descriptive, include diagrams, and point the user to further resources.

What does a not so smart question look like?

Here is an example of a not so smart question.

The title of the post, “How to get on python current time”, is confusing and does not accurately describe the problem. After reading the body of the question, we find that the user is actually asking a question about date and time formatting, which was not referenced anywhere in the title. The user does provide some code - they import the Python datetime library and show some logic that does not work. However, as one of the responses pointed out, simply reading the documentation of the datetime library shows that there is an easy solution to the problem using the strftime library. This is a question that could have easily been solved by simply reading some basic documentation. Another response points out that a simple Google search returns many answers about strftime. The response also points the user to a link about How to ask a good question on Stack Overflow.

Challenges in asking a good question on Stack Overflow

It is tempting for a beginner to ask a question on Stack Overflow the same way they might ask someone for help in person. That usually begins with something like “please help me!” followed by a vague description of the problem, in hopes that the person helping them will ask the questions they need to ask in order to solve the problem. However, this approach does not work well on Stack Overflow. On forums, you must accurately and comprehensively describe your problem in a single post so that the people who are browsing that forum feel like they can give a helpful answer. If this is not done, you are likely to receive a reply telling you that you should have done your research first, or in the worst case, receive no reply at all.