Essay - Published: 2022.12.21 | career | interviews | software-engineer |
DISCLOSURE: If you buy through affiliate links, I may earn a small commission. (disclosures)
Earlier this year I left my job as a software engineer at Instagram. I'm risk averse so I was also searching for a new job to weather the economic downturn. Seeing as this was my first interview loop since my 2019 job search, I decided to take notes so I could compare experiences / data.
Here I'll share some of my experiences in my 2.5 month, 51.4 hour search for a job this year - this time as a Senior Software Engineer.
I think it's important for all initiatives to start with values. What do you care about? How will you measure it? Are you sure that's what you really care about?
Without an idea of what you're trying to accomplish and how you'll know you've accomplished it, it's incredibly hard to make any progress towards that thing. Moreover it's important to remember that a job search is not just about you trying to fit into a position, but you testing positions to see if they'll fit you - it's a two way street.
So I started off my job search by really thinking about what it is I valued and what I wanted to do in my life. I came up with 3 big buckets.
There's a lot here and this is the condensed version from multiple iterations on what I actually value. The goal isn't necessarily to find something with all of these but to keep them in mind as things you value so you can weigh your options with more authenticity.

First some stats:
Pass means I have data showing I passed, well means I passed and felt confident I passed / did a good job).
All interviews are really trying to answer a few things:
These are roughly ordered by importance with respect to seniority. For instance, questions at the top of the list are basically the only things that matter when you're junior but as you become more senior the questions near the end gain more sway.
This, I think, was really the big change from my 2019 job search and interview loop - that and that more cos responded / reached out to me now that I have more experience / FAANG on my resume.
Interviews are still basically split into three categories:
I will say that there was a high prevalence of non-LeetCode style qs in my loops - instead more on practical design, implementation, or debugging. Replit and other online editors w execution were popular.
Interviewing as a junior the ratio of study / importance was something like this:
As a senior, the script flips a bit. It doesn't mean that Coding isn't important - more that Coding is now the bare minimum so you should be able to do that proficiently and excel at the others.
This makes sense because the point of code is never code. It's always to enable something else. So as you get more senior, theoretically you bring more value which can only be true if you understand the non-code parts better. That's my mental model anyway.
My hypothesis is that at Staff+ the numbers continue to pull away from Coding. But, again, that doesn't mean you can be bad at it - I've failed numerous candidates several levels above me because they could not code.
My SWE interview training regimen remained similar to my 2019 one though was a bit more varied (and a bit more lax?)
I took a few weeks off to do nothing. I've now started at my new gig but that info is currently in invite-only beta. I'll be sharing more in the coming weeks - likely by my 2022 year in review.
The best way to support my work is to like / comment / share for the algorithm and subscribe for future updates.