Interviewing is stressful enough, but interviewing while doing your day job?1 Yikes!
Well, I just did it,2 and I’m here to tell you that it’s totally doable! In this post, I share my thoughts on interview prep, minimizing day job disruptions, keeping up appearances at work, etc.
This last time around the interview cycle, I was still working at a company I wanted to do right by, but a lot of the advice below applies whether your aim is “I don’t want to fuck over my current coworkers” or “I want to not burn bridges so I can get a recommendation from these people in future”. (If you have no fucks left to give about your current job, then go nuts!)
As always, take my advice with a grain of salt, as I have no idea what I’m doing. Got more tips? Leave a comment below! Now, without further ado, I present:
Maia’s Tips and Tricks for Job Hunting While Day-Jobbing
Don’t Panic
No seriously, don’t panic. It’s gonna be okay. You’re gonna start slowly and work your way up to the actual interviewing, you’re gonna be smart about scheduling interviews to minimize disruption of your day job, and you are hireable and desirable and don’t let that little jerk voice in your head tell you otherwise.
Set Secrecy Levels to… Eh, Something
If your current employer suspects that you’re interviewing, it’s not the worst thing3! Don’t go shouting it from the rooftops, and try to be discrete, but also don’t worry too hard about whether you’re being conspicuous. You’re probably being a lot less obvious than you think (your co-workers/bosses aren’t actually scrutinizing you that closely). But also, if someone suspects that you’re looking, whatever.
Remember that you don’t need to explain your “busy” calendar blocks to anyone. Get in the habit early of not offering explanations—instead of “Out of Office (dentist)”, just mark “Out of Office”.
Don’t tell your boss(es) before you’re ready to give notice, but you can absolutely tell one or two trusted coworkers that you’re looking (this can be great moral support). Consider who you will ask for a reference, and consider telling them that you’re job hunting a little in advance of actually asking for the reference.
Minimizing Work Disruptions
Job hunting while working a job is tricky but absolutely doable. There will be some disruption to your day job, but with careful planning and good bookkeeping, you can minimize both that disruption, and the stress and guilt that sometimes comes with it.
Step 1 is to accept that you won’t be doing your day job at full capacity while interviewing. That’s okay. Set expectations at work: keep people updated on your project timelines as they inevitably fall a little behind, and don’t bite off more work than you can chew. Ideally, you can make an excuse of the form “I’ve got some personal stuff going on right now so I’ll be working a little under capacity.” That’s it, that’s all they need to know. Resist the instinct to give more details or make more excuses—you’re allowed to have a life outside of work.
This may be a no-brainer, but make sure that any interviews etc. are marked as “busy” on your work calendar—you don’t want people trying to schedule meetings that you then have to decline. I heartily recommend using Calendly for scheduling.4
To minimize disruption to your workday, take calls/interviews at the beginning or end of your workday if you can (or during your lunch hour). That said, respect your body’s rhythms. If you’re foggy in the mornings or if you start to flag in the afternoons, don’t schedule technical interviews then.
Interview Prep
Timeline
If, like me, you’re super intimidated by the prospect of job hunting, remember that you’re allowed to start slow. You don’t need to be 100% sure you want to leave or completely ready to do an onsite to start doing practice problems or to update your resume.
Something that worked well for me: as soon as I started thinking about job hunting, I put a recurring weekly 1 hour block of “interview prep” time on my calendar. It helped me make a little progress each week, without freaking out at all times about whether I “should” be prepping.
Practice Interviews
Below I give resources that you can use for self-study, but IMHO, by far the best way to prep for interviews is to do practice interviews with a real live human.
Reach out to your tech communities, old coworkers, friends in the industry, etc.—more than likely, there will be people willing to give you mock interviews in any of the above. In general, everyone in tech has had someone help them out in this capacity, so most of us are paying it forward and happy to help others!
What to Prep
A. Resume
Update your resume with all the cool stuff you’ve been doing lately! I recommend writing down all of the interesting projects you’ve done at this job; you’ll only end up putting a few on your resume, but having a list of things you’ve worked on lately will be helpful for preparing answers to behavioral questions (“tell me about a time a project ran long” etc.).
B. System Design
This is a big one the more senior you get. You should be able to talk in broad strokes about how you’d design various systems, and be familiar (at least in passing) with database operations, caching, load balancing, etc.
Resources:
- Awesome System Design
- System Design Primer
- System Design for Interviews
- Grokking the System Design Interview
- Any number of system design/tech podcasts5
C. Coding & Algorithms
I was pleasantly surprised that few of my companies asked me algorithm-heavy “invert this binary tree”-type problems, but it’s good to be prepared. Generally for senior roles, you should focus on being able to code cleanly; narrating your thought process as you go; and discussing the time and space complexity of your solutions.
Some additional things that will help you in coding interviews:
- liberal use of TODOs so you don’t bog yourself down (e.g. “there’s probably an edge case here, but let me finish the rest of the function and I’ll come back to it”)
- willingness to ask questions/use Google/admit when you don’t know stuff (“ugh, is the function
.sort()
or.sorted()
? Well, that’s the sort of thing I’d Google, let’s assume it’s.sort()
for now…”).
Resources:
- interviews.school
- Problem Solving with Algorithms and Data Structures using Python
- Leetcode
- Hackerrank
- Any “Advent of Code” problems
D. Behavioral Questions (aka “Soft Skills”)
Don’t neglect this prep! Take the time to outline answers to the common behavioral questions (“tell me about a conflict you had with a coworker” etc.) and practice talking through them, so you have examples at your fingertips. (If your current company has certain behavioral questions they like to ask in interviews, make sure you can answer all of those.)
In particular, it’s useful to workshop these answers with a friend/collegue/mentor so that you can cast difficult situations in the best light, make sure you’re being honest without being overly critical, etc.
Resources:
Where to Apply
This advice applies to any job hunt, but especially when you’ve got limited bandwidth because you’re still day-jobbing: if you can afford to be picky with your companies, be picky! Narrow your options and don’t try to play the field—move forward with at most 3 companies you’re excited about. (I did 5, that was doable but also pretty stressful).
Don’t be afraid to bow out of the process early with a given company if you’re not excited about them. You can also always put companies on hold, and come back to them if none of your first choice companies work out.
Scheduling Interviews/Timeline
Do your best to keep all of your interview processes in sync with each other: first all the preliminary recruiter chats, and when you’ve finished those, then all the tech screens, and then the onsites, etc.
Be up front about your timeline from the very beginning, and repeat it every chance you get. Setting expectations for “I hope to do all my onsites the week of X and make a decision by Y” will help your interview coordinators help you, and make it easier for you to keep all your interview processes in sync with each other. Remember that the bigger a company, the slower it probably moves, so err on the side of starting earlier with the bigger companies on your list.
On Taking Vacation While Interviewing
If you can take a whole week off of work to knock out all of your onsites, I highly recommend it! It gives you more breathing room, and looks less conspicuous than a smattering of random mid-week days off. Remember, you want to take not only enough time to do the interviews, but also enough time to rest between them.
A note to those with unlimited PTO: take that vacation, yo! Remember, you don’t get paid out for “unused” vacation days, so you’re shortchanging yourself unless you take off the time that you need.
Take a Damn Break
I highly, highly, highly recommend a break between jobs. It’s the only time in this capitalist grind-machine that we get this much time off, so take advantage of it.
I mention this here because the sooner you tell companies about your start date needs, the more likely it is that they can accommodate you (and if they can’t, you can decide whether that’s a deal-breaker). In general, start date timelines can take the form of specific dates (“I want to start on mm/dd/yyyyy”) or intervals (“I want to start six weeks after signing”). I prefer the latter because it’s not subject to getting messed up if interview timelines run long, but it’s worth it to keep repeating to your recruiter, hiring manager, etc. (It’s easy for someone to hear “I want to start 6 weeks after signing” as “I want to start on August 1”, and when your interviews drag out and you sign on July 15, they still think you want to start on August 1.)
In the Interview
There’s plenty of tech interview advice out there that’s way better than what I can give, but I will say: in your interview, don’t shit on your current job. If you have big frustrations, get them out of your system with a friend, and then workshop diplomatic answers to standard interview questions about why you’re leaving, a time you had a conflict with a coworker, etc.
Also, remember that when negotiation time rolls around, “I could always just stay at my current job”is a very powerful bargaining chip. Don’t take that away from yourself even if you have no intention of staying at your current job.
Congrats, You’ve Landed an Awesome Job 🎉
Give your notice, thank your current job (or don’t), consider giving an exit interview with some honest feedback (or don’t)… and celebrate! Take a damn break and relax a little between roles. If you’ve got bandwidth, consider paying it forward by giving some mock interviews to people in your communities. If you’re willing, consider sharing your new salary with friends and old coworkers to make this industry more transparent.
And take a deep breath. You did it, congrats!
-
This post assumes that your day job is also in tech or some field that’s similarly flexible in terms of hours, oversight, taking meetings/breaks/vacation, etc. If you’re hunting for a tech job while in retail etc., I have no concrete advice for you, but godspeed and good luck, and feel free to hit me up for a practice interview. ↩
-
Note that I was interveiwing as a senior software engineer (6 yrs. experience). I think this affected the number of companies who wanted to interview me, and the types of interview questions I got. (For instance, my interviews were more focused on system design and troubleshooting than coding and algorithms, and for more junior positions, I’d probably expect the opposite.) ↩
-
There are of course some toxic workplaces that are the exception to this rule. I trust you to know the answer to this question for your specific workplace. ↩
-
Spring for the pro plan for a month or two, and you can send individual meeting-booking links to all of the recruiters etc. you’re working with, while being sure that nothing scheduled will interfere with anything on your work calendar. ↩
-
I particularly liked using podcasts because it was interview prep I could do while out on a walk, instead of being glued to my computer ↩