Gift: Steps for FAANGMULA in 2022

By Jake from AlgoDaily on 2021-12-25 02:46:09 UTC

Hey friends,

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.

Some notes

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

Before January:

In January:

  • 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.

February/March:

  • 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.

How to prepare for interviews in 2022

By Jake from AlgoDaily on 2021-12-16 19:43:14 UTC

As the pandemic continues to stretch on, we've seen some reverberations from it in the tech hiring landscape. Software engineers, previously already in high demand, are witnessing unprecedented numbers of companies and recruiters reaching out. They come offering some transformational roles, often with life-changing pay.

Be aware of some trends that are occurring. Staying on top of the industry's practices can help you prepare accordingly, and land the job that could make or break your career. Imagine landing a job at Amazon in 2000, or Google in 2005-- where could you be now?

Some Recent Trends

  • More and more large companies are dropping Leetcode questions, and are focusing their efforts on role-specific and design problems.
  • More than 75% of developer jobs mention or offer remote work.
  • 82% of interviews are now done virtually, with 93% of the workforce intending to continue with this practice after the pandemic.
  • Compensation for new hires continues to grow, with levels.fyi averages regularly incrementing up each month.
  • Ghosting and rescinding of both interviews and offers also sadly seems to be on the rise.

What to Make of This?

The consensus is clear: there's no better time to find a new job. In the month of December, activity usually drops since people are on vacation. After the New Year, expect a rebound in recruitment and interviews.

However, also expect a more dynamic environment. There will be fiercer competition, rejections out of your control, and companies changing their open roles and policies at a greater frequency.

At AlgoDaily, we have a plan in the works to help students streamline their interviewing even more in January-- this is to be announced soon! But in the meantime, here are things you can do to bolster your chances:

  • Apply early, especially if the company is larger than 1000 employees. The process can take longer than expected. An average full interview cycle, from recruiter phone screen to offer, will take around 3 months.
  • Apply to many places. There are thousands of great software companies looking to hire top talent. More than one will be able to offer what you're looking for.
  • Have a plan. Either use one of our outlined plans, work through the courses step by step, or at least practice daily with our coding challenges.
  • Get a good webcam! It'll make all the difference for the interviewer.
  • Use LinkedIn-- both to get inbound recruitment, as well as to build your network for referrals into companies you want to work at.
  • Apply the 80/20 rule when preparing-- if you're a junior engineer, spend 80% of your time on data structures and algorithms, and 20% on role-specific prep. (If you're a senior candidate, coding and systems design should be the 80%).
  • Use available compensation data to your advantage, and be sure to negotiate accordingly.

You can accomplish all of the above with the help of AlgoDaily Premium, our membership offering that includes all material and tools acrosss algodaily.com-- currently on sale.

Get 50% Off AlgoDaily Premium Today. Deal ends shortly!

Your Favorite New Lessons of the Year

By Jake from AlgoDaily on 2021-12-16 18:47:08 UTC

Here at AlgoDaily, we've been busy. This year, our team of amazing content creators has added over 200 new lessons to the site, covering ways to conquer coding interviews, as well as things you should know to level up as a developer.

We recently ran some analytics on the new guides published in 2021 that our students have found most helpful. This was discovered by crunching time on page, number of completions, and general qualitative feedback.

Here are your favorite lessons on algodaily.com in 2021:

Coding and Algorithms

Systems Design/Operating Systemms

Miscellaneous

Prep for an interview in hours, not weeks or months

By Jake from AlgoDaily on 2021-10-30 18:31:21 UTC

We know that the AlgoDaily's courses are great when you have at least a few weeks or months to prepare. But what if you're scheduled for an interview, say, tomorrow?

How can you prepare with just a few hours of free time?

The answer is in our cheat sheets. Did you know AlgoDaily.com has 20+ cheat sheets that provide the most common questions asked during technical interviews?

Here are our most popular ones:

Languages

Techniques

Roles and Technologies

I hope you check out some of these cheat sheets. If you find them helpful, I would appreciate it if you shared this amongst friends or on social.

A system to pass any technical interview

By Jake from AlgoDaily on 2021-08-11 22:17:12 UTC

This is a longer email, so brace yourself. But if you can make it to the end, you'll get the exact advice I would give my own family members as to how to land a 200-400k software engineering position.

Goals vs. Systems

Let's quickly differentiate goals vs. systems thinking. A goal is something to strive towards. Say you want to lose 10 pounds-- that's your goal. A system is an organized framework where an input leads to an expected output. The system to lose the 10 pounds might be eating 500 less calories a day for several months.

Spot the difference? While there isn't a guarantee that you'll achieve the end result you want (after all, we all work on buggy software systems...), you are increasing the probability that you'll be successful.

Applying this to your career

We all know you can't guarantee a successful job interview-- there's too many variables: your interviewer's mood, the technical questions you're asked, your fatigue on the day of, your level of preparedness, etc.

What you're looking for, however, is a way to improve your odds.

Here's an example: as a developer, a "technical" interview can theoretically consist of any kind of trivia related to Computer Science under the sun.

But practically speaking, there are 5 big types of interviews:

  • Whiteboard data structures and algorithms
  • Systems design and architecture
  • OOP/Design patterns questions
  • Frontend/UI/JS interviews
  • Language/framework trivia

Yes, there will be some surprises-- perhaps you'll get an interviewer who asks you to implement floating point decimals, or one who wants you to create a programming language from scratch. But 95% of software develoepr interviewers will be some variant of those 5 interview styles.

Systematic preparation

When I first started preparing for interviews, I did the usual thing most of you will do: I'd wait for a week before the interview. I'd go on leetcode and hit "random problem" several times. I'd try to solve the problem for about half an hour, then read the solution. I'd do this for a few hours before I was burned out.

The issue with this approach was two-fold: I wasn't getting better, and I hated it. I did enough cramming of this style to just land my first few initial offers.

As I became more senior as a developer, I started to get better inbound opportunities, and at random points throughout the year. I never knew when I'd get a bite from a company I really wanted to work at, so I needed some way of staying interview-ready without anguish.

Slow and steady

This is how AlgoDaily came along-- I decided to do less, and over a longer period of time. I found the 100 most common whiteboard interview problems, and wrote a script to drip me one a day. It took me roughly 30 minutes a day in the mornings.

For each problem, to make sure I'd remember it, I started writing out an explanation that made sense to me. I added pretty visuals and step-through traces of the solutions so that if I ever came back, I'd immediately be able to "visualize" the solutions in my head.

It's important to note that I only spent about 5 hours max a week doing this. I didn't notice it at first, but this slow and steady system was making me a better interviewer, better developer, and was far more enjoyable.

The best approach is one you can adhere to

With AlgoDaily, we include a course and a newsletter because reducing things down to one lesson a day works. It's an acceptance of being human-- some days you won't feel like doing anything: no problem, reset the day you're on, and revisit the problem at a later time. Other days you'll feel motivated to really put in the work-- jump into our course and try to finish as many lessons and questions as possible.

And we've arranged things to remove any roadblocks. Our material is curated and organized in a sane, level headed way that takes you step by step through landing a software engineering job.

  • With our Technical Interview Prep section, you get the ins-and-outs of how to prepare for your interview.
  • We add an optional Coding Fundamentals With Python crash course, for junior engineers who need to brush up on their syntax.
  • Our award winning Data Structures and Algorithms and Systems Design and Architecture courses go from the easiest challenges and concepts, to the most complex algorithms and architectures, at a gradual pace.
  • Our bonus crash courses in Object Oriented Programming, Frontend Engineering/JS, and Machine Learning Fundamentals hit any niche areas you may need.
  • And for those in a time crunch, our Interview Cheat Sheets by Topic and 60 Day Interview Crash Course give you exactly what you might expect come game day.

We'll send you 100+ of the most common coding interview questions, once a day with visual explanations. Join over 25,323 users who are doubling their salaries in 30 minutes a day.

Latest Posts

Ready for your dream job?

Welcome to the most accessible guide to technical interviews. AlgoDaily was created to be a gentle, visual introduction to patterns around solving data structures and algorithms challenges.

We believe that technical interviews are a matter of practicing well. We've referenced hundreds of resources on habit change, education design, and algorithms to design the best and most streamlined learning experience.

Start learning now

Subscribe to newsletter