How to Negotiate Your Salary as a Software Engineer (With Scripts)
A complete masterclass on salary negotiation for engineers, including copy-paste email templates, verbal scripts, and a total compensation framework.

Negotiating your salary is one of the highest-leverage activities in your career. A single 15-minute conversation or a well-crafted email can increase your starting compensation by $10,000 to $50,000 (or more), compounded over the years you remain at the company and during subsequent promotions.
Yet, many software engineers accept the initial offer without questioning it. They fear that negotiating will make them look greedy or lead to the offer being rescinded. In reality, reputable companies almost never rescind offers for polite, data-backed negotiations, and hiring managers expect you to negotiate.
This guide provides a step-by-step negotiation framework, explains how to evaluate total compensation, and gives you copy-paste scripts you can use immediately.
The Golden Rules of Negotiation
- Never Give the First Number: The party that names a price first loses leverage. If you name a number lower than what they budgeted, you leave money on the table. If you name a number too high, you might price yourself out prematurely.
- Focus on Total Compensation (TC): Do not negotiate base salary in a vacuum. Evaluate base, annual bonuses, equity (RSUs or stock options), sign-on bonuses, relocation, and learning budgets.
- Be Collaborative, Not Adversarial: Frame the negotiation as a joint problem-solving exercise. You want to join the team; you just need to align on a number that makes sense for the value you bring.
- Always Have a Reason: Never ask for more money just because "you want it." Base your requests on market data, competing offers, or unique skills you possess that directly address the company's pain points.
Phase 1: Deflecting the Initial "Salary Expectations" Question
During your first call, the recruiter will almost always ask: "What are your salary expectations for this role?" or "What are you currently making?"
The Script: Deflecting the Question
Your goal is to get them to share the budget range first.
You: "I’m open to a competitive offer that is aligned with the market and reflects the responsibilities of the role. Since compensation packages can vary widely depending on equity structure, bonuses, and benefits, I’d prefer to focus on seeing if we are a mutual fit first. Could you share the budget range you have approved for this position?"
If they press again (e.g., "Our system requires a number to move forward..."):
You: "I understand. Based on my research for similar roles in this market, I’m targeting a total compensation in the range of
[Insert broad range, e.g., $140,000 - $180,000]. However, I am flexible depending on the overall compensation package, including stock options and bonus structures."
Phase 2: Evaluating the Initial Offer
When the company makes an offer, thank them, show enthusiasm, but do not accept on the spot. Ask for the offer details in writing and request time to discuss it with your family or review the numbers.
Understanding Total Compensation (TC)
To compare offers accurately, use this formula:
$$\text{Total Compensation (TC)} = \text{Base Salary} + \text{Annual Bonus} + \left( \frac{\text{Equity Grant Value}}{\text{Vesting Period in Years}} \right) + \text{Sign-on Bonus (first year)}$$
Let's look at an example comparing two offers:
| Component | Offer A (Established Tech) | Offer B (Growth Startup) |
|---|---|---|
| Base Salary | $145,000 | $160,000 |
| Annual Performance Bonus | 10% ($14,500) | N/A |
| Equity Value (per year) | $30,000 (Public Stock) | $45,000 (Options - Illiquid) |
| Sign-on Bonus | $15,000 (One-time) | N/A |
| Year 1 Total Compensation | $204,500 | $205,000 |
Analysis: While Offer B looks higher due to the base salary, Offer A's equity is public (liquid) and includes a cash bonus. Offer B's equity consists of private stock options, which could end up valueless if the company doesn't exit. A smart engineer will use Offer B's higher base to negotiate Offer A's base upward.
Phase 3: The Counter-Offer Scripts
Once you have the numbers, you are ready to counter. Choose the scenario below that matches your situation.
Scenario A: You Have a Competing Offer (Highest Leverage)
If you have another offer, you can use it to create a bidding war.
Email Template:
Subject: Update on Offer / [Your Name]
Hi [Recruiter Name],
Thank you so much for extending the offer for the Software Engineer role. I am incredibly excited about the opportunity to join [Company Name] and work on [specific project/team].
Before making a final decision, I wanted to discuss the compensation package. I have received a competing offer from another company for [Mention Competing TC, e.g., $185,000].
However, I would prefer to join [Company Name] because I believe my experience with [Specific Skill, e.g., cloud migration] matches your team's current challenges perfectly. If we can adjust the base salary to $165,000 and increase the equity component to $40,000 annually, I am ready to sign the offer today.
Is there any flexibility in the budget to meet these numbers?
Best regards,
[Your Name]
Scenario B: You Don't Have a Competing Offer (Market-Based Leverage)
If you don't have another offer, you must base your negotiation on market data (from sites like Levels.fyi or Glassdoor) and your specialized expertise.
Email Template:
Subject: Compensation Discussion - [Your Name]
Hi [Recruiter Name],
I want to thank you again for the offer to join [Company Name]. I really enjoyed speaking with [Hiring Manager] and the rest of the engineering team.
I’ve reviewed the details of the offer, and given the responsibilities of the role and my background in [Highlight a key skill: e.g., building scalable APIs], I was hoping we could make some adjustments to align the compensation closer to market rates.
According to recent compensation data for similar roles in this area, the average base salary is closer to $155,000. Would it be possible to increase the base salary to $155,000 and explore a sign-on bonus of $10,000 to help offset the transition?
If we can reach this agreement, I would be thrilled to accept and start the onboarding process.
Thank you for your help,
[Your Name]
Phase 4: Handling the Counter-Offer Call (Verbal Script)
If the recruiter schedules a phone call to discuss your counter-offer, stay calm and collaborative.
Handling Recruiter Objections:
- Objection: "We have internal equity bands, and this is the highest we can go for this level."
- Response:
"I completely respect that you need to maintain internal equity. If the base salary is fixed, is there any flexibility in the one-time sign-on bonus or the initial equity grant? That would help close the gap without affecting the salary bands."
- Objection: "If we give you this, you will be at the absolute top of our range, which means smaller raises in the future."
- Response:
"I understand. I am confident in my ability to perform at a high level and earn a promotion to the next band when the time comes. I'd still prefer to optimize my starting rate now to reflect the immediate value I'm bringing to the team."
Negotiation is a test of preparation and poise. By knowing your numbers, communicating professionally, and staying firm, you will secure the compensation package you deserve.