
As a student, a large majority of my coding experience comes from structured college coursework, along with some learning materials I’ve dabbled in from online knowledge bases, such as those found from boot.dev or Code Academy. Most of the concepts and ideas taught are designed around passing knowledge to someone who has no foundation in a coding environment. The student is always encouraged to ask questions, no matter how trivial, so that there are no additional points of friction during the learning process. This process of asking about something the moment you didn’t know or understand it is a concept that comes from not only coding classes, but has been ingrained in me by previous teachers and professors throughout my entire life.
However, as I’ve begun moving into harder courses during my college career, I find that when these types of “simple” questions are asked, the instructor asks questions like “Well, did you refer to the textbook section on this?” “Where specifically are you getting stuck at?”, or “What did you try to do so far?” Initially, those responses are always somewhat upsetting. Obviously, I didn’t know or was able to find the answer, so I asked - it’s what I was trained to do. Taking a closer look, though, I am starting to see how, despite the potential technicality or specificity of the knowledge needed, many of those responses are the equivalent of what I tell others when they ask me for help: “Did you even try googling that yet?”
Trying to help yourself before asking others to help you is an idea echoed by the information presented in the article “How to Ask Questions the Smart Way” by Eric Raymond. And it really is less about what you are asking about and more about how you ask it. The premise for this is simple: the higher the quality of the question, the higher your chances of not only getting a high-quality answer, but even an answer altogether. Taking a look at Stack Overflow will accentuate this idea even further.
Stack Overflow is an online forum, largely used by programmers, and acts as a resource for anyone who may have issues with code or who may simply want to learn new or different methods of doing something. Because many different people look to solve some of their software engineering problems by using this website, it serves as the perfect means to take a closer look at the idea of smart questions.
In the first example, titled “How to resolve ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@‘localhost’?”, we see some of the core concepts of how to ask a smart question. Starting from the title, while more information could be provided, the user has already taken a step in the right direction by providing the specificity to the context of their problem. By looking at the contents of the post, the user goes on to describe their login issue with MySQL and details what steps they took to resolve their issue. They provide the lines of code they tried, the content of the information found within their system, as well as contextual information such as the version they are using. These details allow prospective users to see that not only has the user done their homework, but also where specifically they are getting stuck, so that they can better assist.
The benefits of asking in this way can immediately be seen by not only the sheer number of responses, but also the quality of responses is generally high. Here are some of the answers this user received:
This has worked for me
UPDATE mysql.user SET host='%' WHERE user='root' AND host='localhost';
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
Reference: [1]: https://github.com/docker-library/mysql/issues/839#issuecomment-1091834886
You Can try:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
rather than
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
When you use the following command
mysql> use mysql;
mysql> select user,host from user;
you can find that root's host is '%' (note that '%' means all hosts, including remote hosts)
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
These comments include information such as direct lines of code they could try to address the information, discussion as to why certain things wouldn’t work, alternate solutions, and links to other sources of information. Additionally, the post has been upvoted several times, putting additional eyes on the problem, while also maintaining relevancy, as this post was made 14 years ago, but is actively being commented on (as long as up to last year!). By asking the questions the smart way, the amount of information that others are willing to provide can increase dramatically.
(Full context and information from the article can be seen here).
By asking the right questions the right way, we’ve seen that we’re able to get a large amount of information regarding a problem set. But what happens when you ask a “not-so-smart” question? Well, based on the next example, you may not get what you’re looking for, at least not in the format you would want it in.
On the surface, the post titled “How do I set up a database in ASP.NET (MVC)?” seems like an appropriate question, especially for someone like myself who has no knowledge of ASP.NET. However, by thinking about it more and applying the principles of asking smart questions, this definitely looks like something I would Google when I get stuck on a Java or TypeScript syntax knowledge gap. Additionally, the body contains no information as to what (if any) issues they were having: it reads as “I need to build this thing, how do I do it?”
And the single response is very telling of the possible answers people will give when asking a question the wrong way: one user posted a link to what is essentially the manual on how to use ASP.NET. While the comment avoids any direct negativity, it essentially reads as “go look at the manual, it will tell you”, or as I put it earlier, “did you try googling?” While this post provided help on the surface level, it really didn’t delve into the type of information you would expect the user would be looking for. Additionally, the post was downvoted and closed, so even if someone felt nice enough to write up a tutorial for this user, they can’t anymore.
(Full context of the post in question can be seen here).
A smart question comes down to asking a question the right way, showing that you have already put time into understanding the issue and that you are seeking guidance, not looking for an easy answer. At its core, a smart question is one that is clear, specific, and studied by the person asking. It explains exactly what the problem is, provides relevant context, and clearly states what the asker is trying to achieve.
Ultimately, a smart question is not just about getting an answer — it’s about engaging in the process of solving the issue, and using outside sources as a resource, not the one-stop easy answer. Smart questions invite thoughtful responses and often lead to better learning for both the asker and the outside source, while dumb questions can lead to frustrating, unhelpful responses.
Grammarly AI was used to correct for major grammatical errors within the essay. ChatGPT was used to ensure all writing checklist items for technical essays were addressed.