This post contains a little trick to improve questions in a debugging session.
At work or in a coding workshop, you might have heard the following questions:
Have you Googled the problem?
Have you checked StackOverflow?
Have you read the relevant documentation?
Yes/no questions are not effective. I am trying to cut down the number of yes/no questions I ask.
Yes/no questions are the slowest possible way to start a debugging session. I could easily ask 10 yes/no questions in a row, and my colleague or student might answer "no" to all of them. 10 questions later, and I would have no understanding of the problem. I would only have 10 "no"s to work with.
Yes/no questions are also the most condescending way to start a debugging session, even if that's not the intention. Questions like "Have you Googled the problem?" can be interpreted as "Wow, you stupid timewaster, let me guess, you didn't even GOOGLE the problem before bothering me?". Even if a smiling engineer asks "Have you Googled the problem?", it can still sound condescending. Sorry! I know you're a nice person.
Instead of a chain of yes/no questions, we could ask:
To help me understand, can you please walk me through what you have already done?
This question cuts straight to the issue. This question sounds more curious and respectful. This question gives the colleague or student the chance to explain their issue and their approach.
With better questions, we can ask for the same information more efficiently, and debug faster.