It’s almost the New Year, so I’d like to give you a quick gift! From yours truly, here’s the exact steps to take to break into a top software company next year.
I’ve always wished there was a definitive guide on how to break into FAANGMULA (Facebook, Apple, Amazon, Netflix, Google, Microsoft, Uber, Lyft, AirBnB) as a software engineer. Let the following be an attempt.
Now of course, FAANGMULA is just a proxy– it could be any other large software company not in the above (now very long) acronym. I’ve spoken at length about the benefits of working at most top software companies: interesting work, smart colleagues, incredible compensation, great benefits, prestige, etc.
In 2022, let’s make it happen for you! Here’s a plan of action, based on my own experiences and having seen what works for others.
We are going to use a target date of the end of March to land your dream job. This is because the entire application cycle usually takes around two to three months. Also, many people's bonuses arrive towards the end of February or March, so timing it this way ensures you maximize your earnings.
This also assumes that (though understandably not true for all) you have 15–20 hours a week to dedicate to interview prep.
If this doesn’t fit within your timeline, consider using one of our other 30/60/90 day plans or least following along with our videos.
Without further ado, here’s our game plan.
Steps for FAANGMULA
- Get referrals to jump the blackboxes that are ATS systems. Apply broadly across industries and niches to increase the odds of attaining multiple offers.
- Arrange interviews with "safety" companies first and "reach" companies last. The companies you’re least interested in can serve as practice (and you never know what they may offer!)
- Begin noting down stories for behavioral questions as they come back to your memory. You should mostly talk about more recent experiences, though you can include older stories if they highlight a trait well.
- Decide on a list of coding and systems design problems to tackle. Use our list of most common problems or target by company. Study using the CTPBO method and be honest with yourself about your level of mastery.
- Practice 1 or 2 problems a day until the technical phone screen, ideally many being mock interviews.
- Spend at least 30 minutes trying to solve it yourself. All test cases must pass, even if it’s brute force.
- If you didn’t get the optimal solution, save the problem for a few days from now.
Crush technical phone screen:
- Do a few mock interviews with friends. It’s still fairly low-stakes and it’ll help with pacing, approach, and nerves.
- Use the language you’re the most familiar with, not based on relevance to the job. Get the algorithm right visually and in pseudo-code before writing any code.
- Warm up before the phone screen by solving or reviewing an easy problem.
- Practice 2 problems a day (or as many as you can fit a week), ideally with multiple being mock interviews.
- Write down stories and full responses for each behavioral interview question. Memorize them to the point where you can effortlessly answer any behavioral question. This is something Google's former SVP of People recommends.
- Read up on interview experiences about the companies you’re talking to. What do they reveal culture-wise or technical challenge-wise in their reviews and videos?
Crush the on-site interviews
- Keep telling yourself the interviewer wants you to succeed. Don’t hesitate to ask for a lot of help and instruction.
- Expect mostly rejections-- this is simply how the statistics work out. All candidates except one for any given role won't move on. Knowing this helps lower the pressure.
- If you get stuck:
- Ask them for a hint
- Reduce the input to the smallest one possible
- Revisit the brute force and find patterns
- See if there’s a common technique you can apply
- Stay hydrated throughout, ask for bathroom pauses to take mental breaks.
- Know your behavioral interview stories by heart. Give them what they want: examples of how you’ll lead and help out if hired.
- Don’t forget to bring up time and space complexity
End of March: Get offers and negotiate
- Try to time the application cycles so you get multiple offers at the same time (if you can-- remember, you only need one yes).
- Make sure to always convey to companies that you’re interviewing around to keep things competitive.
- Remember that the first offer is just the initial one– always negotiate.
We'll send you 100+ of the most common coding interview questions, once a day with visual explanations. Join over 53,000+ users who are doubling their salaries in 30 minutes a day.