Update: dozens of hiring managers confirmed this trimodal model applies to all global markets: from the US, through Asia to Latin America as well. Also see TechPays.com for data recorded for a growing number of countries in the three tiers.
(Watch this article as video narrated by me, with additional context)
I've been a hiring manager at Uber, in Amsterdam, for over 4 years. The market - and compensation - for software engineers have moved upwards at an incredible pace over during this time.
Interesting enough, many engineers did not notice any meaningful salary changes these years. The 2019 Honeypot Amsterdam developer survey says, "the most experienced developers earn an average of €55,000 high as over €70,000". The 2021 Talent.io salary report puts the most experienced software engineering salaries in Amsterdam at €60,000/year.
Meanwhile, I've observed the average senior total compensation figures at Uber nearly double from €110,000 in 2015 to €170,000-€230,000/year by 2020. It's not just Uber: Booking.com senior total packages have gone up by 50% from around €100,000 in 2016 to €150,000+, as part of the EU salary research I've been running (I'll share the survey reports in-detail in later blog posts - subscribe here to not miss it).
Where is the disconnect?
Tiers of Companies
I'm seeing the software engineering compensation market becoming trimodal - split into three distinct groups that "spike" and that have little overlaps. Most engineers are not aware of this third, Big Tech pillar and the compensation ranges it introduces, assuming compensation can not go beyond what is offered at the second pillar:

You'll find little to no compensation data on this third pillar on likes of Glassdoor, Payscale, Honeypot, Talent.io, Stack Overflow Jobs and other public job or salary portals. A site that is better at capturing all three tiers is the one I'm building: TechPays.com. Launching one country at a time.

Here is the split of the three groups of companies, based on their compensation philosophy:
#1: Companies only benchmarking against their local competition and non-tech companies, competing with their local competitors. Most of these places call engineering as IT, and often view it as a cost center. Technology is not treated - or compensated - as a core competency at these companies. Examples would include IT teams for local supermarkets, or e-commerce sites and similar. They'd aim to pay right around or slightly above what the other local supermarkets, e-commerce sites and similar businesses pay.
Startups with little capital and bootstrapped companies might fall in this category. In the Netherlands, these companies would pay €50,000-75,000/year for a senior engineering role in the Netherlands, everything included (apart from the hard-to-value early-stage startup equity). For an entry-level role, this number would be €25,000-40,000.
Most of these companies will pay a salary only: a fraction of them will have any bonus scheme in place. Those that have will typically cap bonuses at 10% of the annual salary, and tie it to company performance. Engineers don't receive any equity - save for, perhaps, lead or principal positions in rare cases, and very little.
#2: Companies benchmarking against all local companies, even if they are not direct competitors. In the Netherlands, examples of these companies would be eBay classifieds, Adyen, Nike, Disney Streaming, and well-funded, high-growth startups like Catawiki, FindHotel, Miro, MessageBird, TripActions would also be in this category.
These companies would typically pay €75,000-125,000 total compensation (base salary + bonus + equity) for a senior engineering role in the Netherlands. For an entry-level role, this number would be €40,000-65,000.
Most of these companies will have a bonus scheme in place that pays up to 20% of the base salary in cash, and many offer equity to more senior engineers. Only a smaller portion of this category offer meaningful equity to all engineers, though.
#3: Big Tech: companies benchmarking against all regional or global companies. In Europe, this means competing against all other major EU companies, and often recruiting people from London, Berlin, Barcelona, and outside the EU. Examples of companies in this space are Uber, Booking.com, Databricks, Amazon, Flexport, Plaid, Redis Labs, Stripe, Elastic, GitLab, GitHub, Datadog, Apple, or Netflix. Trading companies like IMC Financial, Optiver, Flow Traders or Jump Trading are in this group as well. Brexit should bring a lot more positions to the Netherlands for trading firms.
For a longer list of top-of-the-market companies and finding these, see my subscriber-only article Finding the Next Company to Work At.
As an interesting data point, Booking.com is the only non-US tech company in this group who has been keeping up with the market changes compensation-wise, competing with Silicon Valley companies from their Amsterdam HQ. Other European companies targeting the global markets would be wise to take note - and hold on to their key people.
These companies would typically pay €125,000-250,000+ total compensation for a senior engineering role in the Netherlands (meaning base salary + bonus + equity value: either liquid or paper-value: this would be up to around $300K/year in dollar value). All companies would offer a cash bonus and equity scheme for all engineers - even entry-level ones -: cash bonuses often going to 40-50% of the base salary for top performers, and equity sometimes accounting for more than the base salary for senior folks and high-performers. The exception to this is trading companies: they will not offer equity, but year-end cash bonuses will be 50-150% of the base salary.
For example, at Uber a typical senior engineer offer was around €175K/year total compensation: €115K salary, €20K bonus target and about €50K/year equity vesting - around 4,800 RSUs for vesting over 4 years, with a 1-year cliff). With equity appreciation, the total compensation value could go higher, as would with outsized rewards for top performers.
For an entry-level role, this number would be €65,000-100,000. For example, at Uber, a standard new grad offer was around €87,000 in 2020 (€70,000 salary + €7,000 target bonus + €10,000/year in stock). An engineer with a few years experience hired at the entry level could make above €100,000 in their first year, though. For example, at Uber, one of the Eng1/L3 engineers made €103,000 in their first year (€77,000 salary + €11,000 actual bonus + €15,000 in stock for their first year). Obviously, all of these Uber numbers are outdated: as the market changes, so will those figures.
Most engineers making outsized compensation in Europe have done so by taking a moderate risk on a high-growth, road-to-public company, joining before the IPO, and negotiating for equity. I know engineers at Uber, Datadog, Airbnb and Doordash who have seen great rewards for joining before going public was a "done deal". As time progresses, people working at companies that award large stock packages, and with stocks that see strong stock growth are also often in these positions.

What this means is both a new grad and a senior software engineer could be making up to 4x the annual compensation, depending on what company they are working at. Of course, there are overall fewer openings at Big Tech, and the competition and expectations are more fierce. Still, putting in the time to prepare for these interviews might make sense, knowing the difference in compensation.
Most companies tend to assume they are a tier higher than they actually are - because they have little data points that prove otherwise. Candidates keep accepting their current offers, that have not changed significantly the past years, and attrition remains as usual. However, many of these companies will be in for a surprise the coming years as the #3 category of companies hires the best talent away from #2. In turn, this will push #2 to increase compensation and equity allocation, and hire the best people from #2 and #1. And companies in #2 who do not offer meaningful equity for software engineers on top of a competitive salary will struggle to recruit anyone from #3.
If you're responsible for compensation planning, read more on the 🔒 reality of the 2021-2022 tech hiring market in this subscriber-only article that goes into what companies are doing who are hiring in this heated market. Also, follow my 🔒 The Scoop series which covers market changes and shares advice for hiring managers.
The Silicon Valley-Effect Pulling the Top of The Market
The top of the market has accelerated rapidly in the Netherlands, the past 5 years. In 2015, Booking.com was the highest-paying employer across Amsterdam - and the Netherlands. Then, Uber opened an office. At first, Uber paid similar to Booking.com - though more generous on options, and later with double-trigger RSUs. However, Uber soon stopped competing "just" locally.
Between 2016-2018, Uber re-benchmarked its compensation model to go head-on-head with the highest-paying tech companies in Europe: Facebook in London, Google in Zurich, Twitter in Dublin, and similar organizations.
The updated Uber compensation packages in 2018 were pretty much identical to that of Facebook London. This was no mistake: during these times, many candidates had offers both from us, and from Facebook or Google. I'd like to take credit for convincing people with Facebook/Google offers to choose my team: but without a compensation package that was competitive, all my efforts would have been worth nothing.
Silicon Valley companies opening EU offices have been a huge source of moving the market upwards - and swinging the balance back a little bit towards Europe / The Netherlands. The total compensation packages in the US have been shockingly high from the perspective of EU software engineers: and many engineers from the EU have packed up and left, seeing the wide gap.
An example is a Dutch engineer I know leaving their €80,000/year ($94,000) job in the Netherlands for an initially $350,000/year position at Lyft. Following promotions, they are now making more than $450,000/year (€378,000/year). Yes, healthcare and the cost of living are more expensive in the US: but this person has told me their only regret is they had to leave home to get paid their worth.
Imaginary Money that Turns Into Real Money
Many engineers are hesitant to join companies that give out equity like double-trigger RSUs, options, SARs or others, but are not public.
However, imaginary money usually comes at a discount, and offered in larger amounts to offset the risk of people joining earlier. I benefitted from taking a risk at Uber. I joined in 2016, and I only had imaginary money up to the 2019 IPO. Then, all that imaginary money converted to a large amount of real money. People joining after the IPO got half or less the stock units than people joining beforehand: there was no risk to be compensated for, any more.
Databricks, Flexport, Miro, Messagebird and other fast-growth companies are all similar stories. There is a chance these companies won't IPO: just like there was the chance that Uber would not. They also offer stock more generously then they would, after a successful IPO. Look into understanding the money markets, the current and past IPO trends and make your own decisions. I was cautiously certain that Uber would have an IPO within a few years of joining given the investor pressure building up: some of my friends thought I was being reckless in joining a company that offered imaginary money at large.
There are also early-stage, high-growth startups that are promising, and employee equity they award can turn into big gains on an exit years down the line. Craft, Fonoa, Linear, Payaut, FindHotel and others are examples of these places. Yes, there are are cautionary examples of how things can go wrong as well. Use your own judgement, risk-assesment and how much you believe in the company's mission and trajectory.
After a company goes public, equity compensation tends to drop, while competition to get into those places becomes more intense. A person who works at Opendoor shared how right after their IPO, the number and quality of applicants have skyrocketed - which is an all too typical story. These companies still pay well, but will not pay any premium for a pre-IPO risk, and if you apply, you'll have far more competition to stand out from and you'll need to prepare more for the coding and systems design interviews.
Equity, IPOs and The Impact on Compensation
Much of the high total compensation numbers are linked to equity that software engineers receive. Publicly traded companies that compete globally issue high equity packages. Unicorns and decacorns competing for the same engineers often issue large private equity packages for employees.
This equity can become very valuable on a successful IPO - but is not guaranteed to do so thanks to the nature of equity:

Databricks, Flexport, Miro, MessageBird, and other companies with large Amsterdam offices are all ones that are expected to go public in the next few years. An engineer who joined Databricks in late 2018 has $6M worth of stock - on paper, that is. Joining rapidly growing companies that offer strong equity packages can increase your compensation significantly.
Risk, rewards, and luck often go hand in hand with engineering compensation on the high end. The higher the ration of equity in your compensation, the higher gains - or losses - you can see with the equity price going up or down.
For example, Uber was not always considered as the top of the market for salaries in the Netherlands. In 2015, Uber paid in-line with Booking.com, and it was uncertain if there would be an IPO in the foreseeable future. In 2017-2018, Uber started to issue larger packages, and the IPO timeline became more certain:

However, most Uber engineers would describe the IPO in 2019 as disappointing. Many engineers had RSUs issued at a $48 preferred price, Uber IPO'd at $45, and the stock traded at $30 when the lockup expired, and people could sell:

The total compensation number of anyone with Uber stocks would go down at this point. However, anyone lucky enough to join late 2019 or early 2020 was issued stock at a price that is less than half of where Uber is trading now - and they could now have a much higher total compensation than most employees in a similar role.
The highest compensation packages will also typically be the most volatile ones, value-wise. This is also why it's hard to answer how much an engineer working at the likes of Uber is earning. The base salary and bonus: those are easy to quantify. But the equity that can make up a major portion of your salary? It is much harder to predict.
Performance on the Job and Compensation
The Silicon-Valley mentality of paying high-leverage engineers very well does not stop at salaries. It also includes how bonuses, and equity refreshes are awarded.
At some companies, the top performers can be paid outsized bonuses and stock, in ways that push their compensation well above the next level. While working at Uber, I was lucky to have engineers who were perceived as top 1% or top 3% of engineers. Here's the type of rewards some people got at Uber Amsterdam:
- A €190,000 bonus at the end of the year: €50,000 in cash paid on the spot, and €140,000 in stock, vesting over 4 years, on a monthly basis. The target end of year bonus for this role would have been around €62,000 (€22,000 in cash and €40,000 in stock vesting over 4 years - this person got 2.5x the cash, and over 3x the equity target).
- A $80,000 spot bonus to be paid out in 4 instalments over 2 years ($20,000 every 6 months). This was on top of the "normal" bonuses.
- A $220,000 stock refresh award, vesting over 4 years to bring a person up to the range they should be, based on their performance. The usual stock refreshes for this role would have been around $50,000 every year.
- A €40,000 spot bonus vesting 12 months later, serving as a retention grant.
- 24% salary increase on promotion, taking performance into account. The usual increases were 10-15%, and depended on where the salary band of the person was.

At Uber, I've seen people who were a level below me, but still making more per year than I did, thanks to their outstanding performance, impact, and the bonus that followed. Some of these people were on my team - and I loved that the system allowed this difference. Because we could reward high performers disproportionately, these people did not even think of leaving. Why would they?
Thanks to this policy, as a manager, I was able to work with some of the best engineers throughout my career - for an extended period of time. Did I mention that over 4 years, no person who reported to me left Uber - up to the summer 2020 layoffs, that is? I'm sure it was not just compensation: but it sure played some part in this.
At companies who pay top of the market, people who are seen as key engineers often see outsized rewards, on top of the already great salary. And even the normal bonuses are what would be considered very large at #2 type of companies.
Outsized compensation and rewards also attracts really good talent - who you get to work with, if you also make it into the same company. I was lucky enough to work with - and learn from - engineers who have built the original PayPal payments system while working on Uber's payments system, read RFC comments on whether to use React Native from one of the first React Native core engineers who joined from Facebook, or get feedback on how not to mess up a big project from a manager who saw Google Plus fail first-hand.
COVID Tilting the Balance to the EU
COVID has also been a major boost for high-paying senior jobs. A growing number of EU software engineers are considering or have moved back to Europe. And more US companies realize they can hire cheap, but world-class software engineers in Europe.
A Dutch software engineer with 15 years of experience has joined a pre-IPO US company, working remotely to build large-scale distributed systems. They said:
I live in The Netherlands and in software development since 2000. I freelanced from 2008 to 2018. In 2018, I was recruited by {US startup acquired by a Big Tech company}, and boy, did a whole new world open for me. I'm moving into a new role at {Pre-IPO US company} Monday and my salary is roughly double (sometimes even triple) of what I could earn at the average enterprise or consultancy. And that's not even counting equity. At {US startup acquired by a Big Tech company}, I was a bit too late, but here, I'm in a good position. I should make enough to get rid of my mortgage, assuming a conservative IPO.
I learned more at three years of {US startup acquired by a Big Tech company} than in the 15 years before that. And the people I got to work with and are in my network now are invaluable.
COVID helped a lot too, IMO. Companies realised full remote is an option and you can increase your talent pool to include the entire planet.
I talked with the head of mobile engineering at a pre-IPO decacorn, who told me he's amazed he can hire staff-level engineers for $180,000/year (€150,000/year), who work extremely well, and on par with their Bay Area engineers who cost 2-3x this much, at $400-600,000/year. This organization is deciding which EU countries to open an office, the head of mobile already getting budget approval for a major hiring spree. The Netherlands is a front-runner for them.
Stripe and Spotify have both started to hire for permanent remote positions in Europe as well, expanding their hiring pool to all of the EU. Both companies are competing across Europe, and not with the local market. They join companies like GoDaddy, GitLab, GitHub, and others who have been doing this for years.
Getting Into Big Tech
The majority of companies in the Netherlands will fall into the #1 and #2 categories of companies aiming to compete only on the local market. Getting an offer from companies in the #1 category is usually the easiest, while #2 can be more challenging. However, the Big Tech companies in the #3 category are by far the most competitive ones to get into.

For any given position, there are usually so many applicants that you need to have a good and tailored resume to get through the resume screen - my first book helps with clearing this CV stage. The best advice? Get a referral if you can, and tailor your resume to the position you apply to.
For entry-level roles, you'll have to really prepare for the coding interview. Data structures, algorithms: the works. Like it or not, this a hoop that these companies will want all successful applicants to jump.
For senior and above positions, it gets trickier. You'll need to get good at large-scale systems design and have relevant experience for the type of work you'd do to get an offer at the senior engineering level. You'd have to have worked on similar systems before, often working at either another #3 company, or one of the better #2 ones.
For above senior positions, you'll only have a shot if you've solved similar-scale challenges to what these companies are doing, and have worked at comparable environments. You also need to be up-to-date with where the industry is at: may this be backend, web, mobile, or ML systems. Above senior positions are rare, and are almost looking for people who can have organization-wide impact on complex and impactful problems that is measured in the tens or hundreds of millions in users or revenue.
Many of the companies in #3 represent exciting professional challenges that companies in #1 or #2 do not have to offer. Even if it was not for the compensation, they might be worth exploring at some point during your professional career.
I'm writing up my raw Big Tech interview preparation thoughts in emails that you're welcome to subscribe to if interested. I'm doing so as, unfortunately, there's little practical advice on how to prepare - and I have first-hand experience both preparing for Facebook and Uber, as well as interviewing candidates while at Uber.
A resource that has helped people get into, and perform at expectations in Big Tech is my newsletter, The Pragmatic Engineer Newsletter. I cover topics relevant to software engineers and engineering managers at Big Tech and high-growth startups. Here are examples of what I write about. You can subscribe here for free.
Differences Between #1, #2 and #3 Outside Money
There is far more to what makes a good job than compensation. Places that offer high compensation usually mean higher competition to get in and stay on the job. It usually means unpaid oncall, often working with various timezones, and it can mean poor work-life balance compared to other places.
Work-life balance tends to be drastically better in the #1 category of local-only companies, compared to #2 and #3. In the Netherlands, the #1 companies places where it's common for the majority of the people to work less than 5 days a week, work to be steady and easy to plan, and work not starting betfore 9, or running beyond 5.
There tends to be little difference between #2 and #3 in terms of pace: they are both fast-moving, and often set high expectations for those who would like to perform well. A major difference is how many #2 places are in one timezone, and people can often disconnect in the evening hours. At global companies in #3, this is not always the case: at Uber, I would often have calls at 6pm or 7pm with teams in SF - which was in the morning their time. In turn, when working with US companies, people at #3 would sometimes start their day later.
Being warned, then let go when not performing at your expected level is by far the most likely to happen at #3. These places pay well not just because they can, but because they want high-performing teams - and people. If someone is not up to expectations, and does not improve despite direct feedback, they won't think too much about letting this person go, and hiring someone else who will do so. Compensation is also structured in a way to pay for performance - for example, all employees performing at expectations already get large cash and equity bonuses, while those who are below this bar can see their bonus hit zero. It goes the other way as well: people seen as top performers will get rewards and retainer bonuses unheard of outside the group of #3 companies.
Netflix is well-known for their "keeper test" and while working there comes with more cash than any other place will pay, getting fired is never far from anyone's mind. On the flip side, when working at a place like Netflix, you don't have to put up with people who are deliberately slacking or are pulling the team down: they won't be for the company for very long.
It's Not Just About Comp
Compensation is just one data point - though one that tends to have little transparency in Europe. I'll be publishing more detailed data points on this blog on the Netherlands, UK, Germany, and other EU countries' software engineering salary data that people have shared- and you can share as well.
Just make sure you're weighing not just the salary but other important things like professional growth, autonomy, mentorship, working directly on a product, work-life-balance and the things that matter to you:

I'll follow up with more detailed compensation analysis for the Netherlands and Europe with numbers and company names - subscribe to my newsletter or follow me on Twitter to not miss it. If you work in tech, in the EU, please consider anonymously sharing salary data you are aware of via this form.
If you're responsible for compensation planning in the Netherlands, you might also want to read my article 🔒 The Perfect Storm Causing an Insane Tech Hiring Market.
Interested in more details? I made a video, sharing more of my thoughts on why a comparable software engineering position can pay very different.
Other models: in 2016 – 5 years before this article was published – software engineer Dan Luu published the article Is dev compensation bimodal? and came to the conclusion, "if I had to guess, I'd say that while the dispersion in programmer compensation is increasing, it's not bimodal, but I don't really have the right data set to conclusively say anything."
Featured Pragmatic Engineer Jobs
- Senior DevOps Engineer at Polarsteps. Amsterdam.
- Senior Software Engineer at Ladder. $150-175K + equity. Palo Alto (CA) or Remote (US).
- Senior Software Engineer at GetYourGuide. Berlin, Germany.
- Senior MLOps Engineer at GetYourGuide. Berlin, Germany.
- Senior Software Engineer (Reporting) at CAST.AI. €72-96K + equity. Remote (Europe).
- Senior Software Engineer (Security) at CAST.AI. €60-90K + equity. Remote (Europe).
- Senior Sales Engineer at CAST.AI. Remote (Europe, US).
- Senior Frontend Developer at TalentBait. €60-80K + equity. Barcelona, Spain.
- Technical Lead at Ably. £95-120K + equity. London or Remote (UK).
- Senior Software Engineer, Missions at Ably. £80-100K + equity. Remote (UK).
- Software Engineer at Freshpaint. $130-210K + equity. Remote (US).
- Senior Software Engineer, Developer Ecosystems at Ably. £80-100K. Remote (UK).
- Senior Web Engineer, Activation at Ably. £75-85K. Remote (UK).
- Web Engineer at Ably. £70-75K. Remote (UK).
- Staff Software Engineer at Onaroll. $170-190K + equity. Remote (US).
- Staff Software Engineer at Deepset. Remote (US, Europe).
The above jobs score at least 10/12 on The Pragmatic Engineer Test. Browse more senior engineer and engineering leadership roles with great engineering cultures, or add your own on The Pragmatic Engineer Job board and apply to join The Pragmatic Engineer Talent Collective.
Want to get interesting opportunities from vetted tech companies? Sign up to The Pragmatic Engineer Talent Collective and get sent great opportunities - similar to the ones below without any obligation. You can be public or anonymous, and I’ll be curating the list of companies and people.
Are you hiring senior+ engineers or engineering managers? Apply to join The Pragmatic Engineer Talent Collective to contact world-class senior and above engineers and engineering managers/directors. Get vetted drops twice a month, from software engineers - full-stack, backend, mobile, frontend, data, ML - and managers currently working at Big Tech, high-growth startups, and places with strong engineering cultures. Apply here.