How to Maximize Your Software Engineer Salary

Is there such thing as a “typical” software engineer salary? How much can software engineers earn, and do they need advanced degrees to “unlock” higher compensation tiers?

These questions (and many others) preoccupy students and technologists who are interested in software engineering as a profession—yet it can be hard at moments to find the information you need. Fortunately, a number of data sources out there provide us with some idea of what a software engineer salary actually looks like.

First things first, for anyone considering the profession: Burning Glass, which collects and analyzes millions of job postings from across the country, predicts that software engineer jobs will grow 4.8 percent over the next decade. Even if you’re not optimistic about such projections, you can see there’s quite a bit of current demand for these positions: Burning Glass states there were 598,265 postings for software engineer jobs over the past 12 months, and the time to fill an open software developer/engineer role currently stands at 39 days.

What is the average salary of a Software Engineer?

In Burning Glass’s estimation, median software engineer salary is $101,235. But that salary level obviously varies considerably with experience:

For those just starting out, the median salary is $83,600; by contrast, those who have spent quite a bit of time in the profession and would be considered a senior software engineer (i.e., over nine years) can earn $114,900. Compare that to the average annual pay in the overall technology industry, which the most recent Dice Salary Report pegged at $94,000 in 2019 (just a 1.8 percent increase from 2018).

What are the Most Valuable Skills for a Software Engineer?

When it comes to plotting an education and career path, many aspiring software engineers (understandably) focus on “hard” skills such as programming in various languages. And make no mistake about it—such things are important! But in focusing on tools and platforms, a software engineer can neglect to bulk up on something just as important: soft skills.

Soft skills such as communication, teamwork, and empathy are critical to team collaboration, which itself is a key element of the software-engineering experience. “By recognizing the importance placed on soft skills, you can highlight your coding skills while also speaking to situations in which your ability to communicate and listen was critical to the success of a project or task,” Al Sene, VP of engineering at DigitalOcean, wrote in a 2019 column for Dice. “Display open-mindedness, ask questions and express curiosity to learn from others.”

Burning Glass, by scanning job postings, has a curated list of the software engineering skills that employers clearly value the most:

The presence of Java, JavaScript, and Python on this list makes total sense; these are some of the world’s most popular programming languages, widely used for both new projects and legacy apps by thousands of companies. SQL’s appearance highlights how software engineers should know as much as possible about data storage, cleaning, and movement—these are foundational to most companies’ software projects.

How Do You Negotiate Software Engineer Salary?

In order to best answer that question, it’s instructive to first examine software engineers’ “typical” years of experience. Fortunately, Burning Glass also provides us with a breakdown on this front:

Now, using Dice’s data, let’s see how salary rises for technologists as they progress through their careers:

As you might expect, salary increases with experience. Burning Glass highlights how many software engineers already have at least a few years’ worth of experience under their belts. Those who want higher pay must use their negotiation time to highlight their experience and skills, while emphasizing how those can contribute materially a company’s projects and growth.

But what about those folks who are just starting out, and don’t have a ton of experience and skills? That’s a much tougher question. In some circumstances, you can successfully assert that your skills are worth more, even if you haven’t been working as a software engineer all that long; this can work if you’re highly specialized (for example, you possess useful machine learning skills).

Do I Need a Degree to Become a Software Engineer?

When it comes to education, most also have a bachelor’s degree:

But do you actually need a degree to succeed as a software engineer? That’s an excellent question. Fortunately, a number of companies—including IBM and Apple—have announced that they’re more interested in a job candidate’s skills than any degrees they might possess. That opens the proverbial door to lots of people who might not have spent a lot of time in school—but it also puts added emphasis on skills and experience.

Simply put, you don’t need a degree, but you better know what you’re doing, especially during the initial battery of coding tests that come with most job applications.

What Do Companies Pay Software Engineers?

Software engineer salary, of course, also differs from company to company. As you might expect, it also hinges very heavily on seniority. For example, according to levels.fyi, which crowdsources salary data from the biggest tech companies, Google average salary for senior staff software engineers (i.e., those at the L7 level) can hit $256,059 per year, coupled with $286,176 in stock options and a bonus of $83,294. 

Over at Microsoft, meanwhile, levels.fyi predicts that software engineer salary for those who hit level 67 (i.e., principal software development engineer, and roughly equivalent to Google’s L7) is $222,714 in salary, along with $226,000 per year in stock options and a bonus of $73,143.

And just for kicks, let’s revisit the typical Amazon software developer salary, both at the entry- and senior-level. It’s worth comparing the levels.fyi data for Google, Microsoft, and Amazon:

As you can surmise, your “typical” entry-level software engineer salary remains pretty similar across all these firms. Salary deviates slightly as engineers ascend to the upper ranks, with other forms of compensation (such as stock) playing an increasingly larger role:

It’s also worth examining the average software engineer salary at other major firms, including:

Does the “typical” software engineer salary at big firms mirror what smaller firms pay? Unfortunately, the answer is “no.” For example, many small companies are private and don’t give out stock as part of an overall compensation package.

However, with tech unemployment at notably low levels at the moment, it’s clear that software engineers with the right combination of skills and experience are in a great position to negotiate high salaries.


Master your job search with Dice’s related job hunting resources:

Software Engineer Interview Questions & Answers

Senior Software Engineer Resume Template

Junior Software Engineer Resume Template