How To Ask Better Questions
The focus area this week is about asking good questions. Try to spend a few minutes this week really thinking about what questions to ask, and how you phrase your questions before asking your coworkers. A few small improvements can go a long way to get you the answers you need, and it can help you understand a topic on a deeper level in some cases.
When you’re just starting out in your career you’ll be relying on your coworkers to show you how to do things, how to approach and solve problems, how to track down bugs, and how to plan out new features. Your coworkers are the best resource you have when it comes to growing your knowledge and accelerating your career. If you’re not leveraging their knowledge by asking them questions then you’re not taking full advantage of the resources available to you.
So what can you do to ask better questions?
Don’t be afraid of asking dumb questions. The answer might be obvious but there could be important details that you weren’t aware of. Even if you think you already know the answer, it’s good to confirm that your suspicions are correct.
State what you know, then confirm if it’s correct. Explain to someone how you currently understand something, such as a problem, how some tool or framework works, or what a piece of code is doing. Then ask if that’s correct. You may be mostly correct, but there could be some edge cases or gotchas that will help you to fully understand whatever you’re asking about.
Try to avoid open ended questions. If possible, try not to ask questions like “How does X work?” A better way to approach the question is to ask it in a way that the answer can be given as a fact. Instead of asking “How does our queueing system work?”, ask something like “Is our queueing system FIFO (first in, first out) or are messages processed randomly?”
Don’t be afraid to admit you don’t understand something. It’s difficult to grasp the complexity of codebases, tools, frameworks, or languages right away. If your coworker is explaining something to you that you don’t quite understand, let them know. They may be assuming you have a certain level of understanding and can often break down their explanations into smaller, easier to understand concepts.
Provide context to the question. Sometimes you’ll need to ask about a specific edge case or part of the codebase that you’re working on. It’s often helpful to give someone a little background context on the problem or how the specific edge case happens when asking questions about a piece of code.
You’re smart, but you don’t know everything. Your company hired you for your potential, and asking questions is one of the quickest ways to grow your technical skills and understanding of the business so that you can add value. There’s a bit of an art to asking good questions as a software engineer, and it becomes increasingly important as you work towards a senior role.
🔗 Additional Reading
How to ask good questions (jvns.ca)
Please ask stupid questions as a new software developer (nikitakazakov.com)