Swizec Teller - a geek with a hatswizec.com

    How to ask for help

    Friend, what makes a senior engineer stand out in an interview?

    No it's not the amount of side projects or their leetcoding speed. It's not even past experience – every senior has past experience.

    It's knowing how and when to ask for help.

    Swizec Teller published ServerlessHandbook.dev avatarSwizec Teller published ServerlessHandbook.dev@Swizec
    love it when you interview an engineer and they have a whole philosophy on how to ask for help 😍

    You don't need to have the approach, but you should have an approach. As a senior you'd expect to be pretty used to asking for help by now.

    Here's the approach I use.

    Asking for help diagram
    Asking for help diagram

    1. Ask the IDE

    Asking your IDE is a great first step. When you're not sure what function to call, what's available, or which arguments to use in a function – ask the IDE!

    Autocomplete can tell you what's in scope and which properties or methods exist on an object. Jump to definition should tell you what arguments exist for a function.

    Typed languages like TypeScript help make your IDE more powerful. Machine readable comments like JSDoc get you halfway there in dynamic languages.

    You may not realize you're asking for help but it's nice when you don't have to fit the whole project in your brain. Let computers do what computers are good at ✌️

    2. Code or library question?

    The IDE couldn't help and now you're faced with a branching decision: Is this a codebase question or a library question?

    Library questions

    You can answer library questions by googling. Other people have run into this issue before. If Google can't find the answer, documentation can help.

    I like to Google first because you get someone's blog post, GitHub issue, or StackOverflow question with your exact situation. When that's not available, it often finds the documentation page you need.

    Trawling 100 pages of docs to find the 2 sentences that answer your question ... 🤢

    The Senior Mindset series

    Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    it describes my days in a way I have not read before.

    This was a very enlightening article about being a senior engineer.

    Join over 10,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    3. Code archaeology

    When the issue is specific to your codebase or Google can't find anything relevant, you're shit out of luck.

    Nobody outside your organisation could have run into this issue. It's specific to you, your team, and your company. 💩

    Fear not! You can ask your former self!

    Dig through the codebase, look for patterns similar to what you're doing, and copy that shit. The bigger the codebase, the more likely you'll find an answer.

    The code archaeology approach is easiest when you're adding a new feature that's similar to an old feature. You can trace the whole codepath from UI to database and add your code next to all the existing code.

    You can clean up the duplication later. Or find that the features look similar by accident and this isn't duplication at all.

    But that's a problem for another day. Piggybacking off existing patterns is the solution for today.

    4. Ask

    All right, getting help from the universe has failed, time to ask the team.

    Here's what you do:

    @team or @specific-person-who-prob-knows can you help with X? I've tried A, B, and C. That didn't work because of Y and Z. Here's relevant information ...

    If you know the specific person (like from a git blame) who might help, tag them. If you know the team responsible for this area, tag them.

    Always ask in a public channel. That way others can learn from your question or jump in to help.

    Assume people can't read your mind. Summarize the problem, attach relevant screenshots for context. People are really good at grokking context from pictures. Attaching error messages helps too.

    When to ask

    Ask earlier than you think. While you have a few avenues left to explore.

    Don't expect others to drop everything and jump to help you. Respect their focus :)

    As you find more information, add it. If you find the answer, share it.

    5. Ask more people

    You'll find that some questions stump others trying to help. Escalate! Get more people involved.

    "Who else do you think might know?" is a fantastic question in these situations. Go poke the person they suggest. Then the next person, then the next.

    Navigate through the org until you find someone who knows the answer. You'll do this exploration for questions like "why did we do it this way, is there a reason?" more than for strictly technical questions.

    5. Become the expert

    When nobody knows, it's time to become the expert.

    Swizec Teller published ServerlessHandbook.dev avatarSwizec Teller published ServerlessHandbook.dev@Swizec
    @laurieontech @DavidKPiano Eventually you start solving problems that you are the sole leading expert in the world in. Nobody can help you.

    That's when the fun begins.

    Good luck!

    Cheers,
    ~Swizec

    Did you enjoy this article?

    Published on August 27th, 2021 in Mindset, Opinions, SeniorMindset

    Want to become a true senior engineer?

    Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?

    Leave your email and get the Senior Mindset series - a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    The Senior Mindset series

    Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.

    it describes my days in a way I have not read before.

    This was a very enlightening article about being a senior engineer.

    Join over 10,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

    Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️

    Created bySwizecwith ❤️