As Computer Science students, I feel extremely lucky that we have websites such as StackOverflow and StackExchange to aid us in whatever problems we may run into while coding. It’s a community unlike any other that has people from many different backgrounds and experiences in CS willing to help those who are willing to learn from them. However, with this privilege, we need to be mindful and reflective of what we ask and how we ask. This is where smart questions come into play. With this technique, there’s almost no way you won’t be able to get the help you need in these forums. Code is extremely complex and has way too many details and aspects to it to a point where it’ll be impossible to get a good solution if you aren’t concise.
When searching through StackOverflow, I found a question called “Unexpected behaviour during implicit conversion in C”. This was a meaningful header, as it was kept short, but easy to understand. Overall, the question was extremely well formatted and was precise and informative. The asker provided context to the problem, and then gave the implementation and what exactly went wrong. They also stated what solutions they already tried, which I think is one of the most important aspects. It was an interesting question because they ended up finding the solution, but asked why the issue happened in the first place. As a result, the smart question in turn got smart answers. The solutions were well formatted and picked out specific parts that needed to be fixed. They also gave an explanation for what situations the problem could show up in.
On the other hand, this question asked, “Validate an email address whether it is valid or invalid based on condition”. This question provided their code, however, it’s unclear what they’re really asking. You can tell it’s not detailed enough by the comments, as they’re asking for clarification on what the asker is trying to do, and are confused about the inquiry. Also, the asker didn’t search first as the question had already been asked before in StackOverflow 15 years ago. The confusion could’ve been avoided if they made a search for the question before asking it.
Overall, being aware of how you ask certain questions is an underrated but extremely important skill one needs to become a successful software engineer. Knowing exactly what you’re asking and who you’re asking can not only help you get the assistance you need, but can also help any people who want to help you get the answers in the first place.