Today, there's an abundance of interview prep resources. They're everywhere.
Yet, top companies are always short of engineers.
If you look at the interview-to-offer rate at these companies, it hasn't changed much. Maybe by a few percentage points.
Something doesn't make sense! People are preparing much more. Why aren't more people getting offers?
It's not because companies are asking tougher questions. They're not.
It's because now, people are distracted all the time. They don't really know what to study.
I asked a friend how he was studying. Here's his study plan:
- 300 Leetcode Mediums
- Cracking the Coding Interview
- Elements of Programming Interviews
- Youtube videos
- Grokking the System Design Interview
- Google System Design Articles
- .. and 3 other commercial products.
That sounds like a lot, doesn't it? It IS a lot. And it's unnecessary.
You might say - what's wrong with using many resources? If I get good at them, no harm, right? Well, there is harm. A lot of harm. Using so many resources dilutes your attention.
Preparing for an interview is about meeting a bar. You practice problems and get good at them. Eventually, you meet the bar.
Here is what this bar looks like:
Let's say you pick 2 good resources. You do them one-at-a-time. Here is what your path looks like:
Now, let's say you pick 8 resources. And you do them together - which is what most people do. Here is what the path looks like now:
The more resources you add, the more time it takes. Here's why:
- You focus on finishing a resource, but not mastering it.
You go through problems, and after solving them once, you think that's it. In reality, you should focus deeper on each problem and solve it several times to really get the hang of it.
- You keep switching between resources.
This is a big problem. Let's say you struggle with a problem in CTCI. It takes you an hour. You're tired. Now you think - I'm done with this. Let me find something different. Let's lookup a problem on Youtube.
This is tempting, but it's really bad for you. Why? Because when you keep switching resources, you don't make much progress on any of them.
Let's say in 2 months, you keep switching between 8 resources. You look back at how much you've accomplished, and you feel unsatisfied. You haven't finished anything. And you feel lost from all the switching around.
- You don't feel like you're making progress.
During your prep, have you felt overwhelmed and left behind? Do you feel like others are way ahead of you? It's a very common feeling.
When you have so many resources to study, you're always <10% done. And that's really demotivating. You want to feel like you're making progress.
We're seeing this problem with a majority of engineers today. They claim to have done 500 problems, but struggle to solve even an exact problem they've seen before. This is a sign of diluted attention. It's a sign of lack of mastery.
Fortunately, there is a solution to this. And it's simpler than you think. I describe it in this article