Ask HN: Applying for EM Roles at FAANG?
There is a lot of material around about applying for IC roles at FAANG, including materials like this Google video. https://www.youtube.com/watch?v=BYUy1yvjHxE
There seems to be a big focus on preparing via Leetcode etc. I've got 20+ years in IC and EM roles and are currently an EM, and thinking about a (specific) EM role at a FAANG. Any thoughts on if I need to think about LC or just apply as any other company?
8 comments
[ 3.1 ms ] story [ 33.4 ms ] threadFor context, I hadn't coded professionally for ~8 years at that point, so part of the prep was getting back into that. Also, I never took any algo classes in college 15-20 years earlier, so that was another challenge. I actively avoided big tech companies for years due to difficult interviews and low confidence that I would pass, not to mention a general attitude of why the hell should I spend all this time preparing for something that does not reflect the day-to-day reality (and I still hold this view strongly). But as I learned more about compensation opportunities, I decided to bite the bullet and go for it. I quit my job and spent 3-4 months preparing mostly full-time, while also lining up interviews. Pro-tip here: if you get Google interviews, start them way in advance of all others. Their process is insanely long and after 3 months of interviewing, re-interviewing, getting downleveled, changing hiring managers, etc. I dropped out of the process because I was already sitting on two offers. For comparison, Facebook took 2 weeks from starting to schedule interviews to offer.
For coding, I picked up Python - unless you know something else really well, it's IMO the best language for interviews (never used it professionally, but had not great experience from a few years back interviewing in my language of choice of C#). I got a few books to learn and refresh on the data structures and algorithms: Algorithm Design Manual (good reference, but I didn't end up having time to really go through the material there), Cracking the Coding Interview (skimmed, basic to intermediate stuff here) and Elements of Programming Interviews in Python (skimmed, intermediate to advanced stuff here). I got lucky and recalled the general approach to my FB coding problem from the EPI book. Now for the most important part - create an account on leetcode.com and start practicing. I would recommend focusing on easy and medium levels. I imagine managers would generally get medium-level questions, engineers are expected to solve medium and advanced. My approach was to identify a list of topics, then for every topic read ADM, then CtCI, then EPI, then solve a few easy and medium LC problems, rinse and repeat. I've seen folks recommend that solving ~200 LCs is enough to get comfortable. I didn't have as much time as I would've liked and did about 60. The general idea is to be able to pattern match (e.g. this type of problem needs a hash table, this is a graph problem, etc), some people focus on memorization - I think that's a terrible approach, but most companies do end up asking questions from LC (except Google apparently). With limited time I was flying through topics towards the end, would not recommend. I did pay for Leetcode Premium for a few months - lets you focus on the types of problems that specific companies are asking, was worth it for me.
Coding aside, I actually spent most of my time preparing for system design interviews. Found that my knowledge of building large systems was not nearly sufficient for interviews. My approach here was to first purchase this course: https://www.educative.io/collection/5668639101419520/5649050... and read through the basics section. It really is basic, so I was supplementing by diving deep into each topic on my own. It's still a pretty useful resource for getting an idea of what breadth I should be targeting, along with
The interviewer should be embarrassed for asking such trivia.
I'm surprised to hear about the level of hands-on coding skills needed for an EM interview, but it puts a different perspective on applying.
> I had the ability to take the time off to focus on interview prep
This is a good takeaway
> My cynicism about the whole process only grew, as exactly nothing from my prep was relevant to the day-to-day job at Facebook.
I've conducted interviews for IC and managerial roles myself recently, and this is a common problem. It's unfortunately part of modern hiring processes.
It seems like even Director-level positions are asked coding questions.