👋 Hi, this is Gergely with a subscriber-only issue of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. If you’ve been forwarded this email, you can subscribe here. The Trimodal Nature of Tech Compensation RevisitedWhy can a similar position offer 2-4x more in compensation, in the same market? A closer look at the trimodal model I published in 2021. More data, and new observations.My most frequently-cited article to date is one published before the Pragmatic Engineer newsletter had even launched. It’s The trimodal nature of software engineering salaries in the Netherlands and Europe. I wrote it in 2021, between leaving my role as an engineering manager at Uber and starting this newsletter. The article attempted to analyze how tech compensation really works, mainly in the Netherlands. I wrote it because I was confused by the very large differences in compensation figures quoted in tech salary research about pay for senior software engineers, and what Uber actually offered tech professionals in Amsterdam. There was an invisible comp range which nobody talked about and I wanted to find out if this gap was real. And if so: why did it exist? I based my analysis on 4 years I’d spent as a hiring manager; extending offers, learning about counter-offers, and candidates sharing their comp numbers. It also included around 100 data points from the Netherlands market which I sourced via a form I asked people to share their pay details in. Three years later, I have comp feedback from hundreds of tech professionals, have spent a load of time talking with hiring managers, CTOs, and founders about pay, and also amassed 10x more data points. So, it’s time for a fresh look at the model! Today, we cover:
We will go into details – with data – about why this kind of distribution for compensation exists in most markets: This article harnesses data from several previous issues of this newsletter. You won’t be surprised that I recommend them as useful extra context:
The bottom of this article could be cut off in some email clients. Read the full article uninterrupted, online. 1. The trimodal modelIn this article, we discuss total compensation, not just base salary. Total compensation consists of:
Back in 2021, I collected around 100 data points on the Dutch market of small local companies, all the way to international businesses like Booking.com, Databricks, Uber, and more. I mapped out the numbers and plotted a line on the graph: This graph was not what I expected, which was something closer to normal distribution. ‘Normal distribution’ (aka Gaussian distribution) is a common concept in statistics, mapping the probability distribution of a random variable. If we know median total compensation is $X, a normal distribution graph looks something like this: Normal distribution doesn’t inevitably occur, but experience shows that it frequently describes things containing some degree of randomness, such as human height, blood pressure, exam scores, IQ scores, reaction times – even shoe sizes. Could this compensation graph be a collection of three other distinct graphs? I noticed three “local maximum” spots: That would explain the strange shape. I grouped the data points behind the graphs, and sure enough, found three different groups:
Mapping these three groups separately to the same data I plotted before, produced this: This graph looked pretty sensible, and the three distributions more normal. These were still not “normal” distributions, but the “long tails”of tiers 2 and 3 compensation components were explained by equity appreciation. Specifically, outlier data points (very high total compensation numbers) were almost all people who received an equity grant which had appreciated 5-10x since issuance, pushing up total compensation. The trimodal model explained why public salary benchmarks seemed wrong. It was puzzling that sites like Payscale, Honeycomb, and similar sites published median compensation numbers that seemed too low, and did not even hint at the higher packages that clearly exist at the market. The trimodal model explained what was happening: all these sites were only showcasing data for the lowest tier, Tier 1 — and perhaps a few data points for Tier 2. Looking at my model, this checked out: Comparing data within the Netherlands, it all checked out. Sites like Honeypot and Talent.io reported the median senior software engineering salary was around €60,000/year ($65,000) and they were right: for Tier 1 packages only! I also observed it was possible to find a few more data points in the Tier 2 range scattered among individual data points on sites like Glassdoor, but that there was little public data on Tier 3 – the “invisible” range. There seem several reasons why there’s so little data on Tier 3.
But in the past few years more data has been published about the top of the market. Salary sharing and offer negotiation site Levels.fyi is the best-known source, covering virtually all top-tier (Tier 3) companies in the US. Other sources include Blind, an anonymous social network used by many working in tech, where people are expected to share their total compensation – aka TC – in each post, and some Reddit forums. Confident that I had sufficient data points for the Netherlands, I published this graph and accompanying article. 2. Applicability in the US, Canada, UK, Europe, and beyondAt the time I didn’t know if the model applied beyond the Netherlands because all data I’d sourced related to that country. The lowlands nation has characteristics that overlap with the US, European countries, and other places with venture-funded tech companies:
Other countries share these characteristics to varying degrees. The model seems to hold up well, internationally. Since publication, feedback has been continuous, and hiring managers and engineers confirm the model explains the dynamics in their countries and regions – with only the numbers needing adjustment. I’ve talked with founders and hiring managers in the US, Canada, UK and EU, who shared that this model is relevant to them. US:
In an interesting follow-up, compensation negotiation and salary benchmarking site Levels.fyi found the model perfectly explains US internship salary ranges: Canada:
New Zealand:
Japan: software engineer Patrick McKenzie (resident in Japan) suspects the same applies there: I created this model to explain compensation for engineers and engineering managers, but it seems to hold for product managers, and roles across tech. Aaakash Gupta was a VP of Product and worked at Apollo.io, Affirm, and Epic Games. He concluded:
3. Validating the trimodal model with dataAfter publishing the model, I launched a side project called TechPays, a site where people can anonymously submit compensation numbers. It’s geared mainly towards Europe, where there are fewer data points for higher tiers. I analyzed detailed data points submitted in 2022. In that year, there were 1,100 submissions for the Netherlands, and 482 were for senior software engineer positions; nearly 10x more data than in the original model. So, how does the model hold up with the additional data? Cutting out distant outlier data points at the bottom and top, it did pretty well. Here is the 482 data points for senior software engineers with no grouping: Let’s plot these data points into a line: I manually tagged each company with the tier that was most appropriate: Here’s what happens when applying the trimodal model after tagging each company by tier: Let’s clean the chart up by removing distracting lines and numbers: 4. Numbers and tier distribution in the NetherlandsHere are more detailed data points for mid-level, senior, staff+, engineering manager and engineering executives in the Netherlands:... Subscribe to The Pragmatic Engineer to unlock the rest.Become a paying subscriber of The Pragmatic Engineer to get access to this post and other subscriber-only content. A subscription gets you:
|
Search thousands of free JavaScript snippets that you can quickly copy and paste into your web pages. Get free JavaScript tutorials, references, code, menus, calendars, popup windows, games, and much more.
The Trimodal Nature of Tech Compensation Revisited
Subscribe to:
Post Comments (Atom)
Google's Big Toggle Button Design Mistake
The right way to show toggle states ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ...
-
code.gs // 1. Enter sheet name where data is to be written below var SHEET_NAME = "Sheet1" ; // 2. Run > setup // // 3....
No comments:
Post a Comment