← All posts

Why the Same Job Pays 4x More Depending on Where You Sit

A Google L5 software engineer in the US earns $427,499 in total comp. The exact same level at Google in India earns $121,000. Same title, same code review, same standup. The 3.5x gap isn't a skill gap. It's a pricing decision, made by the employer, against the labour market they think they're competing in. Software engineer salary by country is set by geography, not talent.

That's the part most people get wrong. They think their salary measures them. It doesn't. It measures the market the offer was priced against, the tier of company that made it, and how the package was structured. Geography isn't a fair read on what you're worth. It's an artifact of where employers historically needed bodies to sit. Remote work cracked that open, and the people who understand the crack are walking through it.

Why software engineer salary by country swings so far for the same job

Because employers don't price your labour. They price your replacement. A company sets pay against the local market where it expects to hire the next person for that seat. That's the "market anchor," and it has almost nothing to do with the value of the work itself.

Look at what happens when the anchor moves. Across all companies and levels, the median software engineer in India earns about $35,600. In Germany it's roughly $89,000. Same job family, 2.5x apart, and the gap is almost pure geography. Then look inside one country. Ravio's data has a US mid-level (P3) engineer at $150,000 while the same level in the UK sits at about $89,000 and in Spain at about $60,000. At senior level the spread widens: a US M3 at $219,800 against a UK M3 around $139,000.

None of these numbers is "wrong." Each is rational from the employer's side. The question that matters for you is which anchor your offer gets attached to. Which is also why most of your salary negotiation is settled before you say a number: the anchor does the heavy lifting, not your closing line.

Isn't this just one tier? Or are there several?

Several. And the tier you compete in matters more than the country you live in. Tech pay isn't a smooth ladder. It clusters into bands, and the gaps between bands dwarf the gaps inside them.

The Pragmatic Engineer's breakdown of the trimodal pay structure makes this concrete. In the US, an entry-level engineer at a Tier 1 (local, non-tech) company earns a median around $105,000, while the same entry role at a Tier 2 big-tech firm pays about $180,000. That's a 1.7x gap before you've written a line of code. At senior level, Tier 1 sits near $180,000 while Tier 3 (top tech, top pay) clears $400,000.

The same structure exists in India. India-headquartered companies pay senior engineers a median near $50,000. US-headquartered companies operating in India pay around $63,000. The big-tech India tier reaches up to $200,000.

Weak read: "Engineers in Bangalore earn around $35K, so that's my ceiling." Strong read: "Three employers in the same Bangalore postcode pay $50K, $63K, and north of $100K for my level. The postcode is irrelevant. The employer tier is the whole game."

Most candidates never enter the contest for the higher tier. They apply where everyone they know applies, accept the local-anchor number, and assume the gap upward is about being smarter. It isn't. It's about knowing the tier exists and building toward it on purpose.

Did remote work fix any of this?

It created access. It didn't create parity. Those are different things, and conflating them is how people get disappointed.

Remote let a developer in Krakow or Kochi get hired by a company that used to only look within commuting distance of its office. That's real, and it's new. But most companies kept location-based pay. When Google let people go fully remote, an employee working from Stamford, CT faced a 15% salary cut, while a New York City colleague doing identical work from the same original office took 0%. Same employer, same job, same output. The only variable was the cost of the zip code they logged in from.

Some companies went the other way. Buffer publishes its formula. It used to pay cost-of-living bands of 100%, 85%, and 75% of a San Francisco benchmark, then collapsed that to High 100% and Global 90%, eliminating the lowest tier. That single change raised pay for 55 of 85 staff by an average of $10,265 each. The lever was public the whole time. What changed was the company deciding who captures the cost-of-living surplus: the employer or the employee.

Regulation is now nudging this into the open too. The EU Pay Transparency Directive, with a June 2026 transposition deadline, requires employers to justify pay gaps within a worker category by objective, gender-neutral criteria, which makes the "we just localize" answer harder to hide behind. Access is wider than ever. Parity is still a negotiation.

But don't I earn more in purchasing-power terms anyway?

Often, yes. And this is the honest counterweight to everything above. If you live in a low-cost market, a localized salary can buy you a better daily life than a bigger nominal number buys someone in San Francisco.

The numbers back it up. Per Numbeo, cost of living excluding rent is about 357% higher in San Francisco than Bangalore, and including rent it's 479% higher. A Bangalore engineer on a local package can live more comfortably, day to day, than a US engineer on triple the headline. That's not a consolation prize. It's a genuine advantage for most consumption decisions: rent, food, healthcare, childcare.

Here's where it breaks. Purchasing power parity equalizes what you can spend at home. It does nothing for what you can accumulate or move across borders. If your deep want is global: a kid's education abroad, travel, a savings rate that compounds into real wealth, an apartment in a hard currency, then nominal dollars still matter, because those goods are priced globally, not locally. PPP equalizes your lunch. It does not equalize your net worth or your optionality. Decide which one you're actually optimizing for before you tell yourself the gap doesn't matter.

How do I actually use this gap instead of just resenting it?

You target a different anchor without necessarily changing where you live. Three real shapes this takes:

ScenarioWhat changesWhat doesn't
India engineer joins a US-HQ company at India rate, then a higher tier$50K to $63K to $100K+The postcode. Same desk.
Eastern European engineer joins a US-remote role at a higher anchorSalary priced to a richer market, spent at ~40% of US costCountry of residence
US engineer goes remote from a low-cost city, takes Google's 15% cutHeadline drops 15%The job, the team, the title

The cleanest illustration is the Pragmatic Engineer's Dutch engineer who moved from an €80,000 local role to Lyft and eventually earned $450,000 a year. A 5.6x jump. They didn't emigrate. They crossed from a local-anchor employer to a top-tier one. The leverage wasn't negotiating harder inside their old band. It was recognizing the higher band existed and building a profile that could enter it.

This is what global hiring now enables at scale. Oyster, an employer-of-record platform, reports a $74,700 median salary for new hires across borders in 2024, with software engineers making up 18% of hires and the Philippines, US, and India as the top destinations. The cross-border seat is real and growing. The question is whether you're priced as a local hire or a global one.

We see the same fractured map in Praxy's own job-postings data, which spans 19 countries and 4,105 cities. The same role band moves several-fold across those markets, and "remote" shows up as one of the largest locations of all. The contest for the better-anchored seat is right there in the listings, most people just never realize they're allowed to enter it. It's the same blind spot behind why there are thousands of cities hiring while most people search in five: the map in your head is narrower than the market.

What does this cost? Name the trade-off.

The arbitrage is not free money. Pretending it is gets people hurt.

Tax and structure drag. A contractor billing US rates from India can lose a large share to tax with no employer benefits, plus double-taxation treaties, GST, and remittance rules to navigate. The net-of-tax, net-of-benefits number is materially below the headline. Run the real take-home before you celebrate the gross.

Visa and dependency. Higher-anchor seats sometimes come with sponsorship or residency strings that tie you to one employer. That's leverage you've handed away.

Career visibility. This is the quiet one, and it compounds. A remote engineer several time zones from the team is, in practice, less likely to be on the high-visibility projects and less likely to get promoted. Compensation arbitrage can quietly cost you the promotion arbitrage, and over a decade, the trajectory is the bigger multiplier on lifetime earnings.

The window is narrowing. A growing share of US firms are pulling people back to offices: 54% of Fortune 100 employees now face five-day office requirements, up from 11% a year prior. Some of the highest-paying employers are rebuilding in-person requirements that foreclose the remote arbitrage that opened in 2020. The door that was wide in 2021 is narrower in 2026. Real, but smaller.

The honest framing: this is a trade between nominal upside today and trajectory plus simplicity tomorrow. Consistency in the right seat usually beats a one-time intensity spike into a misaligned one. You get to choose. Just choose with the cost in view.

What to do now

  1. Identify your tier of employer, not just your title. "Senior engineer" is not a pay grade. "Senior engineer at a Tier 3 employer" is. Map the companies hiring your role into local-anchor, foreign-HQ-local, and global-tier buckets, and see which you've actually been applying to.
  2. Research the anchor, not the role. Before any offer talk, figure out which labour market the company prices against. A US-HQ firm hiring in India may anchor to India, or to a global band. That single fact can be worth more than your negotiation skill, and it's knowable in advance.
  3. Negotiate structure, not only the headline. If the base is localized, push on equity and bonus, where global upside often hides. The Levels.fyi 2025 report puts median senior US comp at $312,000, and a large slice of that is equity, not base. Capture the upside even when the headline is anchored low.

The leverage was never in negotiating harder inside the band you landed in by default. It's in seeing which band you're allowed to compete for, and building toward it on purpose. Geography priced the first offer. It doesn't have to price the next one.

Want to know which tier your profile can actually reach, and what the offer is really anchored to before you accept it? Talk it through with Praxy on WhatsApp. We'll map your real market, not the one your zip code assumes.

Related reading