The Software Developer's Complete Guide to Getting Paid What You're Worth
Software development is one of the most in-demand careers. With so many companies shifting to remote work, it's become more accessible than ever too.
And more and more people are getting into the industry today, without college degrees.
Software is a massive field and there are too many specializations to list out, so let's just clarify a few things.
You will see similar but different terms thrown around like software developer, software engineer, fullstack developer, or maybe just abbreviations like SDE. I'm going to stick with the term software developer because I feel that's the more broad term and encompasses all specializations. If you develop software you're a software developer.
Next, let's have a quick chat about titles.
Software Developer Titles
I get a lot of backlash for not caring about titles, but here's why and how I think you can benefit a ton from adopting the same mindset.
First, every single company defines how they give out titles in a different way. The CTO of Google has a different set of responsibilities than the CTO of any startup. Similarly, a senior software engineer at Google will have different expectations and responsibilities than a senior software engineer at any startup.
Some companies give out the senior title after a year or two, others say you need 10+ years of experience.
The point is... every company is different. If you focus on earning the senior software engineer at company A, that won't necessarily carry as much weight as you think when you later interview with company B.
That's why instead of focusing on your title, I recommend people focus on their personal growth and development.
It's not the title that gets you hired and paid more, it's your skill set. Investing in yourself and improving your skills and experience will then help you get the title you want at any company. If you can show up and consistently prove that you are the best person for a role, you have a better shot at actually getting that role.
Figure out how you can become as valuable as possible, and focus on your skills and experience... not the title.
That's how you get any title you want.
Software Developer Salaries
Thanks to the internet, it's easy to figure out what a fair salary is.
I like to use levels.fyi to see what the big companies are paying engineers. I find this to be more accurate and kept up to date compared to many other reports.
For example, I do not recommend Glassdoor as they are incentivized to promote lower salaries so that you use their platform to find a job. If you are biased to think the average salary is lower than it is, you are more likely to pursue jobs on their platform with lower salaries. Also, their data is reported from existing employees and is not generally updated, and tends to reflect averages from a few years ago.
Spend some time searching around for average salaries for people based in your area with a similar amount of experience. Titles will often impact the results too, but keep in mind every company evaluates titles differently.
It might feel awkward talking about money and bringing it up in the first place, but you wouldn't do this job for free right?
The fact is developers provide incredible value for companies by building tools and automations that multiply the output and productivity of the company as a whole. Over the last few years, I've been building tools that automate the work of operations and customer experience reps on the team, essentially permanently doubling the output of both teams for just the cost of my salary.
1. Talk About Money With Your Manager
First, I recommend you bring up topics like this with your manager in 1:1 situations.
They are most likely the ones who have to advocate on your behalf to leadership teams and you want to make sure they have an easy case to make.
Get comfortable having uncomfortable situations and you'll open up a two-way street where your manager will have an easier time giving you feedback on your goals.
2. Talk to Your Manager About Your Performance and Skills
Your compensation is generally tied closely to the value to bring to the team.
And the value you bring to the team depends entirely on your performance and on a number of skills.
If you bring more value than what's expected of you, your company will most likely compensate you for it rather than lose you to another company.
Plan to exceed performance expectations. Show proof that you have learned the skills needed to get to the next level. And then have a conversation with your manager about being compensated for the additional value you now bring to the team.
3. Finding Opportunities That Compensate Fairly
If you follow all of the above steps and your company refuses to compensate you fairly, it might be time to find a company that appreciates you.
One of the easiest and fastest ways to increase your salary is by hopping between jobs faster and negotiating higher salaries each time.
It's effective, but not necessarily the best long-term decision in my opinion. But if you find that you are stuck where you are in your current company, that's a good indication that it might be time to move on.
The Case for Staying at a Company Longer
Often one of the drivers for different salary ranges is job title.
Getting hired as Engineering Manager or Technical Lead can be very challenging even if your previous title was Senior Software Engineer.
Getting promoted to certain titles requires time with a company to help you grow into the role.
If you have a goal of reaching positions with more leadership responsibility, consider whether you would get there faster by getting hired directly at that level with no prior experience, or by working through the skills necessary to get there with your existing manager and a team that already knows and trusts you.
Equity and Stock Options
Many software developers are compensated with equity or stock options of some form.
It is important that you understand how equity works since it has the potential to result in a significant sum.
At the same time, it can turn out to be worthless or just worth less than you think.
If part of your compensation includes company equity, talk with your manager about it in detail. Get a good understanding of its current value, and how the company needs to perform in order to see it appreciate.
You should always look out for yourself and make sure you are being compensated fairly for the hard work and time you give to a company.
Over time, you should see that compensation increase as you learn more, develop skills, and other factors like inflation take effect.
There are certain things you can do to make it easier for your manager to justify the raise you are asking for, and when you put in the right work that can often come with a promotion too.
Hopefully, this article helped you think about your current compensation and gave you some ideas about the next steps you can take if you aren't satisfied.
Until next time!