You’re bright and resourceful. If there’s something you don’t know, you’ll eventually figure it out. You can find your way around internet searches, wikis, Q&A sites, and online documentation. The last thing you want to seem is lazy or incompetent to your manager and peers.
However, we all get stuck sometimes. Online documentation can be inaccurate or incomplete. Choosing the right approach, technology, or interface can be unintuitive. APIs can be buggy or behave in unexpected ways. When do you ask for help?
Let me save you some time and reading. Ask for help after 20 minutes. That’s it. Done. If you’ve been stuck for 20 minutes, ask for help. Why 20 minutes? What should you do before you ask? Who should you ask? How should you ask? Glad you asked.
I need somebody
When you’re stuck, you can’t tell how long it will take to get unstuck. Maybe you’ll have a flash of insight in just a few more minutes. Maybe you’ll be stuck for days. If you knew you’d be stuck for days, asking for help right away is obvious, especially if it would convert those days into minutes. But again, you can’t tell in advance.
To find the optimal time to invest before asking for help, think like a manager. Your manager wants to deliver the most value for the least cost. Getting help delivers value at roughly 2.5 times the normal cost (assuming conservatively that your helper earns 50% more than you). So, 10 minutes of help costs the same as 25 minutes of your own time. If you’re going to be stuck for an hour or more, it’s worth getting 10 to 20 minutes of help (the typical amount needed). Thus, you should ask for help the moment you think you’ll be stuck for an hour or longer. I can tell I’m seriously stuck after 10 minutes. Someone with more pride and/or less experience might need 20 minutes. After 20 minutes of being stuck, ask for help.
For more on business thinking, read It’s business time.
I feel so insecure
“But I don’t want to seem dumb, lazy, or needy.” Everyone wants to appear competent and independent. However, learning is a central part of your job. Part of being competent and independent is knowing when, who, and how to ask for help. Remaining stuck for hours or days only shows you can’t get the job done.
During those 10 to 20 minutes before you realize you’re seriously stuck, you should be searching for information in the usual places: online documentation, wikis and Q&A sites, and similar calling patterns in the source code. That way, when you ask for help, you can say you’ve already checked the obvious places and need the help of an expert. Not only does that demonstrate you aren’t dumb or lazy, it also makes your helper feel more valued and respected.
Not just anybody
Many of questions can be answered by the folks on your team. However, when you’re working on a new area or new technology, you might have to reach out across the company (or even outside the company).
There are two ways of finding help outside of your team.
- Post your question to a distribution list (DL) or Q&A site. The key is to find the correct DL or the right Q&A tagging so that your question goes to the people most likely to help you. Your earlier online searches probably found questions related to yours, so use the associated DLs, sites, and/or tagging to properly target your question. Unfortunately, posting questions to a group doesn’t always get you a fast and sufficiently detailed response.
- Ask an individual expert. If a DL or Q&A site doesn’t respond fast enough or you need more in-depth assistance, reach out to an individual expert. Look for common authors of wiki pages, documentation, and/or online and DL answers that you found in your searches. Double-check that their emails are in the address book, and then write to the one (or more) whose explanations you like the most.
Just as important as choosing the right people to ask is avoiding the wrong people to ask.
- Don’t interrupt someone. It’s hard to get into flow, whether it’s coding or a conversation. If the person you first seek is deep in thought or deeply connected to what she is currently doing, find someone else.
- Don’t call or use synchronous messaging, unless invited. Synchronous forms of communication interrupt people, which you should avoid doing. Use email, social media, or Q&A sites for your initial contact, then switch to a phone call or synchronous messaging as needed.
People who actively answer questions and write documentation might cringe at the thought that folks will now flood them with requests. First and foremost, thanks for actively supporting your fellow engineers online. Second, expanding your network with grateful engineers is always valuable. Third, I talk about how best to minimize the impact on experts like you in the next section.
I do appreciate you being ’round
Spamming a DL, Q&A site, or an individual expert haphazardly is wasteful and disrespectful. Instead, you want to phrase your inquiry in a way that demonstrates how much you value people’s time and expertise. Be clear, concise, and provide enough context to avoid unnecessary follow-up. Done well, a question can unblock you and expand your professional network.
Here’s a template:
Subject: <Specific question mentioning related API/component>
I’m trying to <what you’re trying to do>. When I <do what appears to be the right thing>, instead of it <performing as expected>, it <does something unexpected>. Any idea what I’ve missed?
I’ve already checked the following places: <list of sites and searches>.
Thanks so much for your expertise and assistance,
Even though this inquiry is a short two paragraphs, it provides context around what you’re trying to accomplish, how you’ve tried to accomplish it, and where you’ve already looked for help. Context makes it easier for an expert to respond quickly with the precise information you need—information you couldn’t get elsewhere (making them feel valued without being significantly troubled). Such an inquiry also enables the expert to teach you how and where to find the information yourself next time around.
For more on building your professional network, read Get yourself connected.
Opened up the doors
Satya wants us to be a “learn-it-all” company. That starts with you. When you’re stuck, don’t just try to figure it out on your own. Search around online for 20 minutes. If you’re still stuck after checking the appropriate documentation, wikis, Q&As, and source code (no copy/pasting), ask someone for help. You can find the right DLs, Q&A sites and tags, and individual experts by noting the location of related questions and who was providing thoughtful answers.
Pose your question concisely with sufficient context about what you’re trying to accomplish, what you’ve tried already, and where you’ve sought answers. Be gracious with your thanks and willing to help others with similar issues going forward. You can even post your question and answer on wikis and/or Q&A sites in order to benefit your peers. This is a great way to give back, as well as build your professional network. That’s what you are: a professional who knows how to get things done, including how and where to get answers.