Notes on the Industry Job Search
For most of my PhD, the job search in my mind was like a sorting hat
: senior PhD students would disappear (for several months), then emerge with their fates decided. Even as my close friends began graduating and getting jobs, I knew little about what they were going through apart from the occasional proof of life.
When it was finally my turn, the process was far more demanding than I had imagined, and I felt like I was learning the rules of the game while playing it. In retrospect, a lot of my experiences were universal and many of the things I learned along the way now feel like common knowledge. I’m writing this post to share one data point for how the journey can look, and hopefully make the job search a little less mysterious for someone in my shoes not too long ago.
A bit of background on me. I applied for Research Scientist / Member of Technical Staff roles at the end of my 6-year PhD in NLP at the University of Washington. I’ve been in school my whole life, and would have loved to be a PhD student forever except that my advisors eventually nudged me to move on. I spent most of my PhD not thinking much about what I would do afterwards, and I was compelled more by working on fun ideas than anything else. This led to a lot of pivoting, but fortunately I managed to keep a consistent thread in my last two years (on tokenization!) because it coincided quite a bit with having fun, and I think establishing an area of expertise helped me stand out in the job search.
My timeline
The figure below shows my job search timeline (inspired by Nathan Lambert’s post), showing interviews as gray icons and outcomes as colored circles. Note ghosted means the recruiter never informed me about an outcome or next steps, and withdrawn means I politely told the company I was no longer interested after receiving some offers I was excited about. In total, I interviewed at 11 companies over 57 interviews. Not pictured are 46 additional recruiter calls and 16 post-offer chats, plus myriad informal networking conversations leading up to the search.

Company order. I decided when to begin each interview process through some combination of whether I felt ready, pressure from the company, how quickly I expected them to move, how excited I was about them, and less-deliberate factors like procrastination. The common wisdom here is to use a few companies for practice, then time the other processes so that all offers are received at roughly the same time for negotiation purposes. While I think this is roughly right in spirit, there are a few considerations I would add.
- Practice interviews are helpful, but also recognize that your stamina is finite — be careful not to burn out by the time you get to places you really care about!
- There are external factors to timing that are worth taking into account, such as whether the company has headcount and which teams are actively hiring, and this can matter more than your preparation. You can gain some insight into this through your friends and recruiters.
- Deadlines come with a lot of flexibility, so offer timing does not have to be very precise at all. Recruiters recognize you have other processes to finish, and there are various tricks to delay the offer and decision. That being said, there are notorious exceptions (so-called “exploding” offers), so it is important to investigate how much time candidates are usually given to sign.
Getting the first interview. To state the obvious: try to do good work during the PhD, make friends, and collaborate a lot! To get that first interview, sometimes you need to have someone inside the company vouching for you. You can set yourself up for success early on by being social at conferences, collaborating widely, and attending networking events (of course this part doesn’t come easily to everyone — certainly not for me — so take care of your own energy and comfort levels too). During the job search, reach out to people you know (or don’t know) and ask about opportunities. In fact, a big part of the job search is reconnecting with people who you may not have talked to in years — this is okay, expected, and turns out to be a wonderful side effect of the process.
Interview types
I would say there were roughly the following categories of interviews. Overall, technical skills and knowledge are evaluated much more than research experience, though the latter probably gets you the interview in the first place.
ML coding. This was by far the most common. These questions may ask you to implement a given architecture, a decoding strategy, a traditional ML algorithm, or sometimes way more creative things. Being fluent in PyTorch is a must; in rare cases I was asked to use only numpy, for instance when writing the backwards pass from scratch, but I was not expected to be familiar with the numpy syntax.
General coding. Basically LeetCode, sometimes with some extra flavor. It’s good to build strong foundations here because the concepts often show up in ML coding interviews, too.
Technical discussion. These interviews do not involve coding but are very much technical. Sometimes, the interview is an extended discussion around one topic, such as how you would design experiments to answer a particular research question or accomplish a particular goal. The interviewer will generally press you on your design choices and ask you to comment on some hypothetical results and design follow-up experiments. In other cases, the interview consisted of a list of rapid-fire questions (What are some different ways of encoding positional information? What is 5D parallelism? What is the difference between PPO and GRPO?), and the goal was to signal that I knew my stuff. The former type of interview tests how you think, whereas the latter checks your breadth of knowledge on the field.
Research discussion. These are the kinds of conversations we practiced most in our PhD. The interviewer generally asks you to start by telling them about a past project, and the rest of the discussion flows from there. They might also ask questions about other papers on your CV. When preparing for these kinds of discussions, it’s useful to take a step back and think about why you chose to work on the things you did, insights and opinions you’ve developed along the way, and what you view as promising future directions. I also tailored my research pitch depending on the role; interviewers are tired, so hitting the right keywords makes it easier for them to believe that your profile is relevant.
Behavioral. These are totally textbook behavioral interviews, apart from the occasional question about AI safety or societal impacts. Enumerate memorable stories from your PhD and map them onto the common behavioral questions so that during the interview, you can retrieve the right anecdotes instantly. I failed my first behavioral interview because I went into it thinking I’m obviously well-“behaved,” and came up blank on excruciatingly simple questions. Trust me, it is uniquely painful to try to reconstruct hazy memories at the same time as delivering them in an interview, only for the interviewer to say at the end, “You didn’t answer the question.”
Math. Some companies have a math interview, ranging from fun logic puzzles to serious mathematical derivations with pen and paper. I would recommend brushing up on probability, linear algebra, and calculus.
Job talk. There is some variation in what the job talk looks like, but compared to an academic one, it tends to be a bit shorter and focused on a single paper or direction. My job talk was all about tokenizers; I spent most of the time on a first-author work and then covered a few second-author and ongoing works briefly, as fortunately they tied together very nicely.
Preparation
There is truly no better use of your time than studying for interviews. For me, the experience was very much like being back in undergrad: I took notes (see here and here), drew diagrams, did practice problems, and spent entire days in coffee shops making sure I understood fundamental ML concepts inside-and-out. Technical interviews are hard, and the skills being tested require dedicated effort to develop outside of doing research. For me and for most people I talked to, the job search is a full-time job.
I started my process by watching all the lectures from Stanford’s Language Modeling from Scratch course, which is helpful for illustrating the breadth of topics I needed to learn and helped me organize many scattered concepts in my brain into one coherent picture of the field. After covering the basics, I spent the rest of my time deep-diving concepts one at a time by reading relevant blog posts & papers, talking to ChatGPT & Claude a lot, and practicing implementing things from scratch. Homework 1 is crucial: implementing / debugging a transformer comes up so often in interviews that it will pay off massively to turn it into muscle memory and really isn’t worth losing points on. Make sure you are practicing coding with AI assistance completely off to mimic interview settings (you will underestimate your reliance otherwise)!
I found that each interview is unique and can benefit from a little — sometimes a lot — of dedicated preparation. You can usually build an intuitive understanding of an interview’s scope from the provided description, the topics that the company is interested in, hints from the recruiter, and the reputation of the company. When I was in the thick of interviewing, I found that I was constantly swapping information in and out of my brain so that the most relevant knowledge for a particular interview would be fresh. The best way I can describe it is: each interview is a slightly different math or CS class, you never went to lectures, and now you have ~3 days to cram for the midterm.
Day of interview. Perhaps it is because I am getting old, but nothing beats getting enough sleep the night before the interview. I made the mistake of doing my first technical interview on 2 hours of sleep after cramming all the intricacies of LLM inference into my brain — none of the last-minute knowledge came up, and I ended up spending 10 minutes on an off-by-one error because my gears were barely turning. After the interview, remember to record some notes, which will be helpful for your future studying and reflection.
Side benefits. Studying carried enormous side benefits for me. Having a wider breadth of knowledge directly improved my confidence as a researcher. I became more secure in conversations because I was less worried about gaps in my knowledge being exposed, and no longer felt compelled to hide them when they came up. I truly believe that if I had done some of this studying earlier in my PhD, it would have expanded the space of problems I might be able to think about and have ideas in, and certainly the number of conversations I would have sought out. Amazingly, I also found that studying made me enormously more effective at my ongoing project. I was able to have technical ideas that I never would have been able to access before and do more technical work, which was thrilling.
Negotiation
I was shocked to learn that the work is not nearly done after you receive your offers. Instead, there is a (potentially extended) period of time for you to learn more about your options and negotiate your offers. It involves many conversations with potential future teammates / managers, lunch visits, and recruiter calls. At this stage I was managing an overwhelming amount of communication, and there were always emails I was guilty of not responding to.
The truth is that negotiating is hard. Nothing in our PhD prepared us to negotiate million-dollar salaries — and unlike interviews, this part cannot be conquered by studying. Compared to recruiters, you are outmatched in both knowledge of the market and the skill of negotiation, and everyone you talk to wants something different from you. You may be thinking, “I would be happy with my offer and make a decision independently of compensation!”, and indeed it’s great to know your own values! But you’d be doing yourself a disservice if you didn’t negotiate. Initial offers leave room for negotiation by design; recruiters often explicitly invited me to play the game by saying things like, “I don’t expect you to take our first offer.” Putting in energy here for a few weeks can, literally, be equivalent to years of work at the initial offer.
It is really crucial at this stage to lean on your friends for the know-how of interacting with recruiters and for more data points to help calibrate your asks. Before every recruiter call, I wrote down what I was willing and not willing to share, along with quotes I could recite verbatim. In the post-offer stage, I would anticipate questions they might ask and points they might make, and carefully construct responses that I could deliver comfortably while still advocating for myself. Though time-consuming, it is really worthwhile to be deliberate about every aspect of the process.
Concluding words
In this blog post I focused on the concrete parts of the job search, but in reality a huge part of my personal experience was managing all the emotions that come with being on the market. There is a lot of social perception to navigate: it is not a good feeling to compare yourself to your peers, everyone has opinions on where you should or shouldn’t go, and people become unusually invested in how your life is going. I also found it stressful navigating a huge decision space with incomplete information, where small choices with no right or wrong answers (like who to contact when) have an outsized impact. Frankly, I was stressed, miserable, and not functioning in other parts of my life for several months. Hopefully you find more joy, but if not, just know that you are not alone.
I’ve been hurtling towards the end of my PhD for months, and now at the end of it all, I’m immensely sad to leave this chapter of my life behind. The PhD is such a special time, where our only job is to have good ideas and execute them, to learn and grow as researchers, without worrying about imminently securing a real job. So while I hope this post helps you mentally prepare for the future (and I certainly recognize how distracting industry forces are today), I also hope that you can cherish your PhD for the unique time that it is. These goals may be complementary, after all — I consistently found that I did my best work when I was having fun and chasing the questions my mind would not lay to rest.