Software Engineer Salaries: What Do Software Engineers Earn?
In this article
- What Is the Average Salary of a Software Engineer?
- Software Engineer Salary by Levels
- Software Engineer Salary by Industry
- Software Engineer Salary by Education
- Software Engineer Salary by Location
- Jobs That Command the Best Software Engineering Salaries
- Factors Affecting Software Engineering Salaries
- How Can You Earn More as a Software Engineer?
- Software Engineer Salary FAQs
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 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.
Mid-Level Software Engineer Salary
The average salary of a mid-level software engineer in the United States is $93,000 per year, according to Salary.com.
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 by Industry
Software engineer salaries can also vary by industry. Let’s look at a few top industries hiring software engineers today.
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.
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.
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
Software Engineer at Dialpad
Software Engineer at FloQast
Software Engineer at Affirm
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.
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 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.
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.
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:
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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!