[home]

[latest]

[about]

24 September 2025

No. 22

Documenting my open-market Job Search

Some personal news: I've accepted an offer to join Ramp as a Staff Software Engineer. It seems like a wonderful fit, and I'm very excited to start at the end of the month.

If you're a senior engineer who hasn't done an open-market search in nearly a decade, this post is for you.

Hesitating to run a broad search often means staying underpaid in a role that's no longer the best fit. Here, I share my own search — from prep to offers — along with the exact pipeline I used, tactical tips for each stage, and open-sourced data on today's market. The goal is to leave you with a clear map of how hiring works now, and a practical framework you can reuse with confidence.

Table of contents:

Background

After roughly four years at Jam.dev, I felt it was time for a change.

Four years ago, I simply wanted to improve my Product and Marketing skills, while continuing to do Engineering work.

Coincidentally Dani and Irtefa—the two best PMs I knew from Cloudflare—had been calling me to join their new startup for a year. Their marketing was strong, their product ability was stronger, and we had a proven trust in each other from our days launching zero-to-one products at Cloudflare. It was a great fit.

At Jam, I accomplished my initial goals (Product and Marketing), and then some (Eng leadership).

But over those four years, some things had changed. The pandemic had ended, I had proposed to my then-girlfriend, moved from SF to NYC, bought a condo, and married my now-wife.

There was a tension between my desires and my reality: my financial risk profile had changed, my desired learnings had changed, and covid lockdowns no longer restricted me from working from an office—but Jam was fundamentally a remote company.

Leaving this mismatch unaddressed was painful, so I decided to make the switch.

Goal: Qualifying Success

When starting any process, it's useful to approach it with a goal in mind. Naturally, in a job search, we want to find the best role and secure an offer.

But what "best" means is hard to define. I believe it's not simply the total compensation. So in this stage, I came up with a qualifier to determine which role offers I was most likely to accept.

My qualifier here was personal and likely different from yours. So while I'll share my qualifier (less relevant to you), I'll also share the process I used to derive it, which you can use for yourself.

My qualifier:

I decided that my ideal role would have NYC engineering presence, series C or later fundraising stage, good role fit (people, work environment, learnings — more detail below), and competitive comp.

In the unlikely event that I completed the process with two strong offers that I truly couldn't decide between, I planned to use a long-tail of minor selection criteria to decide (e.g. commute path, office's distance to nearest gym location, etc.).

Determining your qualifier:

I had a two-part process to decide this qualifier. First, I had already introspected to determine what was pushing me to search for a new role.

Second, I had the fortune to bring in a wonderful external consultant who kindly did some pro-bono work:

caption: Caption: A consultant-turned-designer, Martin briefed me on strategy live in FigJam
Caption: A consultant-turned-designer, Martin briefed me on strategy live in FigJam

Before joining Jam, Martin had spent 7 years at BCG, a prominent consulting firm. Martin has a well-structured thinking process, and I was generally curious on his advice, so I reached out to chat with him before taking sabbatical.

During our call, Martin created 6 cards to represent attributes of a role:

  1. Work location: In-person/hybrid (you could change this to "remote", if that's what you prefer)
  2. People and work environment
  3. Learnings
  4. Compensation
  5. Career trajectory
  6. Nature of the work

The above is the ordering that I selected. You can try reordering these to reflect your own preferences. The hard part is that there can be no ties.

I took the editorial liberty to cut and condense this down into three bullet points:

  1. NYC engineering presence (hybrid)
  2. "Fit" (a combination of people, work environment, learnings)
  3. Compensation

In order to more-effectively screen companies, I added "Series C or later" as a requirement. This was a proxy indicator for both my learning and comp requirements.

We now have our qualifier. This will come in handy for both qualifying leads (apply this qualifier loosely) and selecting an offer (apply this qualifier strictly).

Architecture: the Pipeline

Imagine a minimal interview funnel:

  1. Find a role
  2. Submit an application
  3. Interview
  4. Receive the offer
  5. Sign the offer

It works in theory, but has obvious failure points: What if your application is rejected? What if you fail a round? What if the offer is uncompetitive?

The naive solution is to flood the funnel with more applications, and hope a strong offer appears.

But the response rate of direct job applications is not high. If your qualifier is strict, you may have difficulty finding qualified roles. And as a mere human, you do not have infinite time or energy. I believe there is a better solution.

Pipeline Overview

caption: The pipeline
The pipeline

This is the pipeline I gradually refined over the course of my search.

Its scope is broad:

  • Prospecting, qualifying, closing, and negotiation — roles traditionally across: BDR/SDR (junior sales), AE (senior sales), and Deal Desk (sales ops), in a standard sales pipeline
  • SEO (a form of marketing)
  • Due diligence (finance)
  • Contract review (legal)
  • And more...

On top of actually interviewing, of course.

That said, every stage within this pipeline either provided a significant benefit, or was outright necessary to secure the comp and role I was targeting.

Prep Stage

prep stage

The first stage in the pipeline is preparation.

For both inbound and outbound opportunities, three things are essential:

  1. An intro you can comfortably and confidently rattle off.
  2. A resume that showcases your work.
  3. A LinkedIn profile that makes you look like a good candidate.

If you are rusty with leetcode style problems, this is also the time to sharpen up. I set up a weekly practice call with my younger sister, who also works in tech. Most candidates have trouble clearly communicating while coding, so I'd highly recommend pairing rather than solo nonverbal problem solving.

Optimizing your narrative

Do you feel awkward or unrehearsed when asked to introduce yourself? A weak intro can give a bad first impression and start the interview with lower confidence, in turn affecting your performance.

A strong intro, on the other hand, helps the interviewer contextualize your background and better assess fit.

In general, a good intro can cover the following areas:

  • Brief technical overview
  • Key career choices and the reasoning behind them
  • Big wins or standout projects, with relevant business context
  • Why you're interested in this company

To come up with this, look at your resume and connect the dots into a coherent story. If you know someone in consulting, they can be helpful. Consultants are trained to structure narratives effectively.

Here's what my intro looked like:

  1. Broad overview
    • Positioned myself as a "product-leaning full-stack engineer".
  2. Career moves
    • Highlighted my major project at Cloudflare (role + business context), briefly mentioned my 2 intermediate (failed) startups, and explained my transition to Jam — outlining the reasoning behind each move.
  3. Jam context
    • Explained Jam's core product at a high-level, walked through the multi-year roadmap, and described my role in shaping it.
  4. Major project
    • Briefly described and framed the business need behind my most recent large initiative: TLM'ing our new product, Jam for Customer Support.

I didn't memorize this intro word-for-word. This kept it natural, and let me adjust on-the-fly. Since it was on the longer side, I trimmed details if I sensed an interviewer was impatient or less-likely to be interested.

Updating your resume

Plenty has been written about resumes. I'll add just two points I found useful.

First, you can bold text to improve readability. My resume is quite dense. To counteract this, I bolded key points to draw the eye.

caption: Feel free to judge this technique's effectiveness for yourself.
Feel free to judge this technique's effectiveness for yourself.

Second, provide context. The weakest part of most resumes is the lack of context.

If you worked at a startup: what did the company actually do? If you drove a change within a large org: what was its business impact? When possible, reinforce this with metrics. Answering just these two questions helps readers understand both your experience and its significance.

Assume a critical reader will interpret ambiguity against you. Providing context increases your odds of passing a resume screen.

Optimizing your LinkedIn

In today's world, role listings are overwhelmed with applications. Optimizing your inbound funnel is arguably your highest-impact lever — and like it or not, LinkedIn is the most effective tool.

Consider this anecdote:

  • With a referral, I applied to a well-known public ridesharing company 3 times (Staff, Staff, Senior). Rejected. Then again twice more (Senior, Senior), all rejected at resume screen.
  • Later, that same company's recruiter instead reached out to me on LinkedIn about a separate Staff-level role.

In my search, referrals were not more effective than cold applications, whereas inbound consistently surfaced strong opportunities. My take is that during the ZIRP-era tech bubble, rapid growth and low-signal referrals (amplified by Blind users) diluted applicant quality. From my experience, larger companies in particular no longer view referrals as strong signal.

To optimize your LinkedIn, I recommend two key steps:

  1. Think like a recruiter
    • Recruiters use LinkedIn's Recruiter tool to search by company, keywords, job titles, and years of experience. In that sense, I treated my profile as an SEO problem.
  2. Think like a human reader
    • Next, when a recruiter, HM, or interviewer views your profile, what do they see? Profile photo, header, tagline, description, and role description should be clear, compelling, and human-readable. Avoid simply stuffing with keywords.

For tangible LinkedIn optimizations, I recommend:

  1. Profile photo — professional, approachable, and intelligent-looking
  2. Cover photo — visually reinforces your work or industry
  3. Tagline — brief and role-specific
  4. "About" section — balances keywords with clear human-readable content
  5. Experience descriptions — similar to resume entries, concise and achievement-oriented
  6. Skills section — crammed with relevant skills (these are essentially keywords that don't take up space on your profile)
  7. Featured posts — showcase work you are proud of (ideally with media assets, which increase clickthrough rates)
  8. Activity section — professional, or hidden (no dumb comments on friends' posts)

Finally, enable "Open to Work" with settings you're comfortable with. I recommend avoiding the green profile picture banner. Fair or not, it signals desperation, which is negative signal for a candidate.

One caution: after enabling "Open to Work", I noticed a sharp rise in spam calls. To minimize this, remove your phone number from LinkedIn, or disable the setting that allows user lookup by phone number.

Inbound Stage

inbound stage

With your prep complete, you are ready for inbound.

When a recruiter reaches out, their first goal is simply to confirm fit. In most cases, this means scheduling an initial call to cover your background and collect your resume, which will then be screened again by the hiring manager.

If you're working with a third-party recruiter (rather than an internal one), expect a few key differences:

  1. They'll try to match you with multiple companies.
  2. After their initial screen, they'll hand you off to an internal recruiter so the company can integrate you into its pipeline.
  3. Most third-party recruiters function mainly as sourcers — they generally can't answer detailed questions about the company, compensation, or process. (An exception in my own experience was Lewis Fegan, who supported my Ramp process and was excellent.)

Two things to keep in mind before talking with any recruiter:

  1. Screen inbound carefully
    • The biggest mistake is wasting time on low-quality inbound that won't convert. Just as BDRs and SDRs qualify leads before handing them to AEs, you should qualify recruiter outreach before investing time. If you're unsure how, don't worry — after a couple dozen calls, you'll develop an instinct for which messages lead to quality opportunities and which do not.
  2. Present yourself well on the call
    • When you do take a call, speak comfortably and confidently. Share your background without going too deep in the weeds — they'll ask if they want more detail. Be prepared to answer common questions like "What are you looking for?" and "Why are you leaving your current role?" (I cover my answers to these in the section on qualifiers above).

Practical tip: Save the recruiter's number as a contact. This helps distinguish scheduled calls from spam, and reminds you of their name and company when you pick up — especially useful when calls are back-to-back.

Sourcing Stage

sourcing stage

The purpose of sourcing is to gather intellilgence needed to enable outbound.

Outbound is the act of reaching out: crafting the pitch and sending the email. Sourcing, by contrast, is the preparation: identifying the right person to contact and the right context to frame the outreach.

There are three main types of sourcing, best tackled in this order:

  1. Role listings
  2. Relevant cold contacts
  3. Relevant 1st-degree connections

Sourcing Role Listings

In my experience, sourcing role listings is still a surprisingly manual process.

A couple reasons stand out:

  1. No single aggregator for all roles (LinkedIn does well, but doesn't have everything)
  2. Poor search filters and discovery (even LinkedIn struggles with filtering its own content)

Despite this, it's worth the effort. Sourcing roles feeds directly into the next two sourcing steps: cold contacts and first-degree connections. Without a qualified role, you don't have a reason to run outbound in the first place.

Today, LinkedIn Jobs is probably the best broad aggregator. Beyond that, think of specific companies and check their careers pages directly. You can also borrow sourcing tools from other domains — for example, Crunchbase (venture) or Apollo (sales) — to expand your search. I'll cover more on that in the cold-contact sourcing section below.

As part of role sourcing, the next step is to apply your qualifier to decide whether a role is worth pursuing. This doesn't require the full rigor of your final criteria. A lighter version is enough (e.g., assume more comp flexibility, or allow for a weaker NYC engineering presence). Casting a slightly wider net both increases options and provides better market signal.

As you begin identifying relevant roles, it's also useful to start tracking them systematically. I cover this in more detail in the "Monitoring System" section.

Sourcing Relevant 1st-degree connections

With a list of roles in hand, the next step is to see if you know someone to reach out to. On LinkedIn, this is straightforward: search the company and see if anyone in your network works there.

Sourcing Relevant Cold Contacts

But first, why do we even bother with cold contacts?

To explain why sourcing cold contacts matters, we also have to acknowledge its counterpart: cold outbound. Unfortunately, the idea of sending cold outbound makes many engineers recoil.

The good news is, you don't need to do much. In my entire search, I sent just two cold emails.

One email went poorly. Everything from targeting (director without an open Staff role), to addressing (mail bounceback on first attempt), to the actual contents (uncompelling copy) were bad. Predictably, it received no response. It was a low-effort cold email, and it was a waste of time.

The other email got me into the pipeline for one of my top choice companies (one of the two leading AI startups), and matched me with the exact team I was interested in. How? I cold emailed the HM with compelling pitch for a role he was hiring for. It was a high-effort, well-targeted email, and it was very effective.

So, cold outbound can be very effective. But it also needs to be high-quality.

The most important part of sourcing is finding the right person. Who's more likely to respond to a cold email: a random engineer, or the hiring manager actively looking to fill the exact role you want?

Additonally, why are you emailing them? Why is their team interesting? Why did their company catch your eye? Targeted cold outbound comes off as genuine interest, while untargeted cold outbound comes off as spam.

On tools: aside from LinkedIn, I recommend Apollo over Crunchbase. Though built for sales, Apollo is excellent for sourcing both companies and contacts, and even role listings. A few killer features:

  • Office-level filtering: Crunchbase limits you to headquarters, but Apollo lets you filter by any office location. This is invaluable when targeting NYC offices for SF-headquartered companies.
  • Role-level filtering: Apollo can filter for companies with open roles by title and location. In fact, I found LinkedIn postings through Apollo that LinkedIn itself failed to surface in search.
  • Contact discovery: Apollo also surfaces company contacts and associated work emails.

Outbound Stage

outbound stage

With roles and contacts in hand, it's time to run outbound.

Direct application

The simplest form of outbound is filling out an application form and hitting submit. Because the barrier to entry is so low, these channels are flooded, so success rates are generally low.

That said, here's one useful LinkedIn-specific tip: even without Premium, LinkedIn shows how closely your profile matches a role. While recruiters may not see this score, it's a reasonable proxy for how your profile ranks in their searches. Conveniently, the match score updates when you add skills. This means that every job listing can be treated as training data to fine-tune your profile and increase inbound.

sales-before
sales-after
Before and after: adding a "prospecting" skill to your profile, and checking the role fit score.

Cold outbound

Cold outbound is extensively covered in the sales world, and there are resources written by people far more knowledgeable than myself. My simple advice is this:

  • Provide context: why are you reaching out to them?
  • Provide background: why you?
  • Make a clear ask: define the next step, and keep it low-effort.

Then... send the email. Don't overthink it, and keep expectations low — after all, how many cold emails do you reply to?

Warm outbound

Warm outbound should feel like asking a friend for a small favor. Pop in, say hello, request a referral, and keep them updated as you move forward. Keep it light: not transactional, but not an essay either. They're likely busy, and this is still a work-related request.

The primary goal of warm outbound is usually a referral. In my case, though, referral success rates were about the same as cold applications (see the Sankey diagram below).

That said, reach out anyway. And once you're later in the process, call them, catch up, and ask for their perspective. It's always useful to get insider context on the team and company. I cover this further in the "backchannel diligence" section.

Company Interview Subpipeline

company interview stage

Each company runs its own interview process, which I'll call the company interview subpipeline: this spans everything from the initial recruiter screen to team matching.

Naturally, this means the diagram above will vary in practice. A few examples I encountered:

  1. Async coding screens before live coding screens (ranging from leetcode-style automated assessments to manually-reviewed CTF submissions)
  2. Hiring manager calls before technical screens
  3. System Design interviews as the first technical round, before the onsite
  4. Informal team matching prior to onsite (not uncommon, often with the hiring manager conducting the onsite leadership round)

With that variance noted, let's now walk through the standard interview pipeline.

Internal Recruiter Screen

The internal recruiter is your first real company contact. They begin the process with a screening call.

Recruiters aren't exactly your friends, but you should be friendly with them. They prep you on what to expect, are your point of contact for urgent updates or scheduling changes, and serve as your first-line advocate in negotiation.

An internal recruiter screen is similar to a third-party recruiter call (covered earlier), but here you can ask substantive questions about the company, process, or team.

Use this call to gather details that matter to you. For example, if you're screening companies based on equity liquidity, you'll want clarity on structure:

  • Public stock (e.g. Google, Meta, Uber)
  • Standard 7-year RSUs (e.g. Ramp)
  • ISOs with a long post-termination exercise window (e.g. Hightouch)

Recruiters often confuse PTEW with vesting schedules, so you may need to push for specifics. In my case, I discounted equity value by 50% for companies offering ISOs with <7-year PTEW.

Sometimes this call is run by a junior recruiter or coordinator, who may later hand you off to a senior recruiter. Junior recruiters often can't answer detailed questions, so save those for the next stage.

Recruiters may also ask for your salary range, or share theirs and ask for feedback. At this stage, I answered honestly and said I was prioritizing fit over comp, and would look at numbers later. This helped keep my options open and gave me more market data. You can always decline to proceed later. To pre-screen roles with obviously below-market comp, check salary ranges on job postings or use sources such as levels.fyi.

You may get rejected after this stage for two common reasons:

  1. Salary expectations too high (if you've stated them)
  2. "Not a good fit": typically after call, recruiter passes resume to EM, who decides to pass. (Especially if headcount is limited)

Core interviews

One tip for everything after the recruiter screen: do light background research on your interviewers.

Before each call, I'd skim my interviewer's LinkedIn profile. This gave me a sense of their focus areas, but the main benefit was in shaping my post-interview questions. I found it valuable to hear their personal anecdotes — especially around role transitions — as it helped me understand their perspective and how they viewed their own role.

Tech Screen

The tech screen is usually a straightforward coding round, typically one or two medium-level leetcode style questions. That said, my tech screens and coding rounds often leaned towards practical problems.

I recommend the following flow:

  1. Clarify the problem
    • Ask questions, get details on the problem, confirm your understanding.
  2. Walk through examples
    • Test understanding of normal cases, and confirm expected behavior for edge cases.
  3. Talk through your solution verbally
    • I recommend commenting this out as you walk through, so you can implement code from your comments.
  4. Implement the solution
    • After confirming your interviewer understands and agrees, you can code out the solution.
  5. Validate the test cases to confirm correct behavior
    • You can either do this manually, or by writing tests. Check with your interviewer on what they prefer. On top of any pre-supplied test cases, add your own test cases here to ensure confidence.
  6. Refine and optimize
    • Often, there are still optimizations left (code quality, runtime performance, memory, etc,). You can ask your interviewer what they'd prefer you to dig into.
    • Alternatively, you may have new follow-up requirement to implement, for which you can repeat the above steps until completion.

Anecdotally, I found tech screens and coding rounds to be the most relaxed interviews. The structure is clear, and once the solution and optimizations are complete, the remaining is free for you to chat and ask questions.

Onsite

In most processes, once you pass the tech screen you move to the onsite. Scheduling the onsite, however, involves strategy of its own.

Negotiation depends on having viable alternatives — that's what gives you leverage. Onsite scheduling affects this in two ways:

  1. Offers expire — you can't hold them open indefinitely.
  2. Leverage peaks right after an offer — the best time to negotiate is immediately upon receiving one.

We'll cover negotiation in more detail later. For now, let's talk about scheduling.

Onsite scheduling

When scheduling onsites, I considered two approaches:

  1. Clustered onsites
    • All onsites are grouped within a 1–2 week window.
    • The main advantage is efficiency: you can take a single PTO block and complete multiple onsites without disrupting your day job.
    • The tradeoff is that you only get one "snapshot" of the market, with limited room to adjust if better opportunities appear later.
  2. Rolling onsites
    • The pipeline never stops: sourcing, inbound responses, and tech screens continue while you move through onsite rounds.
    • Early onsites are clustered, but additional onsites are scheduled as opportunities arise. This keeps multiple offers in play, collects more data, and retains ongoing leverage for negotiation.
    • Lower-priority roles are often scheduled first, giving you time to practice before interviewing with your top choices.
    • Conceptually, this is similar to the secretary problem: you keep sampling until you're confident you've seen enough of the market. This strategy is especially useful if you're unfamiliar with current conditions.

I chose rolling onsites, the safer but more-demanding option.

Unfortunately, a series of life events cut into my timeline (more on that later). To stay on track with my three-month timeline, I condensed the schedule: some days included two onsites, or an onsite plus recruiter and tech screen calls. My instant coffee consumption probably went up tenfold for a month or so. Still, no regrets: the results were worth the sleep debt.

Coding Round

The coding round is usually the first onsite round. For whatever reason, it often gets scheduled earlier in the day.

It's similar to the tech screen, with one key difference: you may have a shadow interviewer. This slightly changes the dynamic during post-interview questions.

For deeper conversations, direct your questions to a specific interviewer based on their background. But you can also ask quick, open-ended questions that invite both to respond. For example: "In terms of resourcing, would you say your current team is bottlenecked on engineering, product, design, or something else?"

System Design Round

System Design interviews vary widely. In my search, I encountered differences in:

  • High-level format
    • live system design vs project retrospective deep-dives
  • Low-level format
    • whiteboard vs written document
  • Area of focus
    • fullstack product engineering vs backend infrastructure

Because of this variation, System Design is one of the harder rounds to prepare for. I recommend the following:

  • Speak calmly and confidently, this has a strong impact in qualitative rounds.
  • Explain tradeoffs when selecing an option.
  • For product-leaning interviews (e.g. Meta Product Eng), start by defining the product domain, outlining business requirements, and clarifying constraints and upstream APIs. These often have flexibility, which lets you simplify your design.
  • Surface risk explicitly. When adding a component that introduces risk, point it out and explain mitigation.
  • Review your past projects. Know not just the architecture but also the business drivers, timeline, and impact.
  • Refresh scaling fundamentals, e.g. Kafka and similar tools: review internals, failure modes, and usage patterns.

For structured practice, I recommend hellointerview — both for their interactive practice problems and their YouTube walkthroughs.

Leadership or Collaboration Round

This round is meant to judge your leadership and collaboration skills. It is typically conducted by your HM or an equivalent engineering leader.

The STAR format (Situation, Task, Action, Result) is a common recommendation for answering questions. Think of it as a guideline rather than a strict rule. What matters most is providing clear situational context and walking through your structured thought process. The goal is to leave the interviewer confident you'd be a capable teammate or leader, can influence without authority, and make pragmatic, well-evaluated decisions.

Anecdotally, I've found it useful to talk with people from finance or operations backgrounds: they often think in more process-oriented ways than early-stage engineers, which can help you verbalize your own processes.

For Staff-level interviews, it also helps to have well-formed views on leadership and management philosophy. Personally, I've always enjoyed organizational theory and human dynamics, so these were fun interviews for me.

Team Matching Call

Team matching is usually the final step before an offer. By this point, you've already cleared the interviews. The purpose here is for both you and the hiring manager to confirm mutual fit.

Treat this call as your opportunity to interview the HM. Come prepared with questions on topics like team and org structure, role expectations, past challenges, and the roadmap ahead. This is your chance to understand what it would actually be like to join the team.

To make the most of it:

  • Prepare questions in advance.
  • Keep a notes doc open to capture details.
  • Approach the call with neutral expectations.
  • Do deep background research on your HM. (For example, before my Ramp team-matching call, I looked into my HM's previous startup, their past role transitions, and carefully read several posts on their personal blog.)

Verbal offer number call

The verbal offer call is unique: it's part of the company's interview subpipeline, but it also marks the start of your diligence and negotiation stages.

From the company's perspective, the call is a quick touchpoint to check your flexibility on numbers, build excitement, lightly sell you, and answer surface-level questions.

From your perspective, two things matter:

  1. Negotiation
    • The numbers presented act as an anchor. Your response signals how much flexibility you have.
    • My approach: take the numbers, write them down, and thank the recruiter. If pressed on an opinion, I'd say I was waiting on additional data points for comparison, which was true.
    • The energy you show in your response should be balanced:
      • Show too little enthusiasm, and they may see you as a lost deal—not worth fighting comp committee for.
      • Show too much, and it signals emotional overinvestment and lack of options, weakening your leverage at the negotiation table.
      • The reason you state for your excitement is a key lens into your decision-making framework. Give excitement grounded in reason, rather than under-explained emotion, if you want to signal seniority and build trust.
  2. Direct diligence
    • The recruiter is a resource. Use this call to gather information that matters to you.
    • My focus was on equity, since most offers I received were late-stage private equity. I recommend asking for, at minimum:
      • Past 5 years of ARR data
      • Equity details (RSU vs. ISO, vesting schedule, PTEW duration)
      • Anecdotally, companies with strong financials share them readily. Companies with weaker numbers often hedge and pivot to "future growth story" narratives instead.
    • This is a good time to mention scheduling calls with the rest of the team, part of your direct diligence covered below.

Direct Diligence

direct diligence stage

After compensation discussions, my next step was meeting the team I'd be working with. Since this stage takes about as much time as an onsite, I prioritized it only for offers I was most likely to accept.

Who to meet (in order of priority, especially the first two):

  1. Engineering leadership (CTO, Head of Eng, or VP)
    • Purpose: understand how engineering is run as an org, and get a read on your leadership chain.
    • If you don't respect your leadership chain, you'll have a bad time. This call lets you gauge whether leadership feels out of touch, or conversely too in-the-weeds.
  2. Product counterpart
    • Purpose: get the most realistic view of how the business is run day to day, at the ground level.
    • As a Senior or Staff product engineer, your PM is often your closest collaborator, so their perspective is critical.
  3. Engineering peer
    • Purpose: understand what the role feels like from the inside.
    • Ask about what they enjoy, what challenges they face, and what you should watch out for.
  4. Engineering junior
    • Purpose: get an unfiltered sense of how the org treats new talent.
    • If juniors are under-resourced or poorly treated, that's a red flag — the canary in the coal mine.

Since scheduling these conversations isn't automatic, you'll likely need to ask your recruiter or set expectations during the verbal offer call. Don't skip this step — it's the data you need to make a confident decision.

Backchannel Diligence

backchannel diligence stage

To build confidence in a company's valuation, I recommend speaking with two final personas:

  1. An investor
    • Ideally a friend in VC (or, if not, other late-stage founders).
    • The goal isn't a detailed model — just an honest, high-level perspective on the company's financial trajectory.
  2. A customer
    • Customers reveal where a company may be cutting corners.
    • Downstream complaints often signal upstream issues.

In Ramp's case, I spoke with both VC friends and a former skip manager who had worked with them as an enterprise customer. The feedback was strong: some literally said "I love Ramp", while others said Ramp was great but also pitched one of their portfolio startups (also a good sign).

Taken together, these conversations were a useful gut-check to confirm I wasn't missing any red flags from either the customer or investor perspective.

Negotiation

negotiation stage

Negotiate comp

Once you're confident in the company and role, it's time to lock down your numbers.

Candidates love the idea of a bidding war between companies. HMs and recruiters dread it. In my case, I had other strong offers, but with Ramp I wanted to maintain excitement on both sides — it felt like a great fit, and their offer was already competitive.

My strategy was to define the numbers I'd be comfortable signing even without every offer in hand, and present those as my "yes numbers". I added the caveat that I was awaiting another hiring committee decision for a top-choice role the following week, so my stance might change by Monday. Ramp moved quickly: same-day approval came through within hours.

Negotiate contract

Once you have the contract, read it carefully.

Even at this stage, you still have negotiation leverage: the hiring manager and recruiter want to close the process as much as you do. That said, any new ask typically involves legal, which adds friction and can slow things down.

In my case, my contract came in on Friday. Everyone wanted to close before the weekend. I quickly reviewed it and decided to use my leverage on a single ask. However, in my rush to close (and with ChatGPT's half-baked contract advice), I asked for an equity clause I didn't actually need... The contract already had better terms. Because I framed it as my "will sign" ask, I lost some opportunity to negotiate further. That said, the fairness of the equity clause and smoothness of the email thread with Legal gave me more confidence in the company.

And with that, I signed! Officially a "Rampling".

Monitoring and Incident Management

Visibility into your process is essential. Many applicants rely only on their email inbox, but a smart candidate builds a dashboard.

Your dashboard should answer key questions such as:

  • Which companies am I actively interviewing with right now?
  • Where is each company in the process?
  • When was the last time I heard from them?
  • What are my top 5 active companies, ranked by expected total comp or base pay?
  • Which companies do I plan to get referrals for?

A simple spreadsheet works well. Recommended columns:

  • Company name
  • Expected level
  • Process stage (see picture below)
  • Date of latest update (last email, application, or interview)
  • Compensation numbers
    • Early: expected TC and base
    • Later: final TC and base for comparison
  • NYC office (or whatever your key location criterion is)
  • Outbound method: referral, direct apply, cold outbound — as well as contact name, if applicable.
  • Notes

Each time you source a company or receive inbound, add a row. Update it whenever the status changes, e.g. a new interview scheduled or an email from a recruiter.

I started with a simple Google Sheet, one company per row. It allowed for fast entry, easy sorting, and a quick at-a-glance view of my pipeline.

caption: Numeric prefixes: Adding a numeric prefix to the process stage column enables ordered sorting.
Numeric prefixes: Adding a numeric prefix to the process stage column enables ordered sorting.
caption: Conditional formatting: Applying formatting to the "date of latest update" column gives you instant visibility into which processes are moving and which ones may need a follow-up.
Conditional formatting: Applying formatting to the "date of latest update" column gives you instant visibility into which processes are moving and which ones may need a follow-up.
A couple useful spreadsheet tricks.

Later in my process, I switched to Notion. It was slower to update, but had one killer feature: a proper notes document could be embedded directly in each row. The ease of organized note-taking justified the switch: for every recruiter call, interview Q&A, or HM conversation, I could quickly open the linked doc to take notes or reference pre-written questions.

Incident playbook

During my three-month search, I faced both planned disruptions (a months-long home renovation) and unplanned crises (medical issues, bathroom leak into a neighbor apartment, and a major family emergency abroad).

The small silver lining was that none of these incidents caused me to lose offers. By proactively communicating updates and setting expectations, I retained trust, and recruiters remained flexible and friendly, even when quickly pivoting.

When communicating a process change, I recommend the following:

  1. Give context
    • Explain why a process is being paused, without oversharing.
  2. Give expected timeline for resolution
    • Even a placeholder like "I'll update by EOD tomorrow, nothing resolved yet" maintains trust.
  3. Set expectations around responsiveness
    • If replies will be delayed (e.g., different timezone, other priorities), state it upfront.
  4. Track status
    • Mark paused items on your dashboard so you can unpause quickly once things stabilize.

I applied this approach across both professional and personal stakeholders to keep everyone aligned. For example, when I flew unexpectedly to Vietnam, I paused more than seven active company processes and notified all parties. On return to JFK, I immediately restarted: scheduling three onsites and several calls in the first week. For slow processes, I was able to apply timeline leverage using existing offers and an ongoing team-matching process with a major social media company.

Numbers and Market commentary

Below is a Sankey diagram summarizing the stats across stages of my search:

caption: Note: for simplicity, nonstandard stages have been normalized.<br/><br/>Second note: the "Paused" stage corresponds to stages left in a paused state until offer signing, all other processes were unpaused.
Note: for simplicity, nonstandard stages have been normalized.

Second note: the "Paused" stage corresponds to stages left in a paused state until offer signing, all other processes were unpaused.

Some market commentary based on my experience:

  • Large orgs are slowing hiring, while smaller orgs remain more nimble.
    • Public companies seem more exposed to recent macroeconomic shifts than startups.
  • Hiring is consolidating around core offices and proven models.
    • Just as investors retreat from risk, orgs appear to pull back to their strongest locations (often in-person, HQ offices).
    • Anecdotally, one of my largest orgs stopped ingesting new NYC-based candidates — fortunately after I had entered the pipeline.
  • Physical onsites have mostly disappeared, except where relocation isn't required.
    • Across dozens of processes, only one strongly pushed for in-person onsite, and only a handful even offered it as an option.
  • Base salary and equity strength tend to correlate.
    • Successful startups tend to outperform on both cash and equity, likely because less funding pressure frees budget for hiring.
  • Companies that are hiring may be struggling to fill roles.
    • Many roles had 3+ separate independent recruiters reach out over the span of my search, a handful had 5+. This suggests difficulty closing candidates.
  • AI is slowly entering more processes, but is not very common.
    • Only a couple companies allowed or encouraged AI as part of their process.
    • Ironically, none of the foundational AI companies permitted AI in their own processes.

Afterword

The best advice I received was simple: protect your mental clarity. Find an activity that restores your energy and make it routine. For me, it was long walks in the park, often while calling a friend or mentor. Martin used mountain biking to the same effect. Anything that combines light cardio with a flow state seems to work well.

Don't forget your support system. I leaned heavily on my wife, friends, mentors, and former colleagues for advice and sanity. Though the outcome was positive, there were plenty of ups and downs from both life and the process itself.

If you enjoyed this post, consider sending it to a friend.

Want an email when new posts come out?
(Roughly twice a year)