Software Engineer Salaries: What Do Software Engineers Earn?

Sakshi GuptaSakshi Gupta | 10 minute read | June 29, 2022
How Much Can Software Engineers Earn in 2022?

In this article

According to Glassdoor, three of the top ten highest paying jobs in the US are now related to software engineering. Software engineering is also among the fastest-growing fields. The Bureau of Labor Statistics projects 11% growth this decade, a rate much higher than all occupations. 

And yet, there are not nearly enough software engineers to fill these roles. 26% of business leaders that McKinsey surveyed said that IT, mobile, and/or web design and management is an area with the “greatest need to address potential skill gaps.” 

What this means is that companies are offering top salaries for skilled software engineers. But how much can software engineers actually make? And what are the factors that influence their salaries? Keep reading to find out. 

What Is the Average Salary of a Software Engineer?

According to Indeed, the average base salary for a software engineer is $125,837. This includes all kinds of software engineers, from web developers to app developers. In addition to the cash compensation, many of these roles also offer bonuses and stock options. The top-paying companies in the United States include Citi ($198,457), Apple ($173,388), and Meta ($152,697).

software engineer salary - In US

Software Engineer Salary by Levels

One of the critical factors in determining software development engineer salary is work experience: the more the experience, the higher the pay. Let’s see how that breaks down.

Entry-Level Software Engineer Salary

An entry-level software engineer is someone with less than a year of experience, or someone who has just completed a software engineering internship. The responsibilities of an entry-level software engineer are likely to be limited to writing code or building on existing code bases, working alongside a team of experienced programmers. 

The average entry-level software engineer salary in the United States is $76,882, according to Glassdoor.

software engineer salary - entry level

Mid-Level Software Engineer Salary

A mid-level software engineer has two to five years of experience in the industry. They typically have advanced skills in languages such as Java, Python, and JavaScript, process expertise across DevOps, front-end/back-end programming, or quality analysis. Or, they’ll have some kind of industry expertise within a field like healthcare, retail, financial services, etc. Many mid-level engineers also specialize in areas like cybersecurity, DevOps, and mobile app development. 

The average salary of a mid-level software engineer in the United States is $93,000 per year, according to Salary.com.

software engineer salary - Mid-level SE

Senior-Level Software Engineer Salary

A senior-level software engineer typically has five or more years of experience and is a technical expert or a manager. A technical expert leads software development projects and is responsible for quality delivery of software within accepted timelines and budgets. They maintain a bird’s eye view of the project, collaborate with various stakeholders, collect user feedback, and ensure the software products meet the business needs. They also work towards building technical leadership and intellectual property within the organization.

A manager leads teams, bringing together cross-functional skills, ensuring they work well together, delegating and managing performance, solving possible problems, conducting reviews, etc. In smaller organizations, many senior-level software engineers juggle both these roles. And the salaries reflect that.

The average senior software engineer salary in the United States is $115,600 per year, according to Salary.com.

software engineer salary - Senior-Level SE

Software Engineer Salary by Industry

Software engineer salaries can also vary by industry. Let’s look at a few top industries hiring software engineers today.

Tech

Given that software is the bread and butter of tech organizations, these companies tend to hire the most skilled engineers and offer highly competitive salaries. According to Built In, the average salary of a software engineer in the tech industry is $119,939.

software engineer salary - in tech

Finance

Whether it is traditional banks such as Citibank/JP Morgan Chase or fintech startups like Stripe/Digit, the financial services industry is rapidly adopting technology for a wide range of use cases. Across cybersecurity, mobile banking, cashless transactions, dynamic investments, personalization, risk management, etc., there are hundreds of high-paying roles for software engineers with an interest in finance. 

The average salary of a software engineer working in the finance field is $108,690 per year, according to Glassdoor. 

software engineer salary - finance industry

Retail

Today, retail is no longer just about brick-and-mortar stores. Software engineers in the retail industry are creating and maintaining retail software like point of sale (POS) systems or sales systems in-store, as well as dynamic and personalized experiences across e-commerce, mobile commerce, and social commerce channels. Especially online, there are significant innovations in the retail space, such as try-and-buy technologies with augmented/virtual reality, hyper-personalization on mobile commerce, live shopping on social platforms, and so on. 

The average salary of a software engineer working in the retail sector is $81,850, according to a study by HackerRank

Get To Know Other Software Engineering Students

Abdelkareem ElSharief

Abdelkareem ElSharief

Software Engineer at Bread

Read Story

Matthew Dillon

Matthew Dillon

Front End Developer at LaunchBadge

Read Story

Geraldo Gomes

Geraldo Gomes

Software Engineer at Affirm

Read Story

Healthcare

Healthcare is investing significantly in software, especially in light of the ongoing COVID-19 pandemic. Large hospital chains, small local clinics, equipment manufacturers, and pharmaceutical organizations, are all leveraging software for their needs. 

The average salary of a software engineer working in the healthcare industry is $77,000 per year, according to Payscale.

software engineer salary - in healthcare

Government

Typically slower to adopt the latest technology, government and public services across the globe are now more actively embracing software engineering. For example, late last year, President Biden passed an executive order on Transforming Federal Customer Experience and Service Delivery to Rebuild Trust in Government. This initiative is likely to trickle down to state and local government initiatives as well, opening up a large number of opportunities in software engineering for government and public services. The average salary of a software engineer working in government is $88,568 per year, according to Payscale.

software engineer salary - government industry

Software Engineer Salary by Education

Education appears to play a role in software engineer salary. According to PayScale, software engineers with a certificate earn $76,000, while engineers with a bachelor’s degree earn $84,000, and those with a master’s degree averaging $112,000 a year.

software engineer salary - Cert
software engineer salary - BSC Salary
software engineer salary - Msc salary

While most companies hiring software engineers prefer that candidates have a bachelor’s degree in computer science, it is not uncommon to find job descriptions that expect “a bachelor’s degree or equivalent experience.” Self-taught engineers and developers trained in bootcamps can access the same opportunities if they can demonstrate the skills needed for each role. 

Software Engineer Salary by Location

Based on the demand and supply of software engineering talent, competition, cost of living, etc., some cities in the United States pay better than others. Let us look at some top-paying locations and their corresponding software engineer salaries. 

San Francisco

The average software engineer salary in San Francisco is $135,464 per year. These are the top companies in San Francisco for software engineers, according to Indeed:

software engineer salary in San Francisco

San Jose

The average salary of a software engineer in San Jose is $122,042 per year. These are the top companies in San Jose for software engineers, according to Indeed.

software engineer salary in San Jose

New York

The average salary of a software engineer in New York is $122,042 per year. These are the top companies in New York for software engineers, according to Indeed.

software engineer salary in New York

Seattle

The average salary of a software engineer in Seattle is $123,150 per year. These are the top companies in Seattle for software engineers, according to Indeed.

software engineer salary in Seattle

Boston

The average salary of a software engineer in Boston is $124,027 per year. These are the top companies in Boston for software engineers, according to Indeed.

software engineer salary in Boston

Jobs That Command the Best Software Engineering Salaries

There are dozens of specialized roles within software engineering offering higher salaries based on experience, expertise, and availability of skilled professionals. Let us look at a few top-paying roles within software engineering.

Solutions Architect

A solutions architect is the person who transforms the technical vision of a product into usable software. They design the solution, lay out the architecture, create the roadmap and ensure that the smaller pieces of code work together as a meaningful and functional whole. They are also responsible for documentation, following best practices, validating outcomes, etc. An experienced software developer typically grows into this role.

The salary range for a software solutions architect is between $108,400 and $140,000 per year.

DevOps Engineer

DevOps is short for development operations. A DevOps engineer is responsible for ensuring the seamless functioning of the software development lifecycle. They enable software deployment, continuous integration/continuous delivery (CI/CD), automation, cloud/on-prem infrastructure management, system administration, security, etc. Especially in organizations moving towards Agile software development, they also take on the advocacy role to ensure seamless change management.

The salary range for a DevOps engineer is between $45,000 and $325,000 per year.

Staff Software Engineer

Staff engineers are senior software professionals who work on complex and challenging business problems. Their role involves understanding the business problem and the technology landscape to create innovative and differentiated solutions. They might also be managing small teams of software engineers steering experimental projects.

The salary range for a staff software engineer is between $129,906 and $572,331 per year.

Senior Staff Software Engineer

A senior staff engineer takes on more long-term challenges, defining the course of a product/department over 5-10 year horizons. Often, they report to the top management, steering the course of the organization itself. Typically, they are specialists in emerging technologies such as cryptocurrencies, virtual reality, etc.

The salary range for a senior staff software engineer is between $145,704 and $612,542 per year.

Principal Software Engineer

A principal software engineer performs a combination of technical and management roles. They collaborate with the organization’s leadership to ensure the software meets the needs of the end-users while helping achieve business goals. They lead teams, troubleshoot issues, and remove roadblocks across the software development lifecycle.

The salary range for a principal software engineer is between $153,864 and $635,673 per year.

Fellow Software Engineer

A software engineering fellow is a distinguished technologist within any organization. Typically, their contributions often extend beyond the organization to the open-source community, academia, etc. Often, they lead independent research within the organization, exploring new avenues and futuristic technologies.

The salary range for a fellow software engineer is between $350,000 and $800,000 per year.

Related Read: How To Become a Software Engineer

Factors Affecting Software Engineering Salaries

The compensation design of every organization depends on a wide range of factors. Let’s look at how that all shakes out.  

Educational Background

Most jobs expect candidates to have a bachelor’s or master’s degree in computer science. But this isn’t a deal-breaker, and many software engineers launch their careers by enrolling in a certificate program or Software Engineering Bootcamp.

Experience

If you have some experience in software development, you might be at an advantage and have greater potential for a higher salary. For example, if you worked at a company as a software development engineer in the past, you’re more likely to qualify as a senior software engineer now. When you show this experience to potential employers, you might land the role directly, commanding a senior software engineer salary. 

Skills

Software engineering skills are critical to determining your salary—not only technical skills but also interpersonal skills. In addition to programming languages, frameworks, cloud technologies, etc., organizations expect software engineers to also have exceptional skills in problem-solving, critical thinking, logical reasoning, communication, writing, storytelling, and more.

Location

As discussed earlier, the location of your job also plays a role in your salary. So if your job is based in a region where the cost of living or the competition for top tech talent is high, you’ll most likely be paid a high salary. For instance, the average software developer salary in Silicon Valley is $135,000, while in Atlanta, GA, it is $104,000.

Organization

The organization you’re working with also plays a significant role in determining your salary. Big-tech such as Facebook, Amazon, Google, or Apple, pay top salaries, often in millions. Whereas small and medium enterprises might pay lesser, given their circumstances, margins, profitability, and return on technology investments. 

How Can You Earn More as a Software Engineer?

Here are a few ways that you can earn a higher salary in software engineering:

Gain experience. The most critical factor in commanding top salaries is experience. Whether in a particular industry such as healthcare or retail, a programming language like Python or Java, or a platform like iOS or Windows, experience helps you differentiate yourself and increase the salaries you can command. 

Performance. During year-end reviews and promotions, you can negotiate better raises by demonstrating your value to the organization. For instance, if you can show that your work improved revenue, customer acquisition, partner engagement, organizational efficiency, etc., you’re more likely to be promoted or given more responsibilities with a good raise. Throughout the year, evaluate and review the business value of your work.

Specialize. The rarer your skills, the more you will be in demand. For example, if you’re an expert in an emerging field like cryptocurrency, you are likely to be headhunted and offered competitive salaries. 

Develop leadership skills. As you grow in your software engineering career, you will be expected to lead teams and complex projects. Developing problem-solving and leadership skills will help move to roles like a distinguished software engineer or software engineering fellow organically.

Collaborate with your community. Software engineers gain technical/thought leadership by contributing to open source projects, giving talks at events, mentoring young programmers, building side projects, etc. This gives them credibility beyond the organization they’re working for, making them more attractive to potential employers.

Consider consulting. Once you’ve gained several years of experience, organizations would be willing to hire you in advisory roles to solve problems, design roadmaps, workshop with the team, etc. This can serve as a lucrative side gig while also helping you build a solid network.

Software Engineer Salary FAQs

Now, let’s look at some frequently asked questions about software engineering salaries.

What Is the Average Starting Salary for a Software Engineer?

The average starting salary in the United States for an entry-level engineer is $76,882 per year.

What Can Software Engineers Earn per Hour?

In hourly roles, software engineers make an average of $65 per hour.

Can You Make Six Figures as a Software Engineer?

You need to consistently work hard on your skills and land a job at one of the best tech companies, but you can make six figures by landing a job as an entry-level engineer. If you’re a senior software engineer, you might find a broader range of companies offering you six figures for your experience.

Related Read: How To Create an Effective Entry-Level Software Engineering Resume

Can You Save Money as a Software Engineer?

Yes, you absolutely can. A software engineering career generally pays very well and will enable you to save money.

Since you’re here…
No one wakes up knowing how to code – they learn how to code. Tens of thousands of students have successfully learned with our courses, like our Software Engineering Bootcamp. If you’re a total newbie, our Software Engineering Career Track Prep Course will be a perfect fit. Let’s do this!

Sakshi Gupta

About Sakshi Gupta

Sakshi is a Senior Associate Editor at Springboard. She is a technology enthusiast who loves to read and write about emerging tech. She is a content marketer and has experience working in the Indian and US markets.