As the child of a blue collar, middle class family, I grew up around feelings of fealty to employers. My parents grew up impoverished, so their fear of financial instability takes the form of loyalty to the bossman. (As laborers, they also have a deep love for unions. Power to the workers!) They taught me to be grateful for stable income, and to not ask for too much for fear of retracted offers or resentment.
But how much is “too much” to ask for in technology? The tech industry is bloated in the US, with inflated salaries heavily dependent on location. I learned pretty quickly as a software engineer that my humble salary expectations inherited from my hardworking parents were…inaccurate.
I’m in the middle of a job hunt right now, and nearly every application asks for salary expectations. If it’s optional, I don’t provide one. I’ve been taught to wait for an employer to offer a number first, and that’s made negotiating much easier. If it isn’t optional, I put a value that I know will be negotiated anyway.
In order to figure out what that value should be, I did what I usually do: I asked Twitter.
(After several people asked, I added that I’m looking for remote work in the US. There was also a consensus that internships do, in fact, count as work, so my years of experience became four. Also added: I have a computer science degree, a year of project management experience, and a strong background in DEI.)
I expected some friends to chime in and share numbers and their reasoning. Instead, the replies piled up. I got numbers, compliments, insults, and snark. The salary ranges exploded, and numbers were tossed in for Indian, Australian, and European markets. I must have hit a buzz word somewhere and venture capitalists jumped into the fray too. At some point conversations became less about salary and more about my personal worth as an engineer.
On one hand, my reaction was:
On the other hand, I got a wild range of data and responses. That’s what I wanted to share here today, so folks don’t have to go toiling through that hellfire of replies. Let’s go.
I’d like to first start by defining some terms people often used in the replies.
- COL = cost of living
HCOL = high cost of living
MCOL = mid/medium/median cost of living
LCOL = low cost of living
(These are also sometimes called “Tier 1”, “Tier 2”, and “Tier 3” respectively.)
- YOE = years of experience
- FAANG = Facebook, Apple, Amazon, Netflix, Google (now Alphabet)
- RSU = restricted stock unit
- IC = individual contributor
- L<#> = Level #, a form of leveling in some companies (Engineer I, Enginer II, etc.)
- F50/F100/F500 = Fortune 50/100/500, top earning companies in the US according to Forbes
These may seem obvious, but for people new to US industry or outside of the US entirely, definitions are necessary and helpful.
- Every person was answering for the information I gave, and was therefore answering for a mid-level engineer salary.
- Only US-based salaries are relevant to my question, and therefore all non-US-salaries are excluded.
- Non-US-based salaries “translated” into USD won’t factor US-specific cultural salary expectations into my situation, and therefore are excluded.
- Tech salaries change rapidly and entry/mid-level salaries listed anything past 5 years ago may no longer relevant, and therefore are excluded.
- Salaries are my focus, so responses with total compensation are excluded.
To make the responses more palatable, I had to use every reply and quote tweet from my original question. Screenshots of each response became data points. Since I provided no formal response template, I had to identify patterns in the responses.
Many answers included cost of living factors, ranges of salary (earning a minimum of X and a maximum of Y), and a single or average amount. I defined minimum, maximum, average, and cost of living as my main data categories, and started organizing the responses in a spreadsheet. If a response included a base salary affected by cost of living, location, or any other factor, I included multiple entries to reflect each individual range.
Because I also didn’t require folks answer for different cost-of-living locations, most responses didn’t add where their bias came from. I took this into account by first looking at data together, and then by separating out data into High, Medium, and Low cost-of-living groups and analyzing those separately. (This means that some groups are significantly smaller than others, and the data is not trustworthy. This isn’t a serious scientific report anyway. This is just out of curiosity and…fun? Maybe?)
The spreadsheet can be found here, for those curious.
Finally, I will not purport to be a data scientist. I merely made some numbers easier to understand. All of this should be taken with a grain of salt.
For all of the responses, the averages were:
Average minimum salary: $107,316.46
Average maximum salary: $151,755.56
Average salary: $121,447
Averages (High Cost of Living)
For only high cost of living salaries, the averages were:
Average minimum salary: $128,894.74
Average maximum salary: $172,975
Average salary: $140,281.25
Averages (Medium Cost of Living)
For only medium cost of living salaries, the averages were:
Average minimum salary: $90,142.86
Average maximum salary: $125,150
Average salary: $111,564.29
Averages (Low Cost of Living)
For only low cost of living salaries, the averages were:
Average minimum salary: $70,000
Average maximum salary: $97,500
Average salary: $71,500
(The low cost of living salaries only had 5 entries and weren’t useful in a histogram.)
Averages (No Cost of Living Included)
For salaries with a cost of living included (and probably the closest we’ll get to answers for remote workers), the averages were:
Average minimum salary: $103,098.04
Average maximum salary: $148,204.55
Average salary: $119,367.19
Outside of the numbers, a lot of folks shared their own thoughts on how people responded. Probably my favorite was this one:
The US has very clearly disparate expectations of salary depending on your location. If you live somewhere with a “high” cost of living (like Seattle, San Francisco, New York, etc.) you’ll need to make more than someone living somewhere with a “low” cost of living (non-metro areas, small cities). While it’s true that the coasts (and Hawai’i) seem to have the highest cost of living and the plains and western states are lower, what strikes me is that the average I’d make in each area doesn’t differ wildly until I look at the data for the lower cost of living responses.
The average salary I was given for any area landed around ~$121,000. For high COL, I was given $140,000. For medium COL, I was given $111,000. Even with no COL factored, I was given $119,000. To say the range of these isn’t significant is short-sighted, but when compared to the salary given for low COL ($71,000), they’re very similar. This raises the question, is the cost of living between medium and low that different? Does my work have less value in low COL areas? Given the push towards remote work since the pandemic started, will areas with low COL have to adapt to be closer to medium COL salaries?
I don’t have good answers for any of those, but I know I’ll be avoiding low COL industries/companies for now.
Besides just COL, the fact that my original question spawned such a wide range of salaries caught some folks’ attention.
While I disagree that your “worth” can be measured, and I especially disagree that it can be measured in monetary value, Alisha brought up a great point: how do we negotiate when we don’t have a good baseline? With such varied salaries in the US and no standardized pay rates, engineers have no good way to ask for specific numbers. We don’t have solid data to stand on. Most salary data is gathered by specific companies and hidden away from public eyes. Some websites like Indeed and Glassdoor have offered the option to share your salary upon hire, but those don’t include the full context of the hire (particular fit for the role, niche skillsets, etc.) In the US, we have a cultural taboo about disclosing salary. We’re generally forced to rely on hearsay and whisper networks to figure out what our coworkers are making, and if we’re being paid fairly by comparison.
(It’s not unusual for women in tech to find out they make significantly less than their non-women coworkers. Racial pay gaps are also ubiquitous, and often more severe than gender alone.)
[EDIT: I’ll also add that women and nonbinary people have a general pay gap in the US. I had a hard time finding any data for nonbinary people and salary in tech.]
If I haven’t made this abundantly clear already, I’m fully for salary disclosure. It’s our right in the US to do so, according to labor law, and the only way we’ll know our rightful compensation is to share amongst ourselves. (In the spirit of transparency, my last role’s compensation was $105,000 base salary. It was remote work for a coastal company.)
If you’re here for the schadenfreude, I’m not here to disappoint. Please enjoy this terrible compilation of people being rude on the internet.
There’s no standard pay for any engineer, regardless of level or experience or fit for a particular role. Privilege plays a large role in our salary and our expectation. As a white disabled queer woman, I must factor in my privilege and my marginalizations before I enter a negotiation. I hoped by asking twitter, I would get a wider variety of answers to base my salary on. What I received was a wide field of numbers, all of which averaged out to around $120,000 without knowing anything about me.
My value isn’t determined by a number, and it is especially not determined by people who don’t know me. The only thing the internet is reliably good for is sharing uninformed opinions about my commitment issues and technical ability, but I knew that already. (Why do you think I don’t have notifications on for social media on my phone?)
The largest takeaway, for me, is that salary in tech is bloated and discriminatory. “Low” cost of living salaries in the US must be on average at least $68,000 (the necessary living wage, according to Business Insider) to be “comfortable”. My $120,000 from my results is almost double that, regardless of where I work. I still don’t know if this is correct. This number is likely too low, if we’re accounting for my gender, disabilities, queerness, remote requirements, and possible geographic discrimination.
I likely will never know if I’m being paid fairly. Coming from a blue collar family, I also will likely never know I should ask for more. Attempting to rely on the internet for answers, however, led me down a rabbit hole of tech bros, recruiters, and varying values for the same work.
What I do know is that I can ask for enough to survive comfortably, to pay off my loans, to receive proper medical care, and to invest back into my community. How I judge that amount is something I’ll refine over time. Regardless, I know I’m the only one who really knows that number.
Below are some links folks shared in replies. While I didn’t mention these above, they are pretty neat!
Overtime Exemption for Computer Software Employees
Office of the Director - Research California Labor Code Section 515.5 provides that certain computer software employees…
The Trimodal Nature of Software Engineering Salaries in the Netherlands and Europe
(Watch this article as video narrated by me, with additional context) I've been a hiring manager at Uber, in Amsterdam…