The Sweet Spot
On software development, engineering leadership, machine learning and all things shiny.

Let's talk about the FAANG interview

If you've ever cruised Hacker News or Blind, you'll know there's an intense obsession with passing the interview loop at big tech companies like FAANG. This is a post for early-career engineers and those looking to break into the field. As someone who's failed SO MANY of these loops, I'm here to tell you to relax.

A tale of two interviews

Let’s get to the point - I’ve never passed the interview loop at a FAANG1 company, and I’ve tried at least 6 times2 throughout my career - Rejection City!

Now the typical loop at these companies will prioritize mastery over algorithms and data structures. This advantages folks at computer science research institutions, or people who have hours every day to grind leetcode3. Because there are so many applicants passing through the pipeline, there’s a pretty low margin of error for any of these interviews.

These big tech companies are inundated with candidates, and it pays them to be aggressive in how they filter candidates out. This means it’s acceptable to have a very high rate of false negatives, or regrettable rejections (in statistical terms, that means they optimize for high precision and low recall). It also means that there is an entire cottage industry of cram schools, course materials that would rival any SAT / higher education cram school.

It’s perfectly normal to end up failing out one of these loops because of anything including - nerves, blanking out, or simply having some bad luck with the type of problem you were given. At this point, I’ve received 6 FAANG rejections so far (and counting). Does it sting? No doubt, especially as I consider myself a fairly competent engineer. (I did have some memorable experiences4 though, and the interviewers I’ve met have been all kind and fair.)

Does my record indicate I’m any less of an engineer? Nope - I know what I’m worth and what I’m capable of. And you know what? I’m OK with it!

What’s your superpower?

That’s what I usually ask students or junior engineers at this point - what’s your superpower? Is it your keen collaborative spirit? Your thorough PR reviews, and responsible custodianship of the health of your systems? Your ability to write a thorough doc or tech spec? Your deep knowledge of important domains of web performance or observability or some deep understanding of the business?

These might not have a chance to shine in your next FAANG interview.

I know. It sucks. It’s their loss they didn’t design their interview loops to let you shine. And if they don’t, take your awesome self and go apply at a different company. The sad thing is that this can be so much better across the entire industry!

Designing a better interview loop

I’m a big believer in making interviews work like actual day-to-day coding practices, over demonstrating algorithmic prowess. I’ve been part of some really well designed loops that:

  • Let you work as a pair with your interviewer, two pairs of hands on the keyboard.
  • With real production-like code (or as real of a coding challenge as can reasonably/legally designed)
  • Emphasizing the glue work involved in being an engineer - how you review PRs, or write specs, or plan to develop a project.
  • Giving you the opportunity to show your work offline with take-home programming challenges. Though controversial, I generally enjoy them provided they are bounded in scope because they decrease the stress of coding with someone looking over your shoulder.

It’s the reason at Lyft we’ve designed our Apprenticeship interview loop to be specifically more collaborative. And each day I hear more and more about people working on well-designed interview loops.

Plenty of fish

Let’s end with reasons you might have a better career path elsewhere:

  • A smaller co (or startup) will give you more opportunities to grow. Exciting projects may show up on your doorstep without you having to compete for them.
  • FAANG-adjacent companies (companies with late-stage funding rounds, or newly IPO’d) nowadays pay equivalently or even more than FAANG. If compensation is your goal - it pays to do your research and apply broadly!
  • A smaller company gives you more opportunities to be “in the room” when the decisions are made.
  • Hiring processes are changing, and they are changing more rapidly at other companies than at FAANG. More and more companies are tweaking their interview loops to mirror real code exercises, look at real code, or give you extended time pairing together.

It’s a hot market, and people are fighting for talent right and left. Don’t limit yourself to just FAANG (or adjacent). Do your research and find the right company that fits your strengths and skills. Now go forth and interview - good luck and go get ‘em.

Epilogue

And finally - a conversation I came across recently on Twitter (the author is a prolific author in the Ruby community):

What if there was a radically different way to interview people - in a way that doesn’t trigger test or performance anxiety?

  1. FAANG: Facebook (Meta), Amazon, Apple, Netflix, and Google, but not exclusively limited to this club. Mainly the halo circle of prestigious companies offering top tier comp and staggering stock returns. With Meta’s recent rebranding, now alternatively called “MANGA”. 

  2. I’ve applied to at least one FAANG company each time I’m in a job-hunting phase, and never passed hiring committee review – with the exception of a brief internship at Apple, which I’ll confess I didn’t do great at either. But that’s a different blog post altogether. 

  3. “Grinding leetcode” - to hit the books like you’re studying for finals. Leetcode users have levels and rankings, and people brag about how quickly they can solve hard problems (and how many hours they spend on the platform). However, consider the time investment required to better oneself on the platform, and the types of people this would exclude. 

  4. Once, when interviewing for an internship at Facebook I did manage to learn that Joe Hewitt (of Firebug fame) was working next door and I managed to shuffle out of my room to shake his hand… nice guy. 

Liking what you read?

Accelerate your engineering leadership by receiving my monthly newsletter!

    At most 1 email a month. Unsubscribe at any time.