Think smart, speak smart

11 Sep 2024

Guidelines

This guide specifies how to ask “smart” questions that would get you “smart” answers. Since it contradicts the very philosophy of the linked article, do not contact the authors with questions. It goes to show how you lack etiquette for asking “smart” questions and prove that you learned nothing.

Now, what is this etiquette? I will simplify it.

  1. Search for an answer first. Look at documentation and the web first.
  2. Ask in an appropriate environment. A private message to a stranger is inappropriate.
  3. Use meaningful, attractive language. It is attractive to be courteous, but it is unattractive to be a beggar.
  4. Be precise and informative about your problem” - word for word! Do not be open-ended. Do not ask a yes-or-no question.
  5. Avoid reposting questions.
  6. Respond maturely and offer value. Offer good tools.

Good example

This good example has 8504 upvotes at the time of this writing. The poster explicitly states that they used Google to search for a solution to a Missing “use strict” statement error they encountered. They had also tried to find an explanation for the solution to no avail. By proving that they had done their research, they can confidently ask the community on why “use strict” needs to be included in JavaScript code. The solutions to this smart question reflected “smartness” through the diversity and depth of response. Granted, this is a 15-year-old question. The large time gap between the original post date to the present allowed for a variety of answers both “smart” and “not-so-smart” to be shared. Regardless, phrasing a “smart” question encourages “smart” answers to even be shared.

Bad example

This bad example has one downvote at the time of this writing. The poster asks for tips over issues they were facing in Remix. The first response they received asked if they read through Vercel deployment documentation. Another response quoted a potential fix from Vercel framework documentation. These answers demonstrate that asking questions in a “not smart” way leads to ineffective answers that are inefficient. Broadly asking for tips is not a “smart” question. Instead, it is asking for someone else to do the research to fix the errors of your code.

If you need help fixing your code, consult with your favorite search engine. Put effort into doing the research yourself. It is better to redo all of your code for a potential fix before consulting others. The effort and time that it takes to find a solution for a program that you have not written is usually not worth it.

Another option is to gather enough understanding of your issues to then formulate an actual “smart” question to ask the community. In this case, the user should narrow down the problem. To state that most of the code runs fine but they encounter issues such as a 403 error is not specific enough. It indicates a lack of understanding of their own program’s functionality.

Importance

It is important for smart software engineers to use smart questions because the usage of smart questions help engineers reach an effective solution in an efficient time period. The ability to be able to pose smart questions also benefits other developers in the community because an effective answer would last and ferment with time to continuously provide a smart solution to a smart problem. Attracting smart answers with smart questions benefit all engineers that do their research because it can cut down the chase as long as someone was “smart” to ask it first.