Series · 16 parts · about 2.5 hours
35 companies, 8 offers
In March 2026 I rated myself “can’t start” on dynamic programming and statistics. By the end of August I had eight offers and had signed with Google. These sixteen posts are the whole search, in order: how I got interviews, how I prepared, what happened in each round, what the rejections taught me, and how I chose between offers and negotiated. Each part stands on its own, but Part 1 is the map.
- 01 35 companies, 50+ interviews, 8 offers A data scientist’s seven-month job search across 35 companies, ending in eight offers and a Google SWE III role in AI/ML. The funnel, the timeline and the system that held it together.
- 02 From “can’t start” to a plan: baselining for a Google loop How I turned a self-assessment with zeros in dynamic programming and statistics into a ranked prep plan for a Google ML loop, and what happened when the dates kept moving.
- 03 The 10 habits that cost me interview signal Across 50+ interview rounds I tracked ten verbal and structural habits that hid what I knew. Four died, two improved, and four were still there in August. The debrief loop, the drills, and what worked.
- 04 Running 17 interview processes in one month In April 2026 I had live interview processes with 17 companies, 24 rounds and three take-homes in flight in the same week. The operating model that kept it from collapsing, and what I would cap next time.
- 05 Running my interview prep on Claude Over five months I ran more than 500 conversations with Claude to prepare for a Google ML loop and the rest of a 35-company search. The documents, rules and session protocols that made it work, and where the AI coach was wrong.
- 06 Rebuilding a resume that scored 3.5 out of 10 A hostile review scored my ML engineer resume 3.5 out of 10 on how much a hiring manager would discount. Five versions later it was under 2. The teardown loop, the claims that survive a committee, and defending every line in interviews.
- 07 Eighteen days, 102 questions: a DSA sprint Twelve open data structure and algorithm patterns, 18 days to Google’s onsite coding rounds, and a bank of 102 questions mapped to dates. The sprint design, the daily miss logs, and why process gaps mattered more than algorithms.
- 08 The rejections, and the round I thought I had failed Four companies rejected me in a 35-company search, at four different stages. One round I was sure I had failed became an offer. What each rejection taught, and why post-round self-assessment is close to useless.
- 09 Preparing for the Google ML domain round How I prepared for Google’s ML and AI domain round at L4: a topic universe built from the recruiter’s scope, from-scratch implementations, debugging scenarios, resume defense and a week of clean-room mocks. It came back Strong Hire.
- 10 Getting interviews: recruiters, outreach and applications How 35 companies ended up in conversation with me in 2026: applications with a human note, recruiter replies, cold outreach to hiring-side people, warm reconnects, and a portfolio site built in two hours. What worked in each channel.
- 11 Preparing for Googleyness and Leadership How I prepared for Google’s Googleyness and Leadership round: eight stories in a conclusion-first structure, the correction that reversed my “we versus I” rule, metric drills, rapid-fire hypotheticals and adversarial mocks. It came back Strong Hire.
- 12 Four take-home assignments, one workflow Four take-homes in about five weeks: a classification system, a multi-agent research system, an API service and a schema mapper, all built with a two-track Claude and Cursor workflow. Two led to offers. The designs, the evaluation, and defending AI-assisted code.
- 13 Learning agentic AI for an interview in a week After clearing Google’s main loop, I got a team-specific round on agentic AI with about a week to prepare, despite never having used the popular agent frameworks in production. How I mapped my own systems onto their vocabulary, rebuilt sessions that did not stick, and what the mocks exposed.
- 14 The Google loop, round by round Every round of my Google Software Engineer III loop in AI/ML, from the first recruiter call to the signed offer: format, result, what decided each one, and the coding round I passed with a wrong algorithm. No interview questions.
- 15 Choosing between eight offers Eight offers arrived between April and August 2026, at different times, in different shapes, with different risks. How I read each one, the contract clauses I nearly missed, the rule I used to decide, and how I declined six of them.
- 16 Negotiating with Google without a competing offer By the time Google’s offer call came, every other offer I had was declined or lapsed. How I prepared in an hour, which parts of a Google L4 package actually move, how I framed an ask with no competing offer, and where it landed.