Explore
Explore
Your market rate is not the national average. It is your role median times your city's cost adjustment times your experience band. Per Orbyt's 2026 salary data, a mid-level Software Engineer sits at a $135,000 national median, Austin adjusts it to about $139,000, and the senior band pushes it near $178,000. The line I use: you are likely underpaid if your base sits more than roughly 10% below that number. Total comp can close the gap, so check equity and bonus before you act. Once you know, the fork is simple: open a raise conversation with the data, or start a targeted search.
You are likely underpaid if your base salary sits more than roughly 10% below the median for your exact role, city, and experience level. That is the whole test. The hard part is finding the median, because most answers you will find online are national averages, and a national average is the wrong yardstick.
This post gives you the method. Three signals, four steps, one threshold. Every number here comes from Orbyt's 2026 salary dataset, and you can check any of it yourself.
The short version:
Underpaid is a comparison, and the yardstick you pick decides the answer. Compare your salary to a single national average and you will almost always get a misleading result, because that average blends every city, every experience level, and every company stage into one number that describes nobody.
Market rate is different. It is what your specific role pays, in your specific city, at your specific level of experience. It is a range, not a point, because real pay for the same job varies. Per Orbyt's 2026 salary data, the median across all 3,445 tracked roles is $155,000, and the full spread runs from $33,000 to $350,000. Averaging across that is meaningless for you. The only number that matters is the one for your slice.
So the first move is to stop comparing yourself to "the average salary" and start building your rate from three inputs.
Your market rate is role median times city adjustment times experience band. Three signals, each mapped to a field Orbyt already tracks.
Signal 1: your role median. Start with the national median base salary for your exact title. Per Orbyt's 2026 salary data, Software Engineer sits at a $135,000 median, with a published band of $105,000 to $175,000. Product Manager sits at $140,000. Data Analyst at $78,000. Pin your title first, because this is the anchor every other adjustment multiplies. You can look up any of the 3,445 role medians on the salary directory.
Signal 2: your city adjustment. The same role prices differently by location. Across the 81 US cities Orbyt tracks, the cost-of-labor multiplier runs from 0.78 in Charleston, West Virginia, the lowest, to 1.38 in San Jose, the highest. Austin is 1.03. New York is 1.28. San Francisco is 1.35. Only 34 of the 81 cities sit above the national baseline. 46 sit below it. So if someone quotes you a national number with no city attached, treat it as an overestimate for most of the map.
Signal 3: your experience band. Seniority is a multiplier on the mid-level median. Orbyt's bands: entry (0 to 2 years) at 0.78, mid (3 to 5 years) at 1.0, senior (6 to 9 years) at 1.28, and staff-plus (10 or more years) at 1.55. A staff engineer earns roughly twice what an entry-level engineer earns for the same core title, before any city adjustment.
Worked example. Take a Software Engineer. National median $135,000. In Austin, at senior level, your market rate is about $178,000: $135,000 times 1.03 for the city, times 1.28 for the band. Move that same senior engineer to San Jose and the number climbs to about $238,000. Same title, same seniority, roughly $60,000 apart on location alone. That is why one national figure can never answer "am I underpaid."
Here is how to compute your market rate in about ten minutes.
The free salary calculator does all four steps for you. Pick your role, pick your city, pick your experience level, and it prints the adjusted range. It runs the same math shown above, so you can check it by hand.
You are likely underpaid when your base sits more than roughly 10% below the median for your role, city, and band. That is the line I use. It is a rule of thumb, not a law, and here is the reasoning behind it.
Some variance is normal and expected. Two people in the same role, same city, same level will not earn the identical number. Company stage, timing of the last raise, and starting offer all move it a few points. Per Orbyt's 2026 salary data, the published band for a typical role spans wide: Software Engineer runs $105,000 to $175,000 around a $135,000 median, so the low-to-high spread is more than half the median. Landing somewhere inside that band is fine. Sitting well below the middle of your specific slice is the flag.
Concretely: if your market rate is $178,000, roughly 10% below is about $160,000. Below that, I would treat the gap as real and worth acting on. Right around the median, you are paid fairly. Above it, you are winning.
One caveat that can flip the answer: total comp. Base salary is one line. Equity, bonus, and signing can close a base gap or widen it. A $10,000 base shortfall offset by meaningful equity is a different situation than a $10,000 base shortfall with nothing behind it. Check the whole package before you decide. The job offer guide walks through total-comp math if you are weighing a specific number.
Most salary sites run on self-reported data, and self-reported data has a built-in skew. Glassdoor, Levels.fyi, and Payscale aggregate numbers that users type in voluntarily. That captures real individual offers, which is genuinely useful. It also means the sample is whoever chose to fill out the form, which is not a random slice of the market. People with standout offers are more motivated to post. Stale entries linger. Small-sample roles swing wildly.
Orbyt takes the opposite tradeoff. Every role median is synthesized from four traceable sources: BLS OES wage data and H-1B LCA disclosures from the Department of Labor. The point is not that self-report is worthless. It is that you should know which kind of number you are reading. A self-reported average and a source-traceable median answer slightly different questions, and mixing them is how people end up quoting a figure they cannot defend.
Use both. Cross-check a self-reported point against a traceable median. When they agree, trust the number. When they diverge, ask why before you build a raise case on it.
Sometimes the pay signal shows up in behavior before you run the math. Five that reliably mean it is time to check your rate:
Once you have a number, the decision is a fork, and the market data is your ammunition for either path.
If the gap is small, or you like the job, open a raise conversation. Walk in with your computed market rate, the sources behind it, and the specific figure you are asking for. "The median for my role, city, and level is X. I am at Y. I would like to close that gap." Data beats feelings in that room every time. Bring the range, not a wish.
If the gap is large, or the raise stalls, run a targeted search. A new offer is the fastest way to reprice yourself, because the market sets your rate more honestly than an internal review ever will. Price every role you apply to with the salary calculator, and when an offer comes, negotiate it. The salary negotiation scripts give you word-for-word language, and the accept, counter, or walk away framework covers the decision once the number is on the table.
You do not have to pick today. But you should not sit in a 20% gap on autopilot either. Knowing the number is what turns "I feel underpaid" into a plan.
Three situations bend the standard formula, and each has its own answer.
Remote. Remote pay is contested territory. Some companies pay by your location, some by the role regardless of where you sit. If you are remote in a low-multiplier city working for a company that pays by role, your market rate may be higher than your city suggests. Remote job search strategy covers how to think about it.
Relocation. Moving cities repriced you the moment you signed a lease. Run the cost-of-living-by-city pages before you accept a relocation, because a raise on paper can be a pay cut in purchasing power once the multiplier flips.
Startup equity. Early-stage companies often pay below-market base and make up the gap in equity. That can be a great trade or a bad one depending on the stage and the terms. The base gap is real cash you are forgoing now. Price it honestly, and if you are already employed, weigh it against staying and negotiating where you are.
Not automatically, but it is a strong signal worth checking. Posted ranges in pay-transparency states like California, Colorado, and New York reflect what a company will pay a new hire today. If your pay sits below the bottom of current postings for your role, the market has likely moved past your salary. Compute your market rate to confirm the gap.
A few percent is normal noise. Same role, same city, same level, and two people will still differ based on company, timing, and starting offer. Per Orbyt's 2026 salary data, published bands span more than half the median for many roles. Landing inside your band is fine. More than about 10% below the middle of your slice is the flag worth acting on.
Not by itself. A 10% base gap is real money, but quitting carries costs a raise does not. Try the raise conversation first, armed with your computed rate and sources. If the raise stalls or the gap is much larger, a targeted search reprices you faster than any internal review will. Do the math before the ultimatum.
You do not need an offer. Compute it from three inputs: your role median, your city multiplier, and your experience band. The free salary calculator does the math in about a minute. That is the entire advantage of a source-traceable dataset. You get a defensible number before any employer puts one in front of you.
Yes, and it is the most common thing people miss. Base salary is one line. Equity, bonus, and signing can close a base gap or widen it. A below-market base offset by meaningful equity is a different situation than the same base with nothing behind it. Always compare total comp, not just base, before you conclude you are underpaid.
Enough that an annual check is worth it. Roles reprice as demand shifts, and whole categories can move fast. Per Orbyt's 2026 salary data, AI-classified roles now pay a 9% premium over other roles, a gap that is recent. Orbyt refreshes its dataset quarterly. Recompute your rate at least once a year, and any time your role or scope changes.
Stop guessing whether you are underpaid. Compute it. Pick your role, your city, and your experience level in the free salary calculator, read your market-rate range, and compare it to your base. If you are more than about 10% below the middle of that range, you have a number and a reason to act.
Then track the rest. A free Orbyt account keeps every application, offer, and negotiation in one place, so the next time you reprice yourself, the data is already there.
The national average describes everyone. Your market rate describes you. Only one of them tells you whether to ask for a raise.
Track applications, manage contacts, and protect your mental health. All in one place.
Get started