In my ten years of engineering as an IC and manager, one of the most common mistakes I see junior engineers make is not asking enough questions š¤
Driven usually by intense impostor syndrome, you toil away quietly on a cryptic error log, frantically Googling and asking ChatGPT for help, but you make no progress for 2 days.
You're remote now so your manager canāt see the sweat on your brow as you frantically hit cmd+tab
hoping the answer will magically appear on your laptop.
Youāre stuck in a self-feeding spiral of confusion and inadequacy.
Let's check in with your manager
āHmm, Jr Eng hasnāt asked anything about their task in over a day and they said itās going fine. Hope theyāre making good progress then.
Ohā¦ looks like theyāve committed nothing and asked no questions in meetings or slack. I see no activity in the last 24 hours. Do they even know what theyāre doing? This is worrisome. Iāll have to reach out and check inā.
Weak is Strong
The truth is, in engineering, showing āweaknessā and asking lots of questions is often a sign of strength. In fact, Iād argue the more senior you are, the more questions you ask. This is because senior engineers know that building good software is a process of discovery and iteration. Confident, experienced engineers are not afraid to say āI donāt knowā, but then roll up their sleeves and say āHereās what Iāll do to figure out the answerā.
![Weak is Strong: Asking Questions Well is a Superpower (1) Weak is Strong: Asking Questions Well is a Superpower (1)](https://i0.wp.com/www.jointaro.com/blog/content/images/2023/01/image-5.png)
From a managerās perspective, every question you ask reflects growth, a curiosity to learn, a chance to teach, and also an implicit progress check-in. It makes their job easier, letting them know what problems youāre encountering and how they can better support you.
Manager secret: managers hate having to reach out to you to unearth what your problems are and dig up a status update. While thatās certainly a part of a managerās job, you can make it easier for them by just telling them! This is one of the best ways to āmanage upā.
Ok, so you know you should ask more questions, but how should you ask questions?
Hereās 5 tips on how to ask questions more effectively as a software engineer:
1/ Do your homework
Before you ask a question, make sure youāve gone through all documentation and other resources you have available to you. Is there a README on that repository youāre working on? Have you Googled or searched GitHub issues for your error message? Did your Tech Lead share some guides that are relevant to your work?
Do your homework and check out existing resources first before taking up someone else's time.
2/ Understand your teamās norms
What are your teams norms around asking questions? Some teams like a free flowing slack channel where people are constantly asking questions. Others donāt mind directly DMing and interrupting someone as long as the question is important. There are lots of different ways teams implicitly, or explicitly support a question asking culture. Figure out what the norms are on your team, ask your manager if youāre unsure, and adhere to those norms.
3/ Present all information clearly, and at once
When asking a question, make sure to include the homework you did in part 1, add as much context as possible, and have a clear ask for what you need help with. Put it all in one single message.
Your goal is to make it as easy as possible for someone to see your request and help you quickly, without them having to dig for more information.
For example, letās say youāve come across some cryptic error message that you canāt debug. Hereās a bad way to ask a question:
Hey, I keep getting ERROR 3934: X is undefined.
Can someone help me?
Hereās a better way:
Hey team, Iām trying to finish <Ticket #123> and I need some help debugging an error message.Hereās my <draft PR>. I keep getting
ERROR 3934
when I run the./execute
script. Here's what I've tried so far:* The error doesnāt have much description. Iāve searched our docs and Google but canāt find anything about this specific error code. It seems to be related to the FooBar Library, but I hit a deadend beyond that.
* Removing Line 305 removes the error, so I know itās originating from that line, but then Ticket #123 isn't complete. Iām not sure what exactly in that line is causing the issue.Has anyone seen this error before or have advice on how to further debug?
4/ Model more senior engineers
Watch how well established and more senior engineers ask questions. You can learn a lot from how they ask questions and how they think.
5/ Practice answering questions yourself
Donāt just take but give!
Even if you are the most junior member of your team, answering questions helps you learn and improve. Even if you donāt know the answer to something immediately, you can use another teammateās questions as a way for you to test your knowledge. As you continue to be helpful to your team, this will also build your social capital and a strong sense of teamwork.
š”
Check out the Taro resources on asking great questions (and this video in particular).
A safe environment
Lastly, Iād be remiss not to mention that asking questions does require vulnerability and humility. It is the job of a manager and the whole team to create a safe environment where everyone feels like they can ask questions (assuming theyāve done their homework!).
If you are being shut down or criticized unfairly for asking questions, chances are youāre not in a good environment to learn and grow. In this case, Iād recommend talking to your manager or skip manager, or finding a different team or company when practical.
The next time you get stuck and fear asking a question for appearing weak, take a deep breath. It's okay! Collect yourself then take a systematic approach to trying to answer your own question, before asking to your team.
Remember that questions are an important form of communication, and a sign of strength.
Connect with me
I'm Ernie and I've worked as an engineer, manager, and consultant at companies like HubSpot and Brex.
I write a newsletter on part-time work in the tech industry: Part-Time Tech. You can also follow me on LinkedIn, Twitter, and Medium.