Preface
It took about two months of "grinding Leetcode" (I cringe at this phrase) to start interviewing. Getting ready for Facebook's tough algorithms interviews made other interviews feel easier.
Originally, my target company was Facebook. I failed my Facebook interviews, but I got offers elsewhere: (Afterpay, Snap, Ramp, Hashicorp, Assembled).
Since writing this article, each company has taken a wildly different trajectory from a financial perspective.
Here’s a snapshot of my hunt in 2021:
I work at Square now.
Getting a pulse
Every job hunt starts with discomfort. You dream of greener pastures, thinking of how happy you would be if you had a different job. Before hunting for a new job, ensure that you are ready to move permanently.
For this to work, you need to sell the idea to yourself and commit. Half-baked interviewing usually doesn't lead to the best decisions. If you're not ready to walk, that's okay.
Once you’ve convinced yourself to take the leap, you have a few options. If you're burnt out and have savings, quit your current job. I don't say this lightly. It's a tremendous advantage to have the bandwidth to interview full-time. This is a huge decision, and every moment you can spend on it counts.
If you don't have ample savings, or aren't confident in your career security (eg: recession, no degree), don't do it. The worst case is prolonged unemployment, which can be horrific if you don't have a buffer.
Interviewing full-time is a much more optimal situation, and eliminates the headaches of scheduling interviews in the middle of work. It also eliminates any dissonance or dishonesty in your day-to-day - you don't have to lie to your company and your co-workers.
There are a lot of companies out there. Because of this, you can and should be picky. Act as if you have no limiting factors for the next part. First, you should identify your priorities:
- What would you like to work on?
- Who do you want to work with?
- How much do you value work-life balance versus career progression?
Be honest with yourself here. In an ideal world, your company would be a strong fit in each category. Avoid selling yourself into thinking you “want” something because it is prestigious, or expedient for you in the short term (at the expense of long-term success).
Thinking about targets
Craft a list of target companies. This should be ranked in order of desire, not likelihood. Include as many companies as you can think of that fit your bill.
The key to success here is applying via referrals. Going through the front door is a great way to fail, unless you have an excellent and obvious pedigree.
Knowing your game
You should aim to focus on preparing before scheduling interviews, but don’t get stuck in “prep hell”. Start scheduling interviews even if you aren’t ready — this will give you a deadline.
Be ready to spend time going through mock interviews. If you ignore this, you run the risk of flailing under pressure. Solving problems on your own time is very different from doing them with someone else watching, under pressure.
Remember: you only need to pass one interview loop to get an offer.
Being intentional
Use popular tools such as Leetcode; utilize lists such as Sean Prasad or Yangshun; avoid anything that costs more energy.
Avoid doing specific problems or implementations, but be intentional about which problem types you solve. If you're interviewing for senior roles, algorithms is only a portion of what you'll be evaluated on at a lot of companies. System design matters.
Balance study and practice evenly; dive deep into concepts and understand them before rushing an implementation. Learn broad concepts, drill them in using popular problem sets.
Don’t ignore communication, manual verification (testing by hand), and speed; these are all cornerstones of interview evaluation. You can and should set timers when you sit down to solve problems.
If you've already gone through multiple job hunts, you'll know that re-adopting interview habits is probably one of the most important things (perhaps more important than study).
Understanding behavioral interviews
What do behavioral interviews really test for? At the core, they test for liability. They don’t test for likability or culture fit — your interviewer makes this decision within the first minute.
By asking procedural questions with nice procedural answers, the HR department and hiring managers are covering their ass. They need to justify their hiring decisions and their firing decisions. If you perform really poorly on the job, one of the first questions might be: how did they do on the interviews?
There are exceptions to this rule — some of the best candidate experiences I've had employed conversational-style interviews in lieu of predefined questions. They seek to learn about the candidate, and afford interviewers flexibility to explore the most interesting areas.
Regardless of the question being asked of you, procedural or conversational, your answers should seek to be as natural as possible, and illustrate the signals that you wish to project.
Adapting your answers to each company is fine, but remember that you are interviewing the company too. Treat this as an exercise in storytelling, not in interviewing. If you imbue your stories with a relatable, human element — you stand above the rest already.
You don’t memorize your answers word-for-word. Get to know the “shape” of your story and think about how you’d answer each hypothetical question.
The worst thing you can do in response to a cold and procedural question is to be cold and procedural in return. Rigid, during an interview, is the worst thing you can be — it undermines your credibility, and the interviewer knows they're hearing a pre-canned speech.
Ask yourself, would this honestly grab my attention? If you have time/energy, tell your story to your friends unsolicited. Do their eyes glaze over, or do they seem engaged?
People want to work with a person they would get drinks with. Great companies are able to mitigate the "culture fit" bias by enforcing evidence-based interview feedback, but most companies don't. That's to say: regardless of how it should be, you're not in control. Some people won't like you because you wore a purple shirt.
So, do your best to set this aside. If you can’t convince your future co-workers to advocate for you, you won’t receive an offer.
Have fun.
Just have fun with it. Live is short (and brutish?), so try to enjoy the process a bit. Interviewing can be really satisfying once you get in the groove.
Best of luck.
-
Written with love,
Colin