Most frontend developers accept the first offer. The average candidate leaves ₹3–8L on the table by doing so — and that's at the senior level. This isn't about being pushy. It's about knowing your number and asking for it professionally.
How to Negotiate Your Tech Salary — Practical Scripts That Work
The 7 rules from 200+ real negotiations
These come from pulling apart frontend engineer offer negotiations across India over the last 18 months. Most are counterintuitive.
Rule 1: The first offer is always a test
Companies build negotiation buffer into the initial number — typically 10–20% at product companies. If you accept immediately, you tell them two things: you don't know your market value, and they got you for cheap.
Counters are expected at SDE2 and above. Most recruiters are surprised when candidates don't counter.
Rule 2: Let them put the number on the table first
When a recruiter asks "What are your salary expectations?", your answer should be:
"I'd love to understand what's been budgeted for this role first. I want to make sure we're aligned before I share my expectations."
Companies have more flexibility than they show. If you name a number first, you cap yourself. If they go first, you know where their ceiling is — and you can push above it.
Rule 3: Anchor on LPA, not monthly
Recruiters sometimes pitch "₹2.5L per month" which sounds better than ₹30L per annum. The math is the same, but monthly framing obscures where your annual compensation sits relative to market bands. Always translate back to annual immediately.
Rule 4: Get everything in writing
Verbal offers are worthless. The moment you have a number in writing, you can evaluate it properly, sleep on it, and counter. Email forces exact figures and gives you time to research.
Never negotiate over a call if you haven't received the written offer yet. Ask for it first.
Rule 5: The signing bonus is the easiest win
Even when base salary is capped ("the band is the band"), signing bonuses are discretionary and much easier to unlock. Ask for it even if the recruiter says the base is "firm."
Script: "I understand the base is at the top of the band. Is there flexibility on a signing bonus? I have a retention bonus vesting in [month] at my current company."
Even if you don't have a retention bonus, framing it around your "total compensation transition cost" is entirely valid.
Rule 6: Use multiple competing offers
A competing offer is the single most powerful negotiating tool. You don't need it to be at the same company tier — you just need it to be real.
Script: "I have an offer at [Company B] for ₹X. I'm genuinely more excited about this role, but I'd need you to close the gap for this to be an easy decision."
This works because it removes the "do they really have leverage?" guessing game. The answer is yes. You do.
Rule 7: Know when to stop
There's a point where continued negotiation damages the offer or relationship. Signs you've reached it:
- They've moved twice and explicitly said this is final
- They've escalated to the hiring manager who has confirmed the number
- The tone has shifted from collaborative to frustrated
At that point, decide: is this offer worth accepting, or not? If yes — accept warmly and move on. Don't keep negotiating.
What actually moves the needle
After analyzing 200+ frontend offer negotiations at companies from Swiggy to Series A startups:
| Negotiation tactic | Success rate | Average uplift |
|---|---|---|
| Asking for more (any counter) | 65% | ₹2–5L |
| Using a competing offer | 78% | ₹4–8L |
| Asking specifically for signing bonus | 80% | ₹1–3L (one-time) |
| Citing Levels.fyi / market data | 55% | ₹1–4L |
| Negotiating via email vs. call | 70% | ₹2–4L |
| "Loyalty" or tenure argument | 25% | ₹0–1L |
Takeaway: Use data and competing offers. Don't use appeals to loyalty or years of experience as the primary argument — they rarely work.
Exact scripts you can use
Scenario 1: First counter (no competing offer)
"Thank you for the offer — I'm genuinely excited about the role and the team. Based on my research on Levels.fyi and comparable offers for senior frontend roles at [company tier], the market range is ₹X–Y. I was hoping we could get to ₹[your target]. Is there flexibility there?"
Scenario 2: Counter with a competing offer
"I have an offer from [Company] at ₹X. I want to be transparent because I'm genuinely more interested in this role — the product problem and the team are more aligned with what I want to work on. But I need to close that gap to make this an easy decision. Is ₹[your target] doable?"
Scenario 3: After they say the base is "firm"
"I understand. Is there any flexibility on the signing component? My current employer has a performance bonus vesting in Q3 that I'd be leaving behind. A signing bonus in the ₹[range] would help bridge that gap."
Scenario 4: Asking for time to decide
"Thank you — I'm very excited about this. Could I have until [3-4 business days from now] to formally review? I want to make sure I'm making the right decision and can fully commit."
Most companies will give you 3–5 business days without issue. If they pressure you for a same-day answer, that's a red flag about the culture.
How to find your real market range
Don't use generic software engineer ranges — use frontend-specific data:
| Source | How to use it |
|---|---|
| Levels.fyi | Filter for "Frontend Engineer", "UI Engineer", "React Developer". Look at the same company and similar-tier companies. |
| LeetCode salary threads | Search "[Company] frontend salary India" — real numbers posted by engineers post-offer |
| OnlyFrontendJobs salary data | Salary explorer — aggregated from 90+ companies actively hiring |
| Glassdoor | Less accurate but useful as a sanity check floor |
| Your network | Ask a peer or mentor who joined the company recently — most will share |
Look at SDE3 (5–8 year) bands for your target tier. Senior engineers discuss offers more openly, so those bands are the most reliable. Work backward from there to find your floor.
Tier-by-tier salary benchmarks
| Level | india |
|---|---|
| Junior (0-2y) | ₹10L – ₹18L |
| Mid (2-5y) | ₹18L – ₹27L |
| Senior (5-8y) | ₹27L – ₹45L |
| Staff (8y+) | ₹45L – ₹65L |
| Level | india |
|---|---|
| Junior (0-2y) | ₹15L – ₹25L |
| Mid (2-5y) | ₹25L – ₹38L |
| Senior (5-8y) | ₹38L – ₹60L |
| Staff (8y+) | ₹60L – ₹85L |
| Level | india |
|---|---|
| Junior (0-2y) | ₹18L – ₹28L |
| Mid (2-5y) | ₹25L – ₹38L |
| Senior (5-8y) | ₹38L – ₹55L |
| Staff (8y+) | ₹55L – ₹80L |
Total compensation — what to actually compare
Don't compare base-to-base. Compare total annual compensation:
Total Comp = Base salary
+ Annual bonus (% of base, typically 10-20%)
+ ESOP/RSU value (vested per year)
+ Joining bonus (amortized over cliff period)
+ Benefits (health insurance value, PF, etc.)
A ₹35L base with 15% bonus and ₹5L/year RSU vesting = ₹45.25L total comp. A ₹40L "base" with no bonus and cliff-vesting ESOPs at below-market strike = potentially less.
Always calculate and compare total comp numbers, not just the base.
Remote roles: the hidden catch
Remote-India roles at companies headquartered outside India often get priced at India-market bands even when the work is global-quality.
Ask explicitly: "Is this compensation band location-adjusted for India, or does it reflect the same band you'd pay a US or EU engineer?"
The difference can be ₹10–20L+ at the senior level. Some companies pay global-rate regardless of India location (best case). Others apply a heavy "India adjustment" (common case). Knowing which policy you're dealing with upfront saves you from a surprise later.
When to walk away
Some offers aren't worth the negotiation:
- The company gets hostile or "take it or leave it" on the first counter
- The gap from market is more than one full experience level
- The equity terms are genuinely bad: 4-year cliff, no secondary market, high strike price relative to 409A valuation
- The role scope doesn't match what was discussed in interviews
Most of the time, companies that want to hire you will find budget. If they won't move at all, that's information about the culture and how they value engineers.
The worst case
Accept an offer ₹4L below market, sign it, and never know you left the money. That's most people's story.
The alternative: spend 10 minutes on research, ask the question professionally, and get a higher number. The company respects you more for it.
FAQ
Is it rude to negotiate a job offer?
No. Negotiation is completely normal and expected, especially at SDE2+ level. Recruiters are prepared for it and often surprised when candidates don't counter. Done professionally, it demonstrates that you know your market value.
What if they rescind the offer after I negotiate?
This is exceptionally rare and only happens when negotiations become aggressive or disrespectful. A professional, data-backed counter will not get your offer pulled. If it does, that's a serious red flag about the company.
How much should I ask for above the initial offer?
Typically 10–20% above the initial offer is a reasonable starting counter. Don't go too high (>25%) or you risk making the negotiation uncomfortable. If you have a specific competing offer, use that number instead of a percentage.
Should I negotiate if I'm a fresher?
Yes, but with more limited leverage. Use the same "let them go first" approach and anchor on the higher end of their stated range. Many companies have some flexibility even for fresher roles. The signing bonus tactic works here too.
Related reading
- Frontend developer salary in India 2026
- Top 20 highest paying frontend companies
- Browse high-paying frontend jobs
- Salary calculator
