Top 3 salary negotiation mistakes SWEs make

Learn how software engineers leave money on the table during salary negotiations, and how to negotiate base, equity, and level with confidence.

Top 3 salary negotiation mistakes SWEs make

Salary negotiation is one of the highest-leverage moments in an engineer’s career, and also one of the most misunderstood. By the time an offer arrives, many candidates are exhausted from interviews, emotionally invested in the outcome, and eager to be done. That combination leads to rushed decisions and preventable mistakes.

Most candidates don’t leave money on the table because they’re bad negotiators. They do it because they misunderstand how compensation conversations work, where flexibility actually exists, and when to slow down.

Below are three of the most common salary negotiation mistakes candidates make, along with how to avoid them when negotiating a job offer in tech.

1. Negotiating without understanding the full compensation picture

One of the biggest mistakes software engineers make is treating salary negotiation as a single-number discussion. They focus almost entirely on base salary, compare it to their current pay, and negotiate in isolation.

Compensation is a system, not a line item. Base salary, bonus, equity, sign-on incentives, refreshers, benefits, and level all interact. Pushing hard on one component without understanding how it affects the rest often limits your options or triggers tradeoffs you didn’t anticipate.

For example, some companies have tight base salary bands but meaningful flexibility in equity or sign-on bonuses. Others aggressively protect internal leveling, which affects both your initial offer and future growth. Candidates who don’t understand these constraints often hear “we can’t do that” and assume the negotiation is over.

Before negotiating, your first goal should be clarity. Ask how compensation is structured, which components are flexible, and how level impacts future raises or equity refresh cycles. Understanding the full package gives you more room to negotiate, not less.

2. Anchoring too early or too low

Another common mistake is anchoring the negotiation before you have enough information. This often happens when candidates share their current salary early in the process or provide a number that feels “reasonable” without knowing the company’s range.

Anchors matter. Once a number is introduced, it shapes the rest of the conversation. If your anchor is low, even a successful negotiation may still land below what the company was prepared to offer. Many candidates later discover they negotiated up, but still ended up at the bottom of the band.

Early anchoring is especially risky when changing companies, levels, or locations. Your current compensation may reflect outdated market conditions, internal constraints at your previous employer, or a role that doesn’t map cleanly to the new one. Using it as a reference point can unintentionally cap your outcome.

A better approach is to delay numbers until you understand the role, scope, and level. When compensation expectations come up, frame them as ranges informed by market data rather than personal history. This keeps the conversation flexible and avoids accidental self-discounting.

3. Making decisions on the call instead of taking time to review the offer

One of the most damaging salary negotiation mistakes happens at the moment the offer is delivered.

A recruiter shares the details over the phone. There’s a pause. The candidate feels pressure to respond immediately; to accept, counter, or react in real time. That pressure is artificial, but it’s powerful.

When software engineers negotiate or accept on the call, they often miss details, agree to terms they haven’t fully processed, or anchor themselves before understanding the full compensation package. Even positive reactions can lock in decisions prematurely.

The strongest move is usually the simplest one: thank the recruiter for the offer and ask for time to review it. Write everything down. Ask for the full details in writing. Then get off the phone.

Taking time creates clarity. It allows you to evaluate base salary, equity, bonus, and level together, compare the offer to market data, and think through how the role fits your longer-term career goals. It also prevents decisions driven by excitement, relief, or interview fatigue.

Most effective negotiation happens after the call, not during it. Candidates who pause before responding tend to ask better questions, make more thoughtful requests, and avoid commitments they later regret.

How to approach salary negotiation more effectively

Strong salary negotiation is less about clever tactics and more about positioning. Candidates who do well approach negotiation with patience, context, and a clear understanding of the system they’re negotiating within.

They take time to understand the full compensation package. They avoid anchoring before they have enough information. And they give themselves space to think before responding to an offer.

Companies expect negotiation. A thoughtful, well-informed discussion rarely hurts your candidacy. More often, it signals maturity, confidence, and judgment.

If you’re preparing to negotiate a software engineering job offer, reviewing these mistakes ahead of time can help you walk into the conversation calmer, clearer, and better positioned to advocate for yourself.

Get holistic interview prep and negotiation support with Formation

The Formation Fellowship gives mid-level and senior engineering job seekers everything they need to land their dream roles—including personalized skill brush-ups, unlimited mock interviews with experienced software engineers and hiring managers from top-tier tech companies, and offer reviews and negotiation support. 

Apply here for unconditional support from a team of engineering mentors, technical recruiters, career coaches, and more.