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.
love it when you interview an engineer and they have a whole philosophy on how to ask for help ๐
โ Swizec Teller (@Swizec) August 27, 2021
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.
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 Minset email crash course
Get a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course.
You'll get insights to apply at your work right away.
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.
Eventually you start solving problems that you are the sole leading expert in the world in. Nobody can help you.
โ Swizec Teller (@Swizec) April 29, 2020
That's when the fun begins.
Good luck!
Cheers,
~Swizec
Continue reading about How to ask for help
Semantically similar articles hand-picked by GPT-4
- Why senior engineers get nothing done
- What matters in a senior engineer job interview
- You're not asking for a job, you're selling a service
- What makes you a senior software engineer anyway?
- Interviewing tips for experienced engineers
Become a *true* Senior Engineer
Get promoted, earn a bigger salary, work for top companies
Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?
The Senior Minset email crash course
Get a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course.
You'll get insights to apply at your work right away.
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
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 โค๏ธ