Now comes the hard part. The part you were dreading. The part that has tripped you up so many times before.
It’s not the coding interviews.
Yes those are no joke. Yes you need to make sure you prepare. But they’re a known quantity.
You can go to Leetcode and find practice problems.
You can learn strategies and take courses.
You can do mock interviews.
You know when you answer the question whether you solved it correctly or not.
There’s no grey area. Either you fully optimized the solution or you didn’t.
But system design…
It’s like walking into an exam where no one told you what to study and you have no idea how they’re going to grade it.
How do you even prepare for something like that?
Of course the answer is obvious. Just study everything.
But as you start to dig in, you realize how naive your expectation was.
By the third page of Designing Distributed Systems, you’re already lost.
How the hell are you supposed to remember all this stuff?