1The Salary Transparency Problem
You find a job that looks like a great fit. The title matches. The skills line up. Then you scroll down to the salary section and it says: "Competitive compensation." Or worse, nothing at all.
This happens on roughly 60% of job postings. Even in states with salary transparency laws, companies find workarounds. They list absurdly wide ranges ($60K to $180K), mark the role as "remote" to dodge state requirements, or just leave the field blank and hope nobody notices.
The result: you spend 45 minutes tailoring a resume, writing a cover letter, and submitting an application for a role that pays $30K less than your minimum. You don't find out until the first phone screen, after you've already invested real time.
That's a solvable problem. You just need better data before you apply.
2Why Companies Hide Salary
Before getting into estimation methods, it helps to understand why salary is missing in the first place. The reasons tell you something about the company.
- They want negotiation leverage. If you name your number first, they anchor low. Classic tactic.
- Internal pay equity issues. Posting a range might reveal that existing employees are underpaid for the same role. That's a conversation they don't want to have.
- The budget isn't finalized. The hiring manager got approval to hire but comp hasn't been set by finance. More common at startups than you'd think.
- They're testing the market. Some companies post without salary to see what candidates ask for, then set the range based on responses.
- They know the number would scare people off. If the salary were a selling point, it would be in the posting. When it's hidden, the number usually isn't impressive.
3Method 1: Title-Based Estimation
Job titles are noisy, but they contain real signal. A "Senior Software Engineer" and a "Software Engineer" have meaningfully different salary distributions, even at the same company. The seniority prefix, the function, and the specificity of the title all map to rough bands.
Here's how the math works. Start with the base function: engineering, marketing, design, sales, operations, etc. Each function has a known salary distribution. Then layer in the seniority signal: junior/entry, mid-level, senior, staff/principal, director, VP, C-suite. Each step up shifts the range by roughly 20-40%.
- Entry-level / Junior roles: $45K-$80K depending on function and market
- Mid-level (no prefix, 2-5 years): $70K-$120K
- Senior (5-8 years): $100K-$160K for individual contributors
- Staff / Principal: $140K-$220K, mostly in engineering and product
- Director: $140K-$200K in most functions, higher in tech
- VP and above: $180K-$350K+, highly variable by company size
4Method 2: Location Multipliers
A Senior Software Engineer in San Francisco and a Senior Software Engineer in Indianapolis are not earning the same salary. Location is the second biggest factor after title.
The rough multipliers look like this. Take whatever your title-based estimate is and adjust.
- San Francisco, New York, Seattle, Boston: 1.15-1.20x (highest cost of living)
- Austin, Denver, Chicago, LA, DC: 1.05-1.10x (competitive but not peak)
- Remote roles: 0.90-0.95x (most companies apply a slight remote discount)
- Smaller metros and rural areas: 0.80-0.90x
ShouldApply automatically estimates salary for jobs with no listed range, using title patterns, location data, and company signals. Every estimate shows its basis so you know exactly what went into the number.
See Salary Estimates5Method 3: Company Size and Stage
The third factor is who's hiring. A 20-person startup and a 50,000-person enterprise pay differently for the same role, and the gap isn't always in the direction you'd expect.
- Startups (under 50 people): Usually 10-15% below market on base salary, but may offer equity to compensate. Cash-constrained.
- Mid-market (50-1,000): Closest to market rate. These companies compete on salary because they can't offer Big Tech perks.
- Enterprise (1,000+): 5-15% above market on base, plus structured bonus and benefits. More predictable but slower to adjust.
- FAANG / Big Tech: 20-40% above market when you include RSUs and bonuses. Base alone can be misleading.
6How ShouldApply Estimates Salary Automatically
Doing this math manually for every job posting is tedious. That's why ShouldApply runs salary estimation automatically on every job that doesn't include a range.
The system uses a three-layer calculation. First, it matches the job title against 120+ role patterns, from specific titles like "Staff Data Engineer" down to broad categories like "Marketing Manager." Each pattern maps to a known salary band. Second, it applies a location multiplier based on the job's city or remote status. Third, if company size data is available, it adjusts up or down accordingly.
The output is a range (like ~$110K-$155K) with a confidence level and a breakdown of what went into it. You see "Based on: Senior Engineer + Major metro + Large company" so you know exactly how the estimate was built.
Estimated salaries show up with a tilde (~) prefix and a muted color so they're visually distinct from confirmed salary data. You always know which numbers are real and which are estimates.
7Using Estimates in Your Job Search
Salary estimates change how you filter and prioritize jobs.
If you have a minimum salary threshold, say $120K, you've probably been ignoring every job without a listed salary. That means skipping roughly 60% of postings, including plenty that actually pay above your minimum. With estimates, those jobs stay in your feed. You can filter by estimated salary and sort by it, which means you're making decisions based on data instead of blind guesses.
The estimates also help in the interview process. Walking into a phone screen with a reasonable sense of the salary range gives you confidence. You're not naming a number in the dark. You know that a Senior PM role at a mid-size company in Denver typically lands between $130K and $165K, and you can anchor your expectations accordingly.
One thing to keep in mind: estimates are directional, not precise. They're based on market patterns, not inside knowledge of a specific company's budget. Use them to filter out clear mismatches and calibrate expectations, not as a negotiation number.
ShouldApply shows salary estimates on every job, so you never apply blind. Filter by salary, sort by pay, and know what to expect before the first call.
Try It Free8Other Ways to Research Salary
ShouldApply's estimates are a fast first pass, but they're not the only data source you should use. Here's what else works.
- Levels.fyi is the gold standard for tech compensation, especially total comp (base + bonus + equity). The data is self-reported but high quality.
- Glassdoor salary data is broader but noisier. Useful for non-tech roles where Levels.fyi doesn't have coverage.
- LinkedIn salary insights show ranges based on job title and location when available. Hit or miss depending on the role.
- Ask the recruiter directly. In the first phone screen, say: "Before we go further, could you share the budgeted range for this role?" Most will answer. If they won't, that tells you something too.
- Check state transparency requirements. Colorado, New York, California, and Washington all require salary ranges on postings for roles available in those states. If the company has offices there, you might find the range on a state-specific version of the listing.
Written by
Jesse Johnson
Founder, ShouldApply
Founder of ShouldApply. I write about job search strategy, hiring, and how to spend your time on opportunities that actually fit. Full bio →
Keep Reading
Frequently Asked Questions
Companies omit salary for several reasons: negotiation leverage, internal pay equity concerns, unfinalized budgets, or because the number isn't competitive. In states with transparency laws (Colorado, New York, California, Washington), salary ranges are required, but companies often find workarounds. The trend is moving toward more transparency, but we're not there yet for the majority of postings.
Title-based estimates are typically within 15-25% of the actual range. Adding location and company size narrows that to 10-20%. They're best used for filtering out clear mismatches (a role that likely pays $70K when you need $120K) rather than precise negotiation targets. For exact numbers, use Levels.fyi, Glassdoor, or ask the recruiter directly.
Only for jobs that don't include salary data. If the posting has a real salary range, ShouldApply shows that instead. Estimated salaries are always visually distinct: they use a tilde prefix (~$110K-$155K) and a muted color so you can tell at a glance which numbers are confirmed and which are estimates.
Yes. Asking about the budgeted range in the first call saves everyone time. Frame it professionally: "To make sure we're aligned, could you share the budgeted range for this role?" If they push back, you can share your range first. Just make sure your number is based on market data, not a guess. Walking in with an estimate from ShouldApply or Levels.fyi gives you a grounded starting point.
It almost always means market rate or slightly below. If a company paid above market, they'd put the number in the posting because it's a selling point. "Competitive" is corporate language for "we'd rather not say." It's not a red flag on its own, but combined with other missing information (vague JD, no company info), it's worth noting.
Free Tools
Related Posts
Stop applying blind.
ShouldApply estimates salary for jobs that don't list it, flags ghost postings, and scores your actual fit before you spend time applying. Free to start.
Get Your First Score