Smart questions for smart software engineers is important to master because it reflects the competence and professionalism of their work. Asking questions is always encouraged, such that professors say “there are no stupid questions” but in fact, there are. In this generation, we have a lot of tools at our hands to solve problems. Usually the internet has our answers for everything which may have resulted in people developing a bad habit of asking stupid questions. Software Engineers are creating software, therefore, they need to be educated on a topic to a certain extent where they can ask well thought out questions. If you are unaware, or desperate for the answer, then it will probably result in asking a stupid question on a platform.
A smart question leaves no ambiguity. In Eric Steven Raymonds article a smart question is concise, easy to reply to, informative and not something that you will find in a simple google search or manual. This question that I found on stack overflow represents a smart question by a user, “Why do I need to wrap setState callback in an anonymous arrow function for it to run after state change?” This question is straightforward and embodies the exact error they are running into. They add supporting code to this question that supplements the community to answer the question. They methodically describe their algorithm by using code and descriptions. They say, “ I have a react class that has some methods like this: (this is code)” then followed up with similar descriptions. They end the description with, “I’m not understanding scoping or this.state or instances or something….” which is highlighting that they have searched, but still do not understand the issue. The fact they added the code with clear descriptions of the algorithm makes it a credible and smart question. You can find the question at StackOverflow
A bad question is ambiguous or too simple. A bad question can be unclear or so clear that it could be found with google. Also, the user could be asking for the answer without putting in the effort to look themself or describe their algorithm. This question reflects a bad question, “How to read json data in java and display particular output from key value pair” because of many reasons. The question doesn’t use proper grammar nor uses a question mark at the end. This question is also easily accessible on the internet without wasting someone’s time. The supporting description is “I have json file with data” followed by the data. Then the user ends the question with “The code has to be in java written in a way such that when I change the input bookname value the output should display its respective url….some one please help me solve this.” The entire post goes against Raymonds guidelines to asking smart questions. Ways he could improve this by providing more code or doing more research about the topic. You can find the question at StackOverflow
During this adventure through smart and bad questions, I have learned that I have asked a lot of stupid questions on Stack Overflow. Reading the material by Raymond has taught me to be careful with my words and respectively hold myself accountable for debugging and reading before posting.