Smart questions. Communication in software development or any other IT field is very important, but not all communication is helpful. When asking someone for help it is very important to be clear and precise about what you are asking. If the person is right next to you looking at the same code with you and understands what your problem is, then thats great, but most questions are asked on online forums, such as Stack Overflow.
What makes a bad question? First of all, I want to clarify that I do not believe there are bad questions, all questions are great because it allows people to learn and better themselves by asking others for help. But I will admit that some questions do not make sense and therefore leading to bad answers or people ignoring your question.
Here is an example of a bad question.
Here you can see that this question is very inconspicuous and overall a pretty ‘bad’ question. This is evident in that it was downvoted 4 times. This question was asking about how to hide the google translate bar using some code for his blog/website. They ask this without providing any sample code, nor their own solution for the problem, all they did was provide the question and a link to there blog / website. Questions like these will usually lead to no answers as it is to difficult to comprehend or a bad answer. Surprisingly though, the answers to this question were pretty decent with one comment explaining the problem pretty well and providing sufficient solutions. This comment talked about how it is an ‘iFrame’ making it so that his site not being allowed to access the elements and in order to fix this, they would have to pay for the translation or proxy the translation.
Raymond taught me a smart question needs to be very descriptive, precise and having effort shown in solving the problem.
If you look over this question, you can see that a lot of effort was shown in trying to solve the problem. He listed out all the specifications of his computer and provided a very clear problem that anyone can easily comprehend. He has a problem with a game he is making and how running said game has significant graphics problem on one machine compared to another with similar specifications. In the question he provided the versions and set ups of java netbeans, both computer specifications, memory usage, and even the performance of each computer. Another reason why this is a smart question is that he even provided his own solutions and research below. In the end he did get an answer to his question, a user told him that he should get another graphics card to install in the underperforming computer, and it appears to have solved his issue. As you can see, asking a smart question is very effective in getting a smart answer back.
So what can we learn about this? Well to summarize, an answer is only as good as a good question. In order to get a good answer, people need to be able to utilize key steps in creating a smart question. I personally recommend ‘How to Ask Questions the Smart Way’ written Eric Steven Raymond to ask and answer smart questions.
Another key take away is that communication is vital to be successful in collaborating with others, especially in Software Development/Engineering and if you are able to provide smart solutions or smart questions, you will be able to help others help you a lot more effectively.