Most people who suspect they're underpaid are right
The gap between what someone earns and what their skills command on the open market is real, persistent, and largely invisible โ because salaries are private, raises are incremental, and most employees go years without a market-rate check.
Your salary is a negotiation outcome from a previous point in time. The market rate for your skills today is a live number. Those two things drift apart constantly โ faster in hot fields, faster at companies that give 3% cost-of-living raises while market rates climb 6โ10%, and faster if you low-balled your starting salary years ago (which compounds forward with every raise).
Here's how to find the gap, measure it, and decide what to do.
Step 1: Get real market data โ from multiple sources
Gut feeling isn't a data point. You need external salary benchmarks filtered carefully by role, experience level, location, and company size.
- levels.fyi โ most reliable for tech roles; exact salary + equity + bonus data self-reported by verified employees
- LinkedIn Salary โ broad professional coverage, filters by geography and experience
- Glassdoor โ wide industry coverage, some bias toward higher-salary reporters; useful for ranges
- Actual job postings โ many states now require salary ranges in listings; searching your title on Indeed or LinkedIn often surfaces current market pay expectations directly
- Bureau of Labor Statistics OES โ slow to update but authoritative for broad role categories
Filter ruthlessly. A "Software Engineer" salary ranges from $80k to $400k depending on level, company size, and equity structure. You need comparable level (same title doesn't mean same expectations), similar company size (startups, mid-market, and FAANG pay very differently), and the same geographic market. National averages are largely useless for your situation.
Step 2: Account for total compensation, not just base
Base salary is one component. When comparing to market, use total compensation:
| Component | How to value it |
|---|---|
| Base salary | Face value |
| Annual bonus | Target %, adjusted for how reliably it's actually paid |
| Equity (RSUs) | Annual vesting value at current share price |
| 401(k) match | Actual employer contribution based on your deferral rate |
| Health insurance | Employer premium contribution โ often $5,000โ$18,000/year for families |
| PTO | Daily rate ร number of days. Most people leave this unquantified. |
A job paying $90,000 base with 10% target bonus, 4% 401k match, and employer-paid family health insurance has total compensation around $110,000โ$115,000. A competing offer at $100,000 base with no bonus, no match, and employee-paid insurance might actually be worth less. Compare total compensation.
Step 3: Calculate the gap
- Under 5%: You're at or near market. The gap probably isn't worth the friction of negotiating right now โ focus on the next review cycle.
- 5โ15%: You're modestly underpaid. A strong case exists for a raise conversation at your current employer.
- 15โ25%: You're meaningfully underpaid. Most employers will offer to close 10% of a 20% gap. Worth seriously evaluating external options to get the other 10%.
- Over 25%: You're significantly underpaid. At this level, the fastest path to market is usually an external offer โ employers rarely close a 25%+ gap internally without one.
Why the gap gets this large
The most common cause: tenure plus small annual raises. If you got 3% raises for four years, you received 12.6% cumulative growth. If market rates for your role rose 6โ8% annually over the same period, you fell 10โ18% behind without anyone doing anything overtly unfair.
The second most common cause: low starting salary. The number you accepted on day one compounds forward through every subsequent raise. A 10% lower starting salary, with identical subsequent percentage increases, means you're permanently 10% behind peers who negotiated better โ until you reset the number.
Making the case internally
Come with data, not feelings. "I feel like I deserve more" is easy to dismiss. "My role benchmarks at $Xโ$Y at comparable companies in this market, and I'm currently at $Z, which is 18% below the midpoint" is a business case. Document specific contributions since your last raise. Quantify outcomes where you can. Ask for a specific number, not a range (a range gives your employer permission to offer the bottom).
When to use an external offer
The most reliable way to get a significant raise at your current employer is to have a competing offer. Many managers cannot approve a large raise without it โ they need external market validation to get it past their finance team. The risk: your company may not counter, and you have to decide whether to leave. Only go this route if you're genuinely willing to take the other offer.
Knowing when to leave
Some companies have salary bands that cap internal mobility regardless of market. If you're at the top of your band and the band is below market, the only way to reset is to leave. This is uncomfortable. It's also how most people make their biggest salary jumps โ switching employers typically yields a 10โ20% pay increase where internal raises run 2โ5%.
Convert and compare your salary
See your hourly rate, monthly income, or how your salary stacks up at different hours worked.
Open Salary Calculator โ