In January, my entire team was laid off at NZXT. I had the option to stay longer, but I chose to take a package. Thanks to 5+ weeks of banked PTO and 6+ years of service, I was fortunate to have time to figure out my next steps. I know this kind of time is a luxury, so I tried to make the most of it.
I had already decided to move from engineering management back into an individual contributor role, but boy did that mean I had my work cut out for me. I was throwing my hat into a historically tough engineering job market while making the lateral switch back to an individual contributor after 4 years of not coding as an engineering manager. When I eventually started applying to companies, recruiters frequently wanted to confirm that I had meant to apply for an IC role.
Looking back, I can categorize my time in two distinct buckets.
I jumped into adjacent domains I wanted to dive deeper into. I jumped into new domains I knew little about. I reached flow state and worked late into the night on building or writing. I rediscovered the joy and sense of adventure that comes with programming - understanding a system enough to hypothesize improvements and implement those with great success. I even tackled capture-the-flag-style interview problems just for fun, knowing they likely wouldn’t lead to an interview. Ramp had a particularly fun challenge to decode a message buried in a noisy DOM tree, and completing that did indeed not result in an interview.
I fully remade my personal website. I wrote technical posts about what I was learning. One of those posts even made the front page of r/programming with almost 100 upvotes!
It was actually terrifying to see this many people visiting my website
It’s news to no one that interviewing has been incredibly stressful and full of humbling setbacks. I kept myself going by focusing on consistent improvement, understanding progress is not linear, and repeating to myself that “not knowing something” is a temporary state. However, along with giving myself grace, I was brutally honest with myself about where I was falling short. I kept a ledger of interview failures and focused on fixing my understanding to avoid repeating the same mistakes. I threw any knowledge I needed to retain into spaced repetition Anki flashcards and quizzed myself on subway rides. I tracked every LeetCode problem I’ve done, revisiting problems I had trouble with until I solved them - then again, until I solved them in under 15 minutes. I spent hours verbally talking (not chatting) to AI tools about system design until I could confidently explain how contention issues might make optimistic concurrency control a poor fit or quickly suggest different database indexes to improve read performance.
Some problems I’d return to many times.
Toward the end of my interview cycle, I was confidently passing all of my technical rounds. I would sometimes finish DSA rounds early - I once had 30 minutes to spare that I spent going deep on the role & team. System design interviewers would give me feedback like “that was fun” or “this is basically what we have in production”.
In the end, I was fortunate to receive two strong offers - enough for me to stop interviewing. The first offer I earned from my time being uncomfortable, by showing a depth of experience and understanding that proved I could be successful in the role and beyond. The second offer I earned from time having fun, by doing actual work on real-time services that were directly relevant to this team. Significant portions of my interview loop were spent discussing the “how” and “why” of my relevant personal projects.
I have a number of people I want to thank. A lot of folks gave referrals that often opened doors for me. While I didn’t convert these to offers (thankfully most loops got to onsites 😮💨), all of these experiences helped make me stronger.
Oscar - for sending me a job listing that I got an offer for!
Zameer and Joe - a simple referral would have been plenty but you guys also pushed hard for me internally, for that I am deeply grateful.
Lauren, Jee, Recurse Center (Laura, Sonali), Yujin, Jennifer, Megan, Zach, Lisa, Christian, Connie, Aldrich, Krishanu, Dom, Chen - for believing in me enough to put your name on a referral (or offer to). And some of you multiple times 🙏!
My parents, James, Amber, Lauren, Christian, George, Rui, Julia - for helping me weigh my offers or listening to me process setbacks along the way.
Thank you all — I’m certain none of this would have happened without your support. I owe each of you a drink 😉.