I've compiled and curated a list of job hunting resources for software developers, it covers resources for writing resumes, applying and managing job applications, efficient ways to prepare for coding interviews, resources to learn system design, you can download the free PDF here.
Step 1: Learn Basics
- The System Design Primer
- Designing Data-Intensive Applications: highly recommended by many people, it is very helpful especially if you are not familiar with distributed or data intensive systems, note that this book is not intended for interview per se, but it will help you close some knowledge gaps.
- System Design Interview - An insider's guide: The book is geared toward system design interview, it includes a recommended flow of solving a system design interview question, and uses several common questions to explain this flow.
- System Design Interview - An Insider's Guide: Volume 2: The second volume contains much more details than the first book and covers more domains. You can even just use it to learn what aspects to consider when designing for a particular domain.
- PEDALS method
- Google Site Reliability Engineering book
System Design Popular Youtube channels
- InfoQ: It has many great recordings from those who worked on large scale systems
- System @Scale: It has recordings from tech conferences maintained by engineering community at Meta
- interviewing.io: It will share some mock interview recordings where you can observe and hear the feedback from the mock interviewer.
- System Design Interview: It goes over some common system design problem in depth.
- SDE Skills: This community also has regular mock interview sessions
- Exponent: It is the owner of the Pramp mock interview platform, sometime they share mock interview recordings
- Hussein Nasser: He shared videos on common backend system problems, it is not geared toward interviews, but is helpful in terms of learning backend in general
Courses
If you prefer to spend your time efficiently on high quality and well instructed videos, System Design for Interviews and Beyond is created by the same person who owns this System Design Interview Youtube channel(if you ever searched system design videos on YouTube, mostly likely you've seen into this channel before)
Educative also has some system design courses(note its courses is mainly in text)
- Scalability & System Design for Developers
- Grokking Modern System Design Interview for Engineers & Managers
Step 2: Mock Interview
I can't stress enough about the importance of mock interviews, you learn from the feedback, adjust or learn, then rinse and repeat, it applies to system design interviews as well.
You can also set up random peer mock system design interviews on Pramp. However for system design interviews, the feedback is often valuable when your peer is already an experienced engineer, this is not always guaranteed since the platform pairs peers randomly.
I would say try to find people who are more experienced in your network see if they can help with mock interview, but if you think this is your bottleneck, perhaps check interviewing.io to find some experienced engineers to mock and provide detailed feedback with you could be a good investment(they also release some video recording on YouTube)
Other Resources
- Cloud Design Patterns(From Azure)
- Fundamentals of Software Architecture
- Curated list of engineering blogs
If you have seen resources that helped your job hunting process, leave a comment and share with more people :)
Next post I will go over resources for behavior rounds. Stay tuned!
Top comments (0)