I’ve been thinking about how I want to go about sharing my most recent recruiting experience, which I’m documenting for two reasons: 1) posterity – it’ll be interesting to look back on this the next time I do recruiting to see how things have changed, and 2) recruiting is this whole mysterious black box, and I think that interviewers and candidates would both benefit from a more transparent process. We can’t really do that unless we’re willing to talk in detail about what happens, so here’s me trying to shed some light onto it. My hope is that someone reading this might learn something that they can apply to their recruiting process, regardless of which side they stand on.
In total, I talked to 52 companies, did 30 technical phone screens, 10 onsites, and received 6 offers. The full process from starting to study to signing an offer was about 3 months. My pass rate was ~98% for recruiter screens, ~70% for phone screens, and ~60% for onsites. It’s worth noting if you’re doing the math yourself, these numbers won’t add up; I dropped out of some processes at each stage for various reasons (more on why and how this in a specific post coming later).
This is also probably a good place to include a disclaimer that I’m not making blanket recommendations to anyone to copy paste my process expecting the same result (I ended with 6 offers, but the process was very taxing to get there). The role that career plays is different for everyone; I’m sharing my personal goals and experience, and there may or may not be stuff that folks find interesting enough to do due diligence and exploration on!
This will be written as a series of blog posts over a few weeks; I tried condensing everything I learned into a Twitter thread, or a single blog post, but found that it was too difficult to condense without omitting things I found important. This post will focus on the first part: namely, how did I know I was ready for something new, and what did I want in my next role?
Assessing my readiness
There are a lot of frameworks I’ve encountered that are supposed to help pinpoint the inflection point at which I feel like I want a change, but the one that has held most effective for me over time is how I viscerally and emotionally feel when I think about the work that I do. In particular, there are three guiding questions I’ve always found to give me clarity as to how ready I feel for a change that I’ve used for most of my career:
- How do I feel about Mondays? When I find myself looking forward to Mondays, I know that I’m not ready for a change. It means I’m excited about the work that I’m doing and that I’m in a good rhythm of learning and feeling like my contributions matter, and I want to continue to ride out this wave! Of course, a bad week doesn’t mean I kick off a job search. I give the “I wish the weekend was longer” feeling about 2-3 months before I start thinking about something else.
- How excited am I to refer people to my current company? I care about getting good people into good places, and I actively promote companies and hiring managers who I think would be fantastic to work with. Hopefully, this includes my own workplace! If I find myself in a place where I can’t confidently and excitedly shill for my employer, I interpret that to indicate waning excitement about where I’m at. Similarly, I’m curious about talking to employers who people I trust are excited about! This is less important than how I feel about Mondays because what may be a good fit for me, may not be a good fit for others.
- How do I feel about the opportunities I have at work now? Put another way, if future prospects don’t work out in a specific way, will I wish I had left sooner? A lot of people stay at companies in hopes of something happening in the future – they may think that they’re close to a promotion, will get an equity refresh with another round raised, their boss will finally see they are a programming god, whatever. My personal philosophy on this is that the future is never guaranteed, so I usually don’t factor in future prospects in this decision unless there’s documented acknowledgement of the promise. In most cases, there are simply too many factors outside of my control to account for. The most common narrative I’ve heard is “I’m going to look for a new opportunity once I’m promoted,” but after the individual’s promotion is thwarted by a reorg, an overhaul of the promotion process, or a change in expectations, the individual is now understandably upset and feels like they were strung along for several months.
Distinguishing the non-negotiables from the nice-to-haves
When it came time to think about what I wanted in my next role, some of this reflection was done from the perspective of “What don’t I think I can get at my current company, even if I were to change teams or projects?” and some of this reflection was done from the perspective “What do I already have that I would never want to let go of?”. When I thought about the times I felt the most energized and empowered in my career, it boiled down to three non-negotiables:
- A mission or product that I could feel personally invested in: The world has countless problems to solve, and I still feel optimistic that a lot of these can be helped by software. When I thought back to places where I’d felt the most motivated, places that came to mind were those where I loved the product and felt connected to the mission (this cliche happens to ring true for me). Climate change, the healthcare system, and the financial system were top of mind for me because I see these as the three areas underpinning quality of life outcomes for everyone. I especially wanted to focus on companies who were building for underserved communities traditionally neglected by tech. Broadly speaking, the common theme across my interests has always been wanting to create positive impact for someone else’s life.
- Learning and impact opportunities: I wanted to give my intellectual curiosity room to flourish. As someone who has always biased towards action when I see a problem, I was looking for more flexibility and room to take ownership of opportunities to create impact, and to feel that others were energized about making things happen in the same way–even if that meant experimenting outside of our defined responsibilities. I was searching for that energy where people broke down silos and stepped over org lines to move promising ideas forward, or encouraged questioning of existing assumptions in pursuit of better outcomes. Naturally, I gravitated towards a lot of earlier-stage startups as a result of wanting less bureaucracy, although there were some more mature companies that embodied this type of attitude as well.
- D&I as an existing and internalized part of the culture, rather than a vanity metric to optimize for at the company level. I was the only non-male engineer on my former team of 12, and our eng org was <10% women. I’m lucky to have worked with really nice people, but I was absolutely yearning for a place where I felt more represented, especially in positions of power. I actively searched for startups with female founders, CTOs, and lots of diverse engineers, and discussed D&I in every interview to gauge how it was embodied by my potential coworkers.
Things that were important to me, but not dealbreakers:
- I didn’t want to take more than a 10% pay cut in terms of total comp (salary + equity, even if it was paper money). One of the benefits of working at a startup is that early equity can generate outsized returns if the company ends up being successful, and I was more than willing to trade cash and RSUs for that, but not to an extent where I’d need to drastically compromise my existing financial obligations or quality of life.
- Work-life balance: I believe that I operate at my best when I have adequate space away from work, but the balance of time across rest and work is different depending on the type of work I’m doing, and the particular goals at hand. I love losing myself in hard problems, but am easily discouraged when I feel like it doesn’t make an impact, so I was looking for a place that had product-market fit (less thrash), prioritized effectively, and where overwork was an exception rather than the expectation.
- Interesting engineering problems: I wanted exposure to fun and complex technical problems that would afford me a big learning curve, but I’m the type of engineer who will gravitate towards work that has the most impact, rather than work that is interesting for the sake of interesting work. Documentation, testing, and direct customer engagement are examples of things I enjoy that don’t fall under the umbrella of ‘gnarly technical problem’ if I know that they can have an outsized impact. I know many other engineers who would qualify this as non-negotiable! We would bring different strengths to the table.
- A hub in SF, but with the optionality of working remotely. I miss physical offices for their collaboration and organic socialization, but I will admit that my output is higher when I’m working in isolation at home because I’m free of distractions. More importantly, I’ve always believed that companies should support flexible working arrangements because employees know how they work best (and because this disproportionately benefits URGs and parents).
- A business model aligned with the mission: I ideally didn’t want to work at a place that sold user data and ads as the main revenue model, though if I could easily see how much benefit the product created, it could be something that I’d overlook. This is perhaps naive, but I ideally wanted to work someplace where buying and using the product made the world better off.
- Coworkers I could see myself becoming friends with: A good portion of my friends are former coworkers, and if I’m going to be spending the majority of my waking hours with people, I want to feel excited about that. Though I wasn’t looking for a family cult feel, I did feel drawn to camaraderie and forming social bonds with colleagues outside of code review.
- A well-run interviewing process: The rest of the posts are about this, because I learned two very important things in my interviewing process, especially since I’ve been both an interviewer and a candidate now (I was in the midst of designing a summer intern interview process when I was recruiting, and everything I experienced as a candidate funneled into making it approachable and empathetic for candidates). 1) It takes a lot of thoughtful, thorough, and empathetic work to design a good interview process, and even then, it won’t be perfect. 2) From the candidate side, the process (and in particular, the onsite) is where the best signals reveal themselves for what it would be like to work with this company, and what they care about.
It was a helpful exercise for me to identify what my dealbreakers and nice-to-haves were because they formed some consistent principles for my decision making and allowed me to better compare opportunities against each other. Career decisions are important, and now that I’m almost 30 years old, I don’t want to blindly hop from one place to another without defining my goals up front. In contrast to the last time I recruited for jobs (straight out of a coding bootcamp and haphazardly praying that a few places would see enough in my shitty code to take a risk and pay me to get better), I ideally wanted to choose a place where I could see myself staying for at least full 3-4 years (which feels like a decade in software!), so I promised myself I’d make my search intentional and thorough. Spoiler alert: some of my priorities shifted slightly (nothing drastic) over the course of my interviewing; put another way, values I didn’t know how to weigh came into clearer view.
What to expect in coming posts
Here’s what you can expect in upcoming posts if you’re interested in reading about my interviewing experience! I’ll be including resources that I found helpful, as well some thoughts on what I’d do differently for each of these. It was particularly interesting being on the candidate side because I got to see a lot of wonderful, unique ways some companies ran their processes, and I also felt some unexpected pain points. I plan to take both of those in stride to immediately improve the process at my next company (although, perhaps unsurprisingly, one of the reasons I chose them was because they ran one of the most stellar processes)
- How I put together my initial list of companies I wanted to talk to (as in, how I found myself having spoken to 52 companies by the end of all this)
- How I planned out my interviewing timeline, and fit it in with working full-time
- Three types of technical phone screens, and how to prep for them
- What all kinds of engineering onsites are like
- How and why I dropped out of processes I was in
- Negotiating, timing, and choosing between offers
- Giving feedback as a gift
I’m going to try to hold myself accountable for writing at least one post a week, and I’d love to know what you found interesting or bland! If you catch me slacking or simply want to let me know what you thought, you can find me on Twitter @chrystalzou.
Thank you to Rochit Gupta, Cissy Hu, Katy Culver, and Girish Gupta for your feedback on the first draft of this post (in addition to your endless support through my process) 🙂