During my first few months at Atomic, I’ve asked a lot of questions, with topics ranging from Typescript syntax to why the shortcut for our Slack workspace’s Patrick Bacon emoji is “:dad_joke:.”
Atomic’s “Teach and Learn” value is integrated into how we interact as teams every day. As I’ve started pair programming, I’ve often heard the mantra: “Ask early, and ask often.” But, at times, I’ve found myself struggling with knowing what to ask.
I’ve been fortunate enough to have incredible team members who are willing to spend time explaining details in depth. Still, my unfamiliarity with the technologies we’re using (and the breadth of integrations in our tech stack) sometimes makes me unsure how to articulate that I don’t understand something. For example, there have been moments when a teammate says something like:
“In the root of W folder, there’s X file that has content pulled in from Y integration with a corresponding type definition. And in the root of Z folder, we have canned values of those types, which are seeded into Redux at the start of our tests…”
And my brain has a deer-in-the-headlights moment, attempting to formulate a semi-intelligible question that isn’t “Huh?”
These moments left me wondering: How do you ask a question when you don’t know what to ask? Over the past few weeks, I’ve collected advice from my team and tried a few different techniques. Here’s a list of strategic questions that help me understand a problem when I’m not sure where to start.
1. Ask “Why?”
This is my favorite question, and (as my mom can attest) I’ve been asking it since I was very little. Whenever I don’t understand something that my pair writes or says, I try to hone in on the “why” of what we’re doing. This usually leads me to information about both their logical process and techniques of the technology.
For example, let’s say my pair has told me it would be best for us to implement a function as a Redux saga. I understand neither the function they just described nor why it would be good in a Redux saga (and I’m blanking on how to even write a saga). So instead of trying to grasp how to phrase one of those three questions, I ask something along the lines of:
“Why is that the decision/method you’re leaning toward?”
This usually warrants a response similar to:
“Well, Redux sagas are good for X, and since our function is trying to do Y, a saga would be perfect for this.”
In a concise way, asking “why” allowed me to get all of my questions answered, and I have a much deeper understanding of what we’re about to do. Their answer reminded me of what Redux sagas are and what they’re useful for, and it illustrated the purpose of our function.
Some responses don’t follow that exact format, of course, and I need to ask follow-up questions (e.g., “I’m still confused about the function; can you explain again why we’re trying to do Y with it?”). In general, though, I’ve found that “why” is a decent place to start.
Asking in this way has also helped me prioritize what to study on my own. When 99% of the words that my pair says don’t make sense, I ask my “why” question, make a note of the words that I didn’t understand, and research them later. With the example above, I would write a reminder to review Redux saga and async function best practices.
2. Ask for Examples
If my deer is still in the headlights after “why,” I typically lean on “example questions.” I ask for an example of what my pair means or an example of what would happen if we were to do it differently.
These types of questions are also useful if I feel like I understand the general concept of what my pair said, but I’m unsure how it would be implemented and want clarification. For instance, if my pair explains that they foresee a particular approach as beneficial, and I understand the methodology of the approach, but it’s unclear how we would apply it in our situation, I ask something like:
“Can you give an example of what that means in our X?”
Perhaps that sounds simple, but I’ve found it helpful when I need a better understanding of how my pair is envisioning a solution to a problem, but I’m not sure how to articulate my thoughts in detail.
3. Ask for Comparisons
I typically need the most clarity on the details, yet the details are also where it’s hardest to formulate a proper question because I lack the vocabulary. When I have enough understanding to be dangerous, but I struggle to articulate questions that clarify details, just asking “why” won’t quite cut it.
In a recent post about learning as a new developer, one of my coworkers suggested asking questions like, “What is this thing similar to?” This approach has been particularly helpful to me because it helps me affirm that what I think we’re doing is what we’re actually doing.
For example, when someone says something that sounds like gobbledegook, I first make sure Zoom is working properly, then I try to connect what they explained with something that’s more familiar. I ask:
“So is X kind of like what we did with Y in Z?”
This kind of question also gives my pair a heads-up about how I perceive our current problem. And if I’m totally off, they can help me realign the way I’m thinking.
These are just a few ideas for how to ask a question when your brain can’t come up with anything more coherent than “Huh?” As I continue to learn and ask more questions, I would love to hear if you have any techniques that have worked well for you!