Creating a Schedule
Creating a schedule is the most important and most neglected part of the interview process. Without a plan, the job search and interview process is far too open-ended.
What kind of schedules to create
I generally put together two schedules:
- A higher-level schedule. This is the overall timeline of when you plan to start applying, start interviewing, and land a job. This schedule generally spans a few months (unless you urgently need employment).
- A lower-level schedule. What will you be studying each week? When will you be studying? When will you be resting? This lower-level schedule generally spans a week or two.
What if I miss my milestones?
Schedules are a best-guess and are not perfect, but they can help you course-correct. Let's say you plan to start applying in June and start interviewing in July. If you send out tons of applications in June but get no interview by July, then you've missed a milestone—and that's okay! You should do two things:
- Figure out why you missed your milestone
- Adjust your milestones
If you didn't get a response all month, it's possible you need to adjust your résumé to better stand out. Missing a milestone gives you control because you can start course-correcting.
Schedules vary greatly
One of the least fair part about interviewing is the amount one person can prepare varies greatly from the amount another person can prepare. If you are younger and relatively unattached, you may have a lot of free time. If you have a spouse, children, and/or other obligations, it becomes a lot harder. Some people spend 4 hours a day prepping and others can only prep a few hours per week.
Stick to the schedule
You should make sure your family agrees on your schedule and then you should try to stick with it. I have never felt truly prepared for interviews, but you just do your best and dive in. Interviews themselves end up helping quite a bit with prep—you practice communicating, you build confidence, and you reduce your fear of failure.
Example schedule
An example schedule that I have made for myself is below.
High-level schedule
My plan was to start studying in January, start applying in Feburary, start interviewing in March, and ideally accept a job by May.
JAN | FEB | MAR | APR | MAY |
---|---|---|---|---|
Study | Study + Apply | Study + Apply + Interview | Study + Interview | Target Job Acceptance |
Low-level schedule
I time-boxed my prep to Monday, Wednesday, Friday from 8-10pm (after work and after I put my kid to sleep!). Importantly, I scheduled time to not study so I didn't burn out. The following is a two-week schedule that I repeated throughout my prep time.
SUN | MON | TUE | WED | THU | FRI | SAT |
---|---|---|---|---|---|---|
8-10pm (Behavioral) | 8-10pm (Leetcode) | 8-10pm (Knowledge) | ||||
8-10pm (System) | 8-10pm (Leetcode) | 8-10pm (Knowledge) |
If you're junior, you may spend less time (or none at all) on System Design and more in other areas. Importantly, do what feels right for you and adjust as necessary. It's far better to have something imperfect than having nothing at all.