Your senior engineer candidate said yes, gave notice, and then called back two days later: their current employer matched your offer and added a title. Most of the time, the right move is to let them go politely, not to start a bidding war. A counteroffer fight is a fight about money, and an early-stage startup almost never wins a money fight against an employer that just decided this person is worth keeping. What you can do is make the counteroffer less likely in the first place, and make sure losing one candidate does not reset your search to zero.
Why counteroffers land so often with engineers
From the current employer's side, a counteroffer is cheap insurance. Replacing a senior engineer means months of recruiting, a ramp-up period, and the risk that the knowledge in that person's head walks out with them. Paying an extra 10 to 20 percent to avoid all of that looks like a bargain to a manager who just found out their best person is leaving.
From the candidate's side, a counteroffer resolves a lot of anxiety at once. They keep the codebase they know, the colleagues they trust, and the reputation they have built. They get the raise they were probably underpaid for. And they avoid the real risk of joining a startup that might not exist in two years.
Your offer was competing against all of that, not just against a salary number. If the only thing that moved the candidate toward you was money, a counteroffer will move them right back.
What actually drives a counteroffer decision
When I talk to engineers who took a counteroffer, the reasons cluster into three groups:
- The reason they were leaving got fixed. If they were leaving because they felt underpaid, and the counteroffer fixes the pay, the push factor is gone.
- The reason they were joining you was thin. If they never got a real picture of the problem, the team, or how decisions get made at your company, the pull factor is weak.
- Risk aversion won late. Resigning makes the move real. Some people only feel the risk of a startup once they have said the words to their manager.
You cannot control the first one. You can control the second one completely, and you can reduce the third.
Prevent it before the offer goes out
The best time to deal with a counteroffer is during the interview process, not after the resignation.
Ask the question directly
Somewhere in the final round, ask: "If your current company offered you more money to stay, what would you do?" Most candidates have thought about it. A candidate who says "honestly, I would probably think about it" is telling you that money is the main reason they are leaving. That is useful to know before you spend a week on references.
A candidate who says "they cannot fix what I am leaving for" and can name the thing, such as no ownership, a slow release process, or a product they do not believe in, is a much safer bet.
Sell the job, not the comp
Make sure the candidate leaves the process able to explain in one sentence why this role is better for them than their current one, for reasons other than pay. That usually means they have met the founders, seen the actual code or architecture, and understand the first three problems they would own. If you are not sure you can describe those problems clearly yet, that is a sign the role is not ready, and a good reason to read what to put in the first engineer job description.
Do not make the offer the first time money comes up
Talk ranges early. A candidate who has agreed to a range before the offer is less likely to treat the offer as an opening bid, and less likely to take it straight to their manager. Our notes on winning a senior engineer offer go deeper on structuring the offer itself.
Prepare them for the resignation conversation
This sounds manipulative, but it is just honest. Tell the candidate: "Your manager may make you a counteroffer. Think about what you would say before you walk in." Engineers who have decided in advance usually hold. The ones who get ambushed are the ones who waver.
When the counteroffer arrives anyway
You will still lose some. When the call comes, you have three realistic options.
Option 1: Let them go cleanly
Thank them, say the door is open, and move on. This is the right answer most of the time. If you match, you are paying more for a person whose commitment you now have reason to doubt, and you have reset your salary bands for the rest of the team in the process.
Option 2: Make one meaningful adjustment
If you genuinely underpriced the role, and the counteroffer showed you that, it is reasonable to make one adjustment. Not a sequence of small bumps, which turns the hire into an auction, but one move that reflects what you now know about the market. A one-time signing bonus can bridge a gap without permanently inflating your salary structure. Equity can help, but only if the candidate actually values it; many experienced engineers have seen enough startup equity go to zero to discount it heavily.
Set a limit before you call them back, and stick to it.
Option 3: Change the role, not the price
Sometimes the counteroffer is about scope, not money. If the current employer offered a staff title or a team, ask whether the candidate wants more ownership. You may be able to offer a clearer path, for example being the person who hires and leads the next two engineers, that a large company cannot match quickly. Only offer this if it is true. Promising leadership you cannot deliver creates a bigger problem six months later.
Do not let one candidate reset your search
The real cost of a counteroffer is not the lost candidate. It is the three or four weeks you lose if you had already told everyone else no.
Until a candidate has actually started, keep your runner-up warm. That does not mean stringing people along. It means telling your second-choice candidate the truth: "We have made an offer to someone else. If it does not close, we would like to come back to you. Is that all right?" Most people respect that, and some will say yes.
Also, write down what you learned from the process. If two candidates in a row took counteroffers, your offer is probably below market, or your story about the role is not landing. Both are fixable, but only if you notice the pattern.
Where a fractional CTO helps
Founders without a technical background often struggle in exactly this moment, because they cannot tell whether the candidate is worth a higher number. A senior technical leader who interviewed the candidate can answer that quickly: is this person rare, or are there three others in the pipeline who are nearly as good? That judgment is a large part of what you are paying for in an engagement; see how Fraction's pricing is structured if you want that kind of help during a hiring push.
FAQ
Should I ever match a counteroffer?
Rarely. Match only if the counteroffer revealed that your offer was genuinely below market, and make one adjustment, not several. If the candidate's main reason for leaving was money, matching does not fix the underlying risk.
Is it unprofessional for a candidate to accept a counteroffer after accepting my offer?
It is frustrating, but it is legal and common, and usually not a sign of bad character. Treat it as information about your process rather than a betrayal. Stay polite; good engineers talk to each other.
How do I know if a candidate is likely to take a counteroffer?
Ask what would make them stay at their current job. If the honest answer is "more money," the risk is high. If they name a problem their employer cannot fix, such as product direction or ownership, the risk is lower.
Should I re-open the search immediately?
Go back to your runner-up first if you kept them warm. If not, re-open the search the same day. Waiting a week to see if the candidate changes their mind again almost never pays off.
If you are running your first senior engineering hire and want a second opinion on the candidate or the offer, book a call.