The Trimodal Nature of Software Engineer Compensation: Why Positions Pay a (Very) Different Salary

The Pragmatic Engineer 12min 3 min #5
The Trimodal Nature of Software Engineer Compensation: Why Positions Pay a (Very) Different Salary
Watch on YouTube

Summary

  • Software engineering compensation in Europe and Canada follows a trimodal distribution — three distinct salary bands that can differ by 2–5x for the same role in the same location, and most engineers are unaware of the highest band because public data sources only capture salary, not total compensation.

The Three Compensation Bands

  • Band 1: Hyper-local companies

    • These are local businesses hiring from and competing only within their own city or region — examples include local supermarkets, government agencies, the post office, cable providers, and small startups with local customers.
    • They typically pay only a base salary with no bonuses or equity; most employees at these companies don’t even know what equity is.
    • In the Netherlands, the average salary for senior engineers (7+ years) at these companies is around €60,000 — which is what most public sources report as “the average.”
    • These companies generally offer the best work-life balance, with some supporting four-day weeks and predictable hours.
  • Band 2: Top of the local market

    • These companies want to attract the best talent in a specific city or country and pay more than hyper-local firms to do so.
    • Compensation here is total compensation (salary + bonus + equity), not just base salary. A senior engineer in Amsterdam might earn €80,000–€100,000 in total comp — for example, €60,000 base + €40,000 in equity, or €90,000 base + €10,000 bonus.
    • These are the highest numbers you’ll see on Glassdoor, PayScale, or recruitment sites, but they are not actually the top of the market.
    • They tend to be more competitive and expect more from employees, though if they operate in a single time zone, hours can still be reasonable (e.g., people at Booking.com reportedly log off at 5 PM).
  • Band 3: Top of the regional market (pan-European or pan-Canadian)

    • These companies compete for talent across all of Europe (or all of Canada), not just one city. They benchmark against each other — Uber in Amsterdam benchmarked against Facebook in London, Google in Zurich, Twitter in Dublin, HashiCorp in London, Stripe, etc.
    • Total compensation is significantly higher: a senior engineer at Uber in Amsterdam would earn roughly €170,000–€180,000 in their first year; even entry-level engineers with zero experience would earn about €90,000.
    • The base salary alone isn’t dramatically higher than Band 2 — the difference comes from much larger equity grants and bigger target bonuses.
    • In Amsterdam/Netherlands, this band includes Uber, Booking.com, Databricks, Flexport, Elastic, Redis Labs, Amazon, GitHub, and GoDaddy — almost all US companies except Booking.com.
    • These roles are extremely competitive: Uber received ~500 qualified applications for just 4 new-grad positions. Applicants typically have extensive practice and relevant internship experience.
    • These jobs are also the most stressful: teams span multiple time zones (e.g., San Francisco and India), leading to very early or late meetings, on-call rotations that can wake you up at night, and high-pressure systems where downtime is extremely costly (e.g., Uber’s payment system cost roughly $100,000 per minute of downtime).
    • Work-life balance is the weakest in this band — the speaker personally had zero free time in his first months at Uber, and some colleagues quit after an intense project.

Why Most People Don’t Know About Band 3

  • Public compensation data in Europe focuses on salary, not total compensation. The base salaries in Band 3 aren’t dramatically higher than Band 2 (e.g., you won’t see a base salary above €130,000 in Amsterdam), so the true total comp — which can reach €250,000 — is invisible on Glassdoor or PayScale.
  • People who earn these packages don’t share the information. In Europe, there is very little salary transparency compared to the US, where discussing pay is more common and actually helps the market by letting people know their value. In Europe, those at the top of the range stay quiet.

Trade-offs Between the Bands

  • It’s not a simple choice of “higher pay is better.” Each band involves real trade-offs:
    • Band 1: Best work-life balance, lowest pay, least career brand recognition.
    • Band 2: Moderate pay, reasonable expectations, decent balance.
    • Band 3: Highest pay and steepest professional growth (working on massive, high-impact systems), but most stressful, hardest to get into, and worst work-life balance.
  • Moving between bands is not easy — someone at a Band 1 company may not pass resume screening at a Band 3 company.
  • Individual circumstances matter: health, family situation, desire for flexibility, and willingness to tolerate stress all influence which band is the right fit.

Salary Transparency and the Survey

  • The speaker (Gergely Orosz, The Pragmatic Engineer) is collecting anonymous salary data from software engineers across Europe to build a more complete and realistic picture of compensation.
  • He argues that more transparency benefits employees and helps the market function better, even if some employers prefer to keep pay opaque because they’re currently paying below market rates.
Back to The Pragmatic Engineer