Find your real market value: the audit underpaid engineers skip
Most engineers guess their worth from one number: the highest CTC a friend quoted. That is not market value, it is anecdote. The Surface audit replaces the guess with evidence so your next target package is grounded, defensible, and high enough to matter.
The question almost nobody answers honestly
"Am I underpaid?" is the most common question we hear from software engineers in India, and the most badly answered. The usual answers come from a noisy place: a college batchmate who quoted a number over coffee, a LinkedIn screenshot, a recruiter who said "we can do better" without saying how much better. None of that is your market value. It is rumour with a rupee sign attached.
The Surface phase of the SHIFT method exists to fix exactly this. Before you touch a resume or a mock interview, you do one unglamorous thing: an honest information audit. You write down what you actually did, benchmark those skills against what the market pays for them right now, and set a target package you can defend in a room full of people whose job is to pay you less.
Why the gut feeling is usually wrong in both directions
Two engineers with the same title can be worth very different numbers. A backend engineer at 9 LPA who owns a payments service, designed its retry logic, and cut incident rate by half is underpaid. A backend engineer at 9 LPA who has shipped CRUD endpoints under close supervision for three years may be paid fairly. Same title, same years, different value.
This is why "I have 4 years of experience, I should get 18 LPA" falls apart in interviews. Years are an input, not an output. The market does not pay for time served. It pays for problems you can own without hand-holding. The Surface audit forces you to separate the two, which is uncomfortable and also the only way to set a number you will not flinch on when a recruiter pushes back.
Step one: the information audit (write it all down)
Open a blank document. For every role and major project, capture five things, in plain language:
- What you owned. Not "worked on the billing module" but "owned the invoice generation pipeline end to end, including the edge cases finance kept complaining about."
- The decision you made. What did you choose, and what did you reject? "Moved from cron polling to an event queue because the polling lag was breaking SLAs" is a decision. "Used Kafka" is a tool.
- The number. Latency, cost, error rate, throughput, team size, data volume, money handled. If you do not have the exact figure, estimate honestly and label it an estimate. "Roughly 40k orders a day" beats silence.
- The hard part. What would have broken if a weaker engineer did it? That is where your real value hides.
- What you cannot defend. Be ruthless here. If you "led" something but really attended the meetings, write that down privately. It protects you later, because an interviewer will find the soft spots you skipped.
This document is not your resume. It is the raw material. The resume comes later, and it will be far better because this audit gives it numbers instead of duties. The same raw material also feeds how you explain your projects in interviews, which is where most underpaid engineers quietly lose.
Step two: benchmark to the market, not to your office
Now you find out what those skills actually pay. The trap is benchmarking against your current company, which is precisely the anchor keeping you underpaid. Benchmark against the open market instead. Practical sources for the Indian market:
- Live job descriptions for roles you could do today. Read 15 to 20 postings at the level above yours and note the stack, the scope, and where listed, the band.
- Aggregators like Levels.fyi (strong for product and global capability centres), AmbitionBox, and Glassdoor for company-specific ranges. Treat each as one data point, not gospel.
- Recruiter conversations. Ask directly: "For someone owning X at this scale, what band are you seeing?" Most will tell you if you sound like you already know.
- Peers who switched recently, filtered for ones with similar real scope, not similar titles.
You are looking for a range, not a point. A mid-level backend engineer in a Bangalore product company in 2026 sits in a very different band from the same title in a services company in a tier-two city. Both are real markets. Pick the one you are actually going to apply to, and benchmark to that.
Step three: locate your gap
Put two numbers side by side: your current fixed package and the median of your honest benchmark range. The distance between them is your gap, and it tells you what kind of move you are making.
- Small gap (under 15 percent). You are paid roughly right. A switch still helps, but the jump comes from interviewing well, not from a correction. Be honest that this is the situation.
- Real gap (30 to 80 percent). This is the common case for skilled but quiet engineers. A 9 LPA engineer doing 16 LPA work is sitting on a correction. This is exactly the case Surface is built for.
- Large gap (over 80 percent). Possible, but verify it hard. Either you have badly undersold yourself for years, or the benchmark is for a role a notch above your real scope. Both happen. Find out which before you build a target on it.
The goal is not to inflate your number. It is to find the number the market already agrees with, then learn to show the evidence that proves it.
Step four: set a grounded target package
A grounded target has three parts: a floor you will not go below, a realistic target tied to your benchmark median, and a stretch number you would say yes to without negotiating. For the engineer at 9 LPA with a benchmark range of 15 to 19 LPA, a sane target might be a 15 LPA floor, a 17 LPA target, and a 19 LPA stretch. Every one of those numbers is backed by job postings and aggregator data you collected, which means you can say them out loud and not blink.
This is the difference between asking and proving. When negotiation time comes, and we cover that in how to negotiate a salary hike in India, you are not pleading for a bigger number. You are quoting a market you have already mapped. That calm is worth lakhs.
What Surface does not promise
It does not promise that your number is high. Some engineers finish the audit and find they are paid fairly. That is a useful, money-saving answer too: it means the work is in interview skill, not in a salary correction, and you stop chasing a jump that is not there. The audit is honest by design. Every figure in your target should be one you could defend to a hiring manager, because eventually you will have to.
If you want a second set of eyes on your audit and a written read on your real band, that is what a diagnostic call gives you, and our fee is tied to the size of the jump we help you make, so the incentive to set a true number is shared, not one-sided.
Find your gap in 30 minutes
Book a paid diagnostic call and get a written report on exactly where you're underpaid and what to fix.
Book your call · ₹199Frequently asked questions
How do I know if I am underpaid as a software engineer in India?
Compare your current fixed package against the median of an honest market benchmark for your real scope, not your title. Read 15 to 20 live job postings at the level above you and check aggregators like Levels.fyi and AmbitionBox. If the gap is over 30 percent, you are likely sitting on a correction worth chasing.
What is the right way to benchmark my market value?
Benchmark against the open market you will actually apply to, never against your current employer, which is the anchor keeping pay low. Use live job descriptions, salary aggregators, and recent peer switches filtered for similar real scope. Aim for a range, not a single number, and match it to your city and company type.
How do I set a target package I can defend?
Build three numbers from your benchmark data: a floor you will not go below, a realistic target near the range median, and a stretch you would accept instantly. Every figure should be backed by postings or aggregator data so you can state it in a negotiation without flinching. Avoid numbers based only on what a friend earns.