
After leaving Find AI a few months ago, I decided to look for a job. The last time I conducted a job search was when I graduated from university[1]. Since then, I started my own companies or found job opportunities through my network.
This time, I wanted to make a deliberate decision about where to work. With the current market conditions and growth of AI, I believe many foundational companies are just beginning. Startup jobs offer more than a paycheck—you get stock in the company, making it an investment. I approached my job search like fundraising for startups: running a process, talking to many people, gathering data, and making an intentional decision.
I ended the search by joining Chroma. The process to get there involved almost one hundred interviews, with dozens more declined, and substantial planning on my part.
I hope this post helps those looking for a tech job in the current market.
Summary
- I began the search in NYC, open to onsite NY, SF, or remote positions, targeting Series B to public companies with flexibility
- Cast a wide net and ran a structured process
- Created my resume with Figma and aligned it exactly to my LinkedIn
- Finished with multiple offers (or imminent offers) from Series A to pre-IPO companies that I would have enjoyed working with
- What worked: 3rd party recruiters, pursuing senior IC roles, in-office jobs, AI, and leetcode
Timeline
- Week 1 (Oct 28): Began job search casually. Applied to first role at desired unicorn. Got onsite. Passed technical interview. 2 interviews (same company).
- Week 2 (Nov 4): Rejected from first role. Started applying through application pages. Contacted friends for referrals. Got interview at pre-IPO company. 1 interview.
- Week 3 (Nov 11): Continued reaching out to network for referrals. Studied for coding interviews. 1 interview.
- Week 4 (Nov 18): Technical interview with pre-IPO company resulted in rejection the next day. Responded to inbound recruiter on LinkedIn and paid for ApplyAll. Momentum increased in the second half of the week - more recruiters, more introductions. 13 interviews - half recruiters, half introductions.
- Week 5 (Nov 25): Thanksgiving week - completed 11 interviews in 3 days, with 4 leading to offers or onsites I declined.
- Week 6 (Dec 2): Schedule became full. 27 interviews, including many technicals and follow-ups in the same week. Started declining companies.
- Week 7 (Dec 9): 30 interviews, including multiple technicals. Received two initial offers. Turned down or deferred many interviews.
- Week 8 (Dec 16): Onsite super week - 5 final round "super days", both remote and in-person. Received desired offer partway through, accepted, cancelled remaining processes.
Total: 90 interviews over 2 months. (Peak: 73/mo).
What worked in my process
- Pursuing senior IC roles: The market appears to have many junior engineers seeking jobs, and senior people pursuing management/product roles. Senior and staff engineer openings seemed to be urgent needs for companies with clear value. My main concern with this path was the interview difficulty — "leetcode" live-coding interviews require practice and studying, and take-home projects demand significant time and mental energy.
- Seeking on-site jobs: I remained open to remote work. However, of all companies I interviewed with, only one operated fully remote, and just two allowed remote team members. Tech jobs appear to be moving back to offices.
- 3rd party recruiters: My search transformed when I responded to 3rd party recruiters on LinkedIn. They secured the majority of my interviews. The top three I worked with were Lane, Neil, and Areeb.
- Retroactive continuity when explaining my career: Each interview began with a "Tell me about you" question. I found it crucial to present a coherent narrative of each job, my reasons for taking it, and why I left. My story started with "In college, my favorite classes focused on the intersection of math, business, and software, and each job I've had relates to that . . ."
- A solid case study: Every process required me to present a project, and this project led to offers or onsites. Mine involved starting with a blank figjam and walking through the evolution of an engineering system I built. The presentation took about 30 minutes with no slides, because I knew the system well enough to build it from memory. Only one company requested a second case study (because my first presentation prompted an up-level in banding).
- Warm introductions and cold outreach: Getting introductions from friends to companies proved effective across stages. I noticed that I only got interviews when the referrer also directly messaged the hiring manager, particularly at late-stage companies. I also cold messaged some founders directly, which led to interviews.
- Replying to LinkedIn messages. I didn't mark my profile as "looking for work," but recruiters told me they could see I was "actively responding to messages" which prompted more outreach. So, responding to inbound messages!
- ApplyAll: I tried this friend's product that uses VAs to apply to a hundred jobs. None of my top choices came through this channel, but it created momentum and resulted in interviews with growing companies I hadn't discovered. It proved useful for talking to more companies, maintaining activity, and developing backup options. I think the cost is justified, especially if securing interviews proves challenging.
- Synchronizing final rounds: I arranged to have my highest-priority companies in the same week, which created pressure to complete other processes. Once you receive an offer, there's urgency to accept quickly, so anticipate when offers will come and plan around that. Also, late-stage companies can expedite their processes when informed of time-boxed offers, which can be useful for finishing processes.
What didn't work in my process
- Cover letter + applying through the front door: I wrote over 20 cover letters and applied on job pages for many known companies. Not a single call—even screening—resulted from any of these applications.
- Interviewing with favorite companies first: My first two job processes were both top choices. I got declined from both essentially due to lack of interview practice (one for "you don't know what you want yet," and the other for a leetcode problem I hadn't practiced). Consider scheduling practice interviews or starting with lower-priority interviews.
- Big tech interviewing progresses slowly, and seems designed primarily for people who already have jobs. I was told to expect 3-4 month processes. [2]
Notes for software devs
- Prepare for leetcode. Only one company (a big tech company) didn't require live-coding. I practiced using Leetcode.com. The only assessment I failed was my first one. I completed all interviews in Python or Ruby.
- Questions I encountered: Build sudoku. Build a caching system. Build a way to store time series database. Build a way to update data in a transaction. "Here's a Python repo, fill in some code".
- Over time, I grew to appreciate leetcode because it stays within time limits, whereas take-home projects can consume unlimited time.
- Mood shifts after passing a coding interview. The coding interview functions as a major gate. Before passing, recruiters acted robotically and I couldn't reach hiring managers. After passing, recruiters began calling to prepare me for each call and offered assistance.
- Take home projects ranged from straightforward to complex. Half of companies assigned some form of take-home project. Each required about one full day.
- Take-home project overload becomes real. I accepted most introduction calls. But when companies requested take-home projects, I became selective and declined some projects due to time constraints.
- Specific coding language experience appeared less important. However, most frontends use Next.js and TypeScript, and most AI companies use Python.
Meta observations
- Focus on pursuing companies you want, not just responding to companies that want you. As my schedule filled, I began to process incoming emails automatically. At one point, I paused and cleared my calendar for several days to focus on take-home projects for companies I cared about most. Maintain focus on your highest priorities, not the most frequent communicators.
- Rise of Paraform: Every recruiter I spoke with used Paraform to manage company referrals. This appears to be how companies now find and hire recruiters. If you're hiring, check out Paraform.
- Most jobs relate to AI: The majority of positions were AI or AI-adjacent. Even in Big Tech, the focus was on applied AI.
- Applied "Whole body yes" framework to evaluating jobs. Did the opportunity align with head, heart, and gut? For me, head meant "good and stable compensation," heart meant "culture fit," and gut concerned "future prospects." Matt Yao shared this advice, which I found useful.
- Posted compensation serves as general guidance. Recent laws require most jobs to list salaries. But, if a position says "senior," you might qualify for an unlisted "staff" seniority, making the listed compensation no longer applicable.
- Emerging NYC companies hiring senior talent: New York hs more emerging tech companies than I expected, all seeking experienced engineers. Standouts include: Clay, Ramp, Graphite, Distyl, Stainless, EvolutionIQ.
Conclusion
I hope this breakdown of my job search process helps others. My biggest takeaway is to run a process, talking to as many companies as you can at the same time.
P.S. - Chroma is hiring.
P.P.S. - I added a live analytics page to Contraption Company. It's a fun way to see what's trending and revisit old posts.