Even entry-level software engineers can earn extremely lucrative compensation, a fact that drives many people to pursue software engineering as a profession. Those who progress up the software-engineering career ladder can unlock not only higher salaries, but (depending on the company) stock options and other benefits.

What do you actually need to know about software engineer salaries? And how can you unlock the best possible compensation? Let’s dig into some data, tips, and tricks. 

What’s a software engineer’s average salary?

According to Emsi Burning Glass, which collects and analyzes millions of job postings from across the country, the median salary for a software engineer is $98,783 per year. Over the past 12 months, there have been more than a million open job postings for software engineers, and the average time to fill a position is 43 days, indicating a high level of demand. (Compare that to the average technologist salary, which according to the latest Dice Tech Salary Report stands at $104,566.)

Are software engineers in demand?

Software engineering is a profession with a lot of potential. Emsi Burning Glass predicts that software engineer jobs will grow 17.3 percent over the next 10 years. That’s a lot of opportunity, along with a lot of potential competition from other engineers. In order to stand out, you should consider learning the in-demand skills that distinguish you in a crowded market.

But which skills? At the moment, employers are very interested in software engineers who’ve mastered the intricacies of GitHub, Amazon Web Services (AWS), the principles of test-driven development (TDD), and JavaScript Object Notation (JSON). There’s also quite a bit of interest building around TypeScript, jQuery, and PostgreSQL.

Those with the right skills and experience can easily unlock six-figure salaries, particularly at tech giants such as Google and Microsoft. 

What skills do you need as a software engineer?

Naggi Asmar is now chief engineering officer at Matillion. Throughout his career, he’s seen organizations value full-stack engineering skills over pure back- or front-end skills. “There are currently engineering specializations around security, performance/scale, and site reliability that are also highly sought-after,” he said. “I think it’s important that engineers expand their skills by intentionally seeking out projects that take them outside of their technical comfort zone and by using training resources available at their company to deepen their expertise.”

Deedy Das, software engineer at Glean, a startup that develops an assistive search tool for the enterprise, thinks there’s a significant difference between the three highest-earning areas: startups, Big Tech and finance (HFT).

“Finance firms have the most individually achievable upside opportunity, big tech has high but plateauing salaries, and startups have high risk but large potential,” he said. 

Relatively few software engineers might know the latest specialty skills, Das added, which creates an opportunity for anyone looking to distinguish themselves. “By and large, the best way to earn a high salary is to either have a deep skillset that’s indispensable to modern tech companies—like scaling infrastructure, systems, machine learning, mobile or low-level code,” he said. “Another route is to have a really valuable understanding of a niche application like finance platforms, search technology or geo-mapping technology.”

How do you negotiate a software engineer salary? 

Beyond passing whatever technical challenge is involved in the interview process, you have to show how you can add to the culture and work as part of a team. Once you have a job offer, you can begin to actually negotiate for the best possible salary. 

“Once the job offer is extended and salary negotiations begin, it’s important for engineers to state clearly what they’re looking for, with the assumption that this is going to be their pay level for at least 12-18 months,” Asmar said. “Engineers should think not just about how much they want to make now, but how much they will be satisfied with for that entire duration. Having said that, good companies reward their best employees, so starting salary should not be as important as looking for opportunities for growth and learning.”

Das added that, when negotiating for a higher salary, the number one tip is to have a competing offer. “That’s your best alternative to a negotiated agreement and that’s what all recruiters are trained to respond to,” he said. “Otherwise, a good recruiter typically will not budge more than a little, if that. I would hold off signing with a company if you’re not a fan of the compensation.”

Offers are almost never rescinded; as long as your comp demands are “reasonable” and you have a competing offer, you should be able to negotiate. “Depending on the company, salaries are adjusted based on your remote location, so it might be useful to pick a company that doesn’t adjust to market rates if you’re living in a low cost of living area,” Das added. 

In an environment where salaries are changing fast, engineers should accept that their cohort of friends may not be a good indicator of the current state of the market. “They need to decide for themselves what level they will be satisfied with that adequately reflects their years of experience and specialized skills,” Asmar said. “State clearly what you expect and cut down on the back-and-forth negotiating. Employers want to cut to the chase and get a candidate on board as quickly as possible and compensate them fairly.”

Sometimes indecisiveness can be seen as an indicator of how the engineer will behave in difficult situations, so it’s better to be direct and decisive when discussing salary. From Das’s perspective, the tight labor market and the widespread shift towards digitalization mean software engineers have never been more in-demand.

“[Unemployment] in software engineering is at an all-time low and colleges have burgeoning computer science programs,” he said. “Using the circumstances to their advantage really depends on the person—for some, it means utilizing remote work options, becoming a digital nomad (nomadlist.com), having a great work-life balance at a Big Tech job, building a startup, or much more.”

These choices center around whether you’re looking for more freedom, more money, or more fulfilling work. “Of course, it’s a good time to shop around if you’re not getting compensated appropriately,” he added.