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 back on his Be An Expert bullshit avatarSwizec Teller back on his Be An Expert bullshit@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 15,883+ engineers learning lessons from my "raw and honest from the heart" emails.

    ⭐️⭐️⭐️⭐️✨
    4.5 stars average rating

    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 back on his Be An Expert bullshit avatarSwizec Teller back on his Be An Expert bullshit@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 15,883+ engineers learning lessons from my "raw and honest from the heart" emails.

    ⭐️⭐️⭐️⭐️✨
    4.5 stars average rating

    Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.

    Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.

    Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.

    Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev

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

    Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections

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

    Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog

    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 by Swizec with ❤️