Maximizing Your Job Search: Sequencing Your Software Engineering Interviews Effectively
I ended up with multiple >$500k offers and interview sequencing played a major role in my success.
Interviewing is draining
I applied to nine companies and interviewed with all of them over a three-month period. This was exhausting, as I was working a full-time job at the same time. I had to work weekends or after normal work hours to make sure I was fulfilling my obligations at my normal job, as my interviews were taking place during business hours.
I realized early on in my interview process that if I had a one-hour technical interview at 11AM, I wouldn’t be able to work from 9AM — 11AM. I would be stressed, doing last minute coding preparation, and trying to not completely psyche myself out. To avoid this, I aimed to do interviews earlier in the day, with enough of a buffer that I felt fully awake after getting out of bed. That way, I could do regular work during the remaining business hours.
For final round interviews (”onsites”), I had to take a few Fridays off to make the six-hour long interview block work. Some onsites, however, were much shorter and only 3–4 hours; I could get away with blocking my calendar off and then catching up on work after dinner.
Be careful not to take too much time off. Some managers may be concerned if you’re taking too many random days off in the middle of the week. I usually took Fridays or Mondays off to do onsites, so I could focus the rest of the week on my day job.
When should I start doing interviews?
I was confident in my coding preparation; I had gone through the resources listed in my article here and felt I could solve most medium-level questions within 30 minutes. I also knew the patterns for the most frequently asked hard-level questions.
I had also prepared my behavioral questions; I focused on a couple of projects I led and practiced explaining them at varying levels of technical depth. I had several examples of leadership, conflict resolution, and big lessons I had learned from projects that could’ve gone better.
For system design, I read through a few sample answers and resources I mentioned in my article, but I wasn’t confident. I’ll explain more in the second point below.
I’d recommend doing at least a few mock interviews before you get to interviews with the companies you really want to work for.
The Strategy
- Schedule interviews based off interest in the company
- Stack phone screens, take a small break, then stack onsites
- Profit!
When talking with recruiters, I used these guidelines to keep my communication efficient.
1. Start with companies you aren’t as invested in
Do interviews for companies you’re less interested in first. This might seem obvious, but let’s call out the benefits:
- Gain momentum and a confidence boost. Clearing phone screens is a great sign, and it’s always satisfying to see your months of the Leetcode grind pay off.
- Or, if interviews aren’t going well, identify your weaknesses. Maybe the interviewer asked you about a topic that you completely forgot to prepare and now you know you need some extra work there.
- Rehearse your behaviorals. You’ll become familiar with what followup questions interviewers will have for you and how best to respond to them.
- Use offers and “scheduled onsites” for leverage. To get other companies to move faster, you can use some variation of the script:
Thanks for getting back to me. I currently have two compelling offers right now, and four more on-site interviews scheduled. However, <X company> is still one of my top choices. Is there any way we can expedite my interview process to make the timing work? Thank you!
- One of the companies I was planning to use for practice made me an extremely strong offer, which I used to negotiate with a company I wanted to work for. More offers never hurt.
However, it’s important to treat these companies as if you’re really interested in them. Interviewers can tell if you’re not that invested in the company; you need to be able to convince them that you’d be a good fit.
My recruiters were also assessing this pretty often; they wanted to know I was genuinely interested in the company and would accept the offer if they met my asks.
The most compelling reason for this actually came up a few years ago: one company that I had applied to sort of on a whim asked me a question that was extremely similar to one of the onsite questions of my dream company. Had I not gone through the interview experience with that first company, there’s a much higher chance I wouldn’t have received an offer from my top choice.
2. Stack phone interviews, then stack onsites
My strategy was to do all the phone interviews in one go, then do all the onsites. Since phone interviews were primarily testing my coding abilities, I knew I could do all of those first and focus my preparation only on coding and not system design.
After concluding all my phone screens, I conveniently (or not, depending how you look at it), I had some travel planned for two weeks. I asked my interviewers if I could schedule my onsites for after those dates and they happily obliged, since some companies didn’t give me phone screen results until a week later.
I took this time to go deep on system design and did multiple paid practice interviews; I highly recommend using Prepfully, which I described in this article. I further refined my behavioral answers, and did as much focused preparation for each company as possible.
For some companies, the recruiters were willing to tell me the category of system design interview; armed with that information, I could go deeper into preparing for those specific questions than trying to cast a wide net.
Because I was in “onsite mode”, I was keeping myself in shape and didn’t have to rehearse my behavioral answers as much. All I had to do was focus my interview preparation for a given company and scour Blind and Leetcode to see if there were past interview experiences that shed some light on the types of questions asked.
3. Profit!
Since I was doing all my on-site interviews within two weeks of each other, recruiters were more willing to extend offer deadlines by a week or two, rather than over a month, which would have been the case had I just started the process with a company. Some companies were also more willing to increase my offer if I cancelled my other on-sites and immediately signed with them — this may make sense for you, depending on your interest in the company.
After you’ve accepted an offer, take a long, well-deserved vacation. You deserve it!
For more articles like this, follow me on Medium. Not a member yet? Join the community. Want more software engineering interview guides and coding question tips? Check out all of my writing organized by topic in this article.
If you have any requests for what I should write, please let me know!





