Some friends and I have been kicking around the same thought. This often occurs after a frustrating interaction (most of the time in Slack), trying to help someone.
This thought is that a lot of people seem to have lost the ability to ask constructive questions. This results in a lot of wasted time pulling information from the asker, or suggesting answers on to get back “oh, I’ve already tried that”. It turns into a mini interrogation. Often times, this results in someone asking “What is the problem you are trying to solve?”. It’s a frustrating experience.
Asking Constructive Technical Questions
When I say “constructive questions”, I mean questions that give a clear idea of:
- What the problem is
- Attempted (sometimes preferred) solutions
- Include relevant information
- Follow up
Start from the right place, the beginning
Folks will start their question from their own solution. Something like “How do I do x?”. This is already too far down the path. Starting from the middle limits the possible answer, and may prevent finding a better, more appropriate solution.
A better way to start the question is “I have problem y. I am trying to do x to solve it. How can I do x?”.
If you have already explored paths, say that
For technical answers, there is often more than one possible solution. The person asking the question has already eliminated possible solutions before asking others. Include that information when you ask. If a possible solution didn’t work, say why. This can prevent wasted effort, or may cause a “huh, that should have worked” response. The “huh” responses can be valuable for exposing other problems. If you have already chosen a path, explain why.
Give your question color
Providing background, such as system specifications, what an architecture looks like. Give as much of a complete picture as you can, so those you ask can see everything.
People that answer questions want to know if they are right. I know I do. If someone gives you some suggestions, or points you in the right direction, follow up to let them know. Even if the answer someone gave you isn’t the one for you, and you find another solution, you should still go back to those that helped. Let them know what did work.