Weak is Strong: Asking Questions Well is a Superpower
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â.
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 gettingERROR 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.
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.
Comments ()