DEV Community

How do you train people to ask good questions

Thomas H Jones II on September 04, 2018

(Irony here being that my question might, itself, not be a particularly good question) One of the joys of being a senior member of an engineering ...
Collapse
 
deceze profile image
David Zentgraf • Edited

Many questions can't be answered because they simply lack context.

"Oy, why doesn't the Frooble return glob to the blargle here?"

Whoa, whoa, wait, hang on a second, the who to the what now? See, you've been stuck in this headspace for the last two hours or so and you know (to some degree) what all of these things mean. Me over here though, I've just been sipping my coffee for the last 10 minutes and thought about dinner tonight. I have no idea what you're talking about and I most certainly don't have the necessary details needed to answer this question in my head right now.

So, whenever you want to approach somebody else with a question you have, deliver enough context with it to get them on the same page. Zoom out first to get a big picture view, even just for yourself. In fact, this may be all you really need to do to answer the question yourself in the first place. But if that in itself didn't help, at least start from there…

"Oy, so you know that component Foo that does the bar on the logging backend, right?"
Right.
"And sometimes when X happens followed directly by a Y, the bar gets into this weird state."
Mmm, okay.
"So in those circumstances, the Frooble doesn't return glob to the blargle, and I'm not sure why."
I see, I see…

That makes questions much more answerable.

Collapse
 
_kimmybird profile image
Kimmy Bird

Yes! Context is so important and approaching it like a conversation is a great tip.

Collapse
 
ferricoxide profile image
Thomas H Jones II

Bulls-ear, catnip!

Collapse
 
rvprasad profile image
Venkatesh-Prasad Ranganath

"Ask the poser to do her homework before posing a question"

The poser searches common resources (err, internet) trying to find an answer to the question before posing the question to a human. The initial search and, consequently, the failed attempts at arriving at an answer will help the poser refine her question or become aware of nuances/aspects that she should consider when posing the question to the next entity (human or machine).

I use this approach when I work with students. Initially, they find it frustrating. However, over time, they become better at researching answers and asking precise questions.

Of course, this means the recipient should be patient and be willing to ask clarifying questions to help the poser realize the nuances/aspects that she should consider. This takes effort and time but helps improve the quality of questions (if done diligently).

Collapse
 
ferricoxide profile image
Thomas H Jones II

Ever answer back with "Click this link and look at third hit" (where "this link" is a LMGTFY link)? I know I tend to be snarky when the questioner has a history of lazy question-asking.

Collapse
 
rvprasad profile image
Venkatesh-Prasad Ranganath

Sure. The above approach gives improvements only if done diligently. So, with new posers, there are lots of "did you search on all the common platforms (e.g., Search engine, SOF, concerned forums)?" questions. Such questions die off in a short time once the poser gets a hang of what to expect in interactions with me. If they don't get it, it is a matter of deciding "do I want to continue helping a lazy poser?"

Collapse
 
ice_lenor profile image
Elena

A little bit off-topic from the details in your post, but seems inline with the header:).

I was thinking lately how to make people think proactively and ask questions. Not when they don't know how to do something; but when the requirement is not 100% clear, or the feature doesn't really fit.

Here's what I came up with.

dev.to/ice_lenor/the-hunch-4-times...

dev.to/ice_lenor/problem-solving-t...

Collapse
 
ferricoxide profile image
Thomas H Jones II

I'll have to give those a look. But, yeah, that's an even bigger bugaboo, particularly among our "fresh outta college" hires: a reluctance to be seen to be "dumb" by refusing to ask questions — particularly "in public". A lot of times, get hit with a DM in Slack and I want to respond, "there's a good chance that me answering this would be good for other team members to see: could you maybe re-ask in our team's channel so everyone can benefit?"

Collapse
 
nqthqn profile image
nqthqn

There are high level and low level questions. Low level questions are informational. High level questions are open ended.

Sometimes it's subtle — "How does this work?" v. "How will this accomplish X, Y and Z?". Or "Why is this a priority?" v. "Why are we reprioritizing this?"

Collapse
 
ferricoxide profile image
Thomas H Jones II

In both cases, however, I find that people are often over-assuming in their question-asking — especially in both the open-ended questions and the "simple" questions. In either case you're left with the choice of "I can give you all possible answers that I'm aware of" or "great: I've gotta play 20 questions to try to figure out what you're really asking."

Collapse
 
nqthqn profile image
nqthqn

I suppose it's important to ask up front about the assumptions being made. When I say "open ended" questions — I mean questions that start a mutually beneficial conversation. From the perspective of the person being asked the question it might seem confusing if the assumption is "I need to give you an answer right now"..

In small talk — when someone posits a question like "How are you?" you are not expected to give a correct answer or play 20 questions till you figure out what the other person was truly asking. It's just a platform — a genesis for conversation to occur. An opening.

And I can see how in technical discussions it's important to be more formal and look at a topic from different angles and bring to light any false assumptions.

Thread Thread
 
ferricoxide profile image
Thomas H Jones II

Yeah. Problem is always precision - either eliminating casual assumptions or explicitly agreeing on the assumptions to be used.

Collapse
 
tunaxor profile image
Angel Daniel Munoz Gonzalez

This is a tough question actually hahaha, Because I've seen teammates that ask questions that most of the time can but solved by a simple Google search, others tend to ask questions that are not that easy to Google.

My advice for such 'ungooggable' questions is the following

Break the question in 3

  1. What do you want to do?
  2. Why do you want to do that?
  3. Have you thought in alternatives?

the most useful ones are one and two, if you can't answer these easily it is perhaps the reason it can't be goggled, and even if you have answered these 3 and feel it is 'ungooggable' just keep doing it recursively hahaha.

The question number three is often for me to think in other ways to put the question from different context/perspective when the rest of the questions don't help me help them

Collapse
 
_kimmybird profile image
Kimmy Bird

Can you give a few examples of questions you've gotten that were "bad"? I work with a lot of brand new developers and I'd love a few examples to see how I can better coach the students I work with. We try to remind students that a good question covers all of the following: 1. I'm trying to do X, but this is the error I'm getting. 2. I've tried x,y,z. 3. Here is what I think it might be. It seems to help the quality of questions.

Collapse
 
ferricoxide profile image
Thomas H Jones II

Can you give a few examples of questions you've gotten that were "bad"?

Specific questions, no. Generally, however, it comes down to the asker not providing enough context for their question. The meaning of the question is obvious to them, but frequently not the person being asked.

Basically, everything you say you're coaching your new developers on are the kinds of things I'm talking about when I say "train people to ask good questions". Basically, "make no assumptions - even if it might feel like you're being condescending by over-detailing the question".

Collapse
 
_kimmybird profile image
Kimmy Bird

Yes - it's really hard to train people in a work environment compared to the student environment I'm in. Because we're seen as instructors, we can coach them explicitly on how to ask these questions (with the ultimate goal of making sure they come to us with questions only once they've exhausted their avenues within their skill level).

When a student comes to me with an error on their screen and no other context, I usually try to ask them the questions before we dig into the actual error, "what are you trying to do?" (that one is often skipped completely - I'm not a mind reader so I have no idea where their brain is and what they've been working on. I need to mind switch over to what they're working on from whatever I was just working on). "What have you tried?" "What have you found on google when you search the error message?" "What do you think is causing this error?"

Other huge issues we find is that students are not good at: 1. actually reading and interpreting the error message. They see the error and just panic instead of really thinking about the message. 2. Not able to read documentation well enough to help them. This is something that takes time (I'm still getting better at it, too!). When students try to google and end up on a complex Stack Overflow or the dev docs, it just looks like Chinese to them - they have no idea how to find their answers. With these 2 issues - I've found that students need me to sit next to them and I'll talk out my thought process about how I work through an error.

Collapse
 
antonrich profile image
Anton

Let's play a game: What if the same question was asked by your son, daughter, boss, wife, grandma, coworker, etc. How would you react/answer differently?