Every salary guide gives you one confident number. The problem is that the confident numbers disagree with each other by tens of thousands, and if you set a hiring band from the wrong one you will spend three months wondering why nobody accepts.
This guide gives you the ranges from the major public sources, side by side, and then explains why they differ. The second part matters more than the first.
Germany, 2026
| Level | Typical base range | Notes |
|---|---|---|
| Junior, 0 to 2 years | €55,000 to €65,000 | Berlin and Munich at the top of the band |
| Mid, 3 to 5 years | €65,000 to €85,000 | The largest population, and the most contested |
| Senior, 6 to 8 years | €80,000 to €115,000 | Where the published sources diverge most |
| Senior, 8+ years | €100,000 to €120,000+ | Scarce, and rarely on the open market |
The published averages sit between €68,750 and €94,572 depending on who you ask, which is a 37% spread on what is supposedly the same figure. For senior specifically, Glassdoor puts the average at €80,000, levels.fyi puts the senior median at €92,878, and SalaryExpert reports €106,926 at eight or more years.
None of them are wrong. They are measuring different populations.
United States, 2026
The American picture is harder to read because base salary stops being the point somewhere around senior level.
| Level | Base | Total compensation |
|---|---|---|
| Mid | $135,000 to $180,000 | Close to base at most employers |
| Senior | $180,000 to $210,000 | $270,000 to $320,000 at public tech |
| Staff, L6 | $230,000 to $350,000 | Frequently clears $400,000 |
| Principal, L7 | Higher still | Reported above $1M at top employers |
levels.fyi puts median total compensation at $195,000, with a range of $135,200 to $281,475. Glassdoor's senior average of roughly $202,720 looks lower than the public-tech figures because it blends in employers who pay no equity at all.
That is the single most important thing to understand about US benchmarking. A number that does not say whether it is base or total compensation is not a number you can set a band from.
Why the sources disagree
Four reasons, and they compound.
Self-reported versus advertised. levels.fyi and Glassdoor are self-reported by employees, which skews toward people who are pleased with their package and toward larger technology employers. Advertised-salary datasets skew the other way, because the roles that get advertised are disproportionately the ones that are hard to fill at the price offered.
Base versus total. In Germany this matters less: equity is rare outside startups and the bonus is usually modest. In the US it is decisive. A staff engineer on a $280,000 base and a $250,000 annual RSU grant appears in one dataset at $280,000 and another at $530,000.
Survivorship in the sample. Public salary sites are dominated by employees of companies that pay well enough that people want to talk about it. The mid-market engineering employer paying €72,000 in Stuttgart is systematically under-represented.
Title inflation. "Senior" at a forty-person startup and "Senior" at SAP are not the same job, the same scope, or the same market. Any dataset keyed on job title inherits that noise.
How to actually set a band
Start from the people you want, not from a percentile.
Name six to ten engineers at named competitors who could genuinely do the job. Work out what they are on, which is a conversation rather than a lookup. Set your band to beat that for the ones you would hire tomorrow. This is what a mapped search produces as a by-product, and it is worth considerably more than any published average.
If you cannot do that, use the ranges above but apply three corrections:
- Decide base or total before you look at any number, and never mix the two in the same comparison.
- Discount published US figures by 15 to 25% unless you are a public technology company with real equity. The datasets are dominated by employers who are.
- Add a premium in Germany for scarcity, not seniority. Kubernetes-at-scale, real-time systems and regulated-domain experience move the number more than another two years on the CV.
What we are seeing in live searches
Two patterns from our own briefs this year.
The gap between what a strong engineer is paid where they are and what it takes to move them has widened. A counteroffer at a 20% premium is now routine rather than exceptional, particularly in Germany where notice periods give the incumbent employer three months to react. Budget for it, or prepare a non-financial response before you make the offer rather than after.
And the mid-level band has become the tightest part of the market in both countries. Everyone plans to hire seniors; almost nobody has planned for what happens when the seniors want a team under them.
We recruit engineering teams across the UK, DACH and the US, and we benchmark every brief against the live competitor set before a search opens. If you are setting bands for 2026, our software engineering recruitment page sets out how we run these searches, or you can just tell us what you are hiring for.
Sources: levels.fyi, Glassdoor, SalaryExpert. Figures are gross annual and were current at the date of publication. Treat them as a starting point for a conversation, not as a determination.