Earlier this month, I put out a request on Twitter for anyone working in software development to help establish a baseline for reasonably-expected salaries. I’m hugely appreciative of everyone who participated. As promised, I want to share some high level results.
Results
A total of 60 different people from across the world completed the survey. I saw a mix of corporate executives, entry-level engineers, and freelancers with anywhere from 3 to 20 years of experience in the field.
Unfortunately, there weren’t enough responses in each potential analysis facet (i.e. years of experience, size of company, average project size) to drill down indefinitely. There were plenty of responses for various levels of employment, though. Enough to present an interesting picture of the market and initiate some discussions around developer compensation.
After removing outliers, we see average salaries being in the neighborhood of:
- Senior level: $91k
- Mid level: $75k
- Junior level: $45k
Each of these averages was with a standard deviation of $15-20k. This means they’re fairly reliable, but not incredibly consistent.
What This Means
At a very basic level, the numbers above give us a sense of what developers can earn at various stages of their career. It also demonstrates there’s little to no consistency in pay between companies in our industry.
The senior level salary (again, after removing outliers) ranged from $52-$134k per year. The mid-level salary range was $46-$97k per year. Junior level salary ranged from $19-$69k per year.
To the junior level developers earning more than their senior level counterparts I say “good job.”
To the senior level developers earning less than their junior level counterparts, I raise an eyebrow and sincerely urge you ask for a raise at your next review. If you’re truly in a senior level position with all of the responsibilities that entails there’s no reason you should be earning just more than half the average salary for your role.
Moving Forward
Understanding the landscape around you is the only way you can ever fully recognize where you stand on that landscape. Are you more or less experienced than others in your position? Are you paid higher or lower than others in your position? Are you paid higher or lower than others with your experience?
These are the three dimensions we track: experience, position, and pay. Understanding how experienced you are is easy. Knowing your position is should be easy – if in doubt, look at your job description. 1 Salary, though, is a bit harder to understand.
Obviously, you know what you’re paid. Without knowing what others around you make, though, there’s no way to know if you’re paid appropriately for your role. You could be underpaid – you could be overpaid. Both situations could be potentially damaging to your career overall.
Moving forward, we should all keep track of our salaries and position responsibilities. Where possible, 2 we should be open with one another so that, together, we can establish a baseline of what each of us should expect as compensation for similar positions.
Notes:
- If there isn’t a job description for your position, you should both ask for one and write on at the same time. Not only will this document what your position does, it will help iron out any discrepancies between your and your boss’ description of your position. ↩
- Whether they claim it is or not, it’s actually illegal for employers to prevent you from sharing salary information with others in your company. There might, however, be stipulations in your contract or employment agreement regarding sharing such information outside of the company. I won’t encourage you to breach your contract or employment agreement. ↩
Thanks for this Eric. If you aren’t already thinking of doing so, I’d urge you to repeat this annually. As your reach grows, I’d expect you’ll get more data year over year, and eventually historical trends will be interesting to look back on.
I definitely plan to. I did an even less formal in-person survey in 2013. The results were far less useful or actionable. I’m hoping 2015 stats will make for even better reading. The more data I get, the easier it is to anonymize, too.
Unfortunately, there were too few results for me to even begin to tabulate locations or employers out or the chance that individual respondents could be identified by that information. I want comprehensive data, yes, but not at the risk of anyone getting called out for providing it.
One minor note: you say, “Understanding how experienced you are is easy. Knowing your position is should be easy.” – but actually I don’t find either of those things very easy at all.
As one example, I’d rate my experience today somewhat lower than I would have rated myself a couple years ago, though I know my knowledge and experience is an order of magnitude deeper now than it was then. Dunning-Kruger effect, “unknown unknowns” and related effects.
I can’t think offhand of a good way to ask these sorts of questions – to arrive at more universally understood concepts of junior/mid-level/senior levels and of expertise levels. But it would be interesting to try to work some questions like that into the next survey.
Thanks for sharing this Eric. It’s hard to get a good grasp of how much pay is reasonable or expected.
I have come across multiple people who made my eyebrows raise when they told me how little they were paid. Some people just don’t seem to understand that they’re paid way less than they should be.
That was much of the impetus for my running this survey in the first place. Many times, I’ve been one of those developers at which others have raised an eyebrow. Still, there’s little way to know what I should be paid aside from flat out asking others about their pay.
If this was collected from all countries in the world, what meaning does it make?
Heck, even across USA it might not have any sense because of differences in the cost of living.
Given that argument, you could almost say tracking differences in salaries between individuals with any differences between them at all is meaningless. Yes, there are variables involved. Yes, some of those variables are huge. The point of the survey was to get an idea of what the landscape looked like while still keeping those variables in mind – even across countries (or states) you can still draw some comparisons between the earnings of individuals.
Unfortunately, I can’t publicize further detail to help everyone account for the impact of those variables because the pool was small enough that this information could be used to de-anonymize respondents.
No salary survey or comparison is perfect, but I just don’t understand what meaning does it have without taking into account the cost of living and taxes.
A salary of 100k $ per year can be as much as 30k $ per year.
You say that “the point of the survey was to get an idea of what the landscape looked like while still keeping those variables in mind”.
This doesn’t make sense to me because the results you published do not mention anything about the landscape at all.