24 September 2025
No. 22
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:
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.
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.
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.).
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:
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:
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:
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).
Imagine a minimal interview funnel:
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.
This is the pipeline I gradually refined over the course of my search.
Its scope is broad:
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.
The first stage in the pipeline is preparation.
For both inbound and outbound opportunities, three things are essential:
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:
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:
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.
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:
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:
For tangible LinkedIn optimizations, I recommend:
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.
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:
Two things to keep in mind before talking with any recruiter:
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.
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:
Sourcing Role Listings
In my experience, sourcing role listings is still a surprisingly manual process.
A couple reasons stand out:
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:
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.
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:
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.
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:
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:
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:
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:
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:
We'll cover negotiation in more detail later. For now, let's talk about scheduling.
Onsite scheduling
When scheduling onsites, I considered two approaches:
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:
Because of this variation, System Design is one of the harder rounds to prepare for. I recommend the following:
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:
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:
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):
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.
To build confidence in a company's valuation, I recommend speaking with two final personas:
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.
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".
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:
A simple spreadsheet works well. Recommended columns:
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.
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.
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:
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.
Below is a Sankey diagram summarizing the stats across stages of my search:
Some market commentary based on my experience:
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.