Are you ready to discover your college program?
Software engineers design, develop, and test applications or system software — the instructions that tell computers how to work.
In an age where nearly every industry uses software technology to grow rapidly, software engineers enjoy exceptionally strong employment prospects. The Bureau of Labor Statistics (BLS) projects a faster-than-average 25% job growth rate for software developers, analysts, and testers from 2021-31, over three times higher than average.
Most software engineers hold degrees in software engineering or computer science. However, employers occasionally hire candidates without any official academic credentials.
This guide explores available careers and salaries for software engineers.
What Does a Software Engineer Do?
Software engineering is a branch of applied computer science. Theoretical computer science studies the formal aspects of algorithms, programs, and languages. Applied computer science, by contrast, considers the development of algorithms, programs, and software. A software engineer typically specializes in an aspect of software development, like programming or user interface design.
People commonly conflate software engineering roles with computer engineering and information technology (IT) roles. Unlike software engineers, however, computer engineers design and construct hardware such as microchips, circuit boards, and routers. IT professionals manage networks and databases or install and service software, computers, and networks.
Individuals with software engineering certificates or degrees commonly work in IT roles, along with some computer engineering and computer science positions.
Top Online Programs
Explore programs of your interests with the high-quality standards and flexibility you need to take your career to the next level.
How Much Can You Earn as a Software Engineer?
As a rapidly evolving profession, software engineering attracts individuals interested in virtual reality, blockchain technology, and other software applications. Software engineering may be an excellent career choice for individuals with strengths in calculus, formal semantics, and logic.
Earnings for software engineers vary with experience, location, industry, specialty, and education. Payscale reports an average annual salary of $78,260 for entry-level software engineers and $116,560 for experienced professionals as of August 2022.
Average Annual Salary, August 2022
Software Engineer Salary by Experience
Software engineer salaries vary significantly with years of experience in the field. As you acquire more experience over time and become harder to replace, employers typically provide higher compensation. Job offers from competitors can help speed up salary growth.
The table below lists the average median salary at different experience levels. The figures represent only the base salary. Additional earnings from employers such as benefits, commissions, profit sharing, and bonuses may result in higher total compensation.
Annual Salaries by Experience for Software Engineer, 2022
|Years of Experience||Average Annual Salary|
|Entry-Level (<1 year)||$78,260|
|Early Career (1-4 years)||$86,770|
|Midcareer (5-9 years)||$98,380|
|Late Career (10-19 years)||$109,240|
|Experienced (20+ years)||$116,560|
Discover Which Education Path Is Right for You
Software Engineer Salary by Location
Software engineers' average earnings vary with location. For example, a smaller pool of eligible job applicants in a sparsely populated area can increase demand for qualified employees. Employers typically pay higher salaries to match demand and attract the best candidates.
The higher cost of living in larger cities and metropolitan areas can also result in higher salaries. For instance, software engineers make an average of $126,200 annually in San Francisco but only $85,500 in Atlanta as of August 2022.
The additional $20,000+ in average earnings in San Francisco likely reflects the stark difference in the cost of living between the two cities. The cost of living in San Francisco towers above the national average by 80%, while the cost of living in Atlanta lags by 1%, according to Payscale.
Below, you can explore average salaries for different locations. The first table includes the top-paying cities for software engineers. The second set of figures specifies the top-paying metropolitan areas for relevant careers, including software developers, testers, and analysts.
Top-Paying Cities for Software Engineers
|City||Average Annual Wage||Percent Above the National Average|
|San Francisco, CA||$144,970||33%|
|San Jose, CA||$150,990||37%|
|New York, NY||$132,800||22%|
Top-Paying Metropolitan Areas for Software Developers, Software Quality Assurance Analysts, and Testers
|Metropolitan Area||Number of Software Engineers Employed||Annual Mean Salary|
|San Jose-Sunnyvale-Santa Clara, CA||67,780||$167,420|
|San Francisco-Oakland-Hayward, CA||64,460||$158,320|
|Santa Cruz-Watsonville, CA||490||$134,680|
Software Engineers' Job Outlook and Career Prospects
Software engineers enjoy overall strong job prospects. BLS projections indicate a 25% nationwide growth for common software engineering roles from 2021-2031, over three times faster than the average for all occupations. Several factors can affect a software engineer's employability in the coming years, including economic growth, inflation, and tech advances.
Personal priorities concerning industry, concentration, and job location can also influence career options. Specializing in an emerging tech area like blockchain technology, artificial intelligence, or virtual reality can boost an applicant's competitiveness in the job market.
In the next section, we explore how location may affect a software engineer's job opportunities and career prospects.
Software Developers, Quality Assurance Analysts, and Testers
Change in Projected Employment
+25% from 2021-2031
Best Locations for Software Engineers
Job location can affect a software engineer's career prospects, along with salary potential, job prospects, and job satisfaction. As different locations may affect these aspects in various ways, no single location ranks as the best overall for software engineers. The best states and cities depend on the employment factors you prioritize.
Top States for Software Engineers
The top-paying states for software engineering roles are California, Washington, Maryland, New York, and Rhode Island. Software engineers earned an average annual salary of $146,770 in California and $128,790 in Rhode Island.
Job prospects for software engineers also vary with state and region. O*NET Online projects the greatest employment growth for software developers, analysts, and testers in Utah, Nevada, Colorado, South Carolina, and Florida from 2018-2028. Reports indicate a 62% projected increase in these roles for Utah but only 10% for Washington for 2018-28.
Projected employment growth does not always align with projected job openings. For example, projections point to an average of 41,090 annual job openings in Washington but only 1,340 in Utah.
The tables below include data for the states with the highest number of employed software engineers, plus projected job growth and job openings.
Top-Employing States for Software Developers, Quality Assurance Analysts, and Testers
|Top-Employing States||Number Employed||Annual Mean Salary|
States With the Greatest Projected Increase in Employment for Software Developers, Quality Assurance Analysts, and Testers
|State||Percent Projected Change, 2018-28||Average Annual Openings|
|Greatest Projected Percentage Increase|
|Most Projected Average Annual Openings|
Top Cities for Software Engineers
Major tech cities often make great job locations for software engineers. Some areas feature more diverse job opportunities and provide a thriving work environment for software engineers to nurture their talents and passions.
Other elements that can make a city or region attractive for software engineers include earning potential, cost of living, and job prospects. According to Payscale, San Francisco ranks as the highest-paying city for software developers, analysts, and testers, which is unsurprising given that the South San Francisco Bay Area is home to Silicon Valley.
The famed global tech hub includes cities like San Jose, Sunnyvale, and Santa Clara. Together, these cities rank as the nation's highest-paying metropolitan area for the profession. Software engineers made an average annual salary of $167,420 in this region, according to the BLS.
Software engineers may also find metropolitan areas with high employment figures appealing. The New York-Newark-Jersey City northeastern region ranked as the highest-employing metropolitan area for software engineers.
The table below covers the nation's top-employing metropolitan areas for software developers, analysts, and testers.
Top-Employing Metropolitan Areas for Software Developers, Quality Assurance Analysts, and Testers
|Metropolitan Area||Number of Software Engineers Employed||Annual Mean Salary|
|New York-Newark-Jersey City, NY-NJ-PA||93,100||$133,620|
|San Jose-Sunnyvale-Santa Clara, CA||63,360||$167,420|
|San Francisco-Oakland-Hayward, CA||64,460||$158,320|
Best Industries for Software Engineers
The computer systems design sector employed the highest number of software engineers nationwide. Other top-paying industries include software publishers and management companies. Software engineers working in different sectors perform many similar tasks, like designing algorithms and writing programs for computer and network applications.
For example, a software engineer in the self-driving car industry may work on software that can track other vehicles and change the car's speed and direction in response to tracking data. By contrast, a software engineer working on a layer-2 blockchain project may design software to create tokens and track their ownership.
The highest-paying industries do not always provide the greatest employment opportunities. For example, according to the BLS, inland water transportation ranked as the highest-paying industry for software engineers but only employed 40 software engineers.
Employment by Industry for Software Developers
|Industries with Highest Employment||Employment||Annual Mean Salary|
|Computer Systems Design and Related Services||455,050||$115,550|
|Management of Companies and Enterprises||70,070||$118,380|
|Data Processing, Hosting, and Related Services||53,000||$112,090|
|Management, Scientific, and Technical Consulting Services||52,690||$124,040|
Top-Paying Industries for Software Developers
|Top-Paying Industries||Employment||Annual Mean Salary|
|Other Information Services||58,420||$156,800|
|Computer and Peripheral Equipment Manufacturing||23,080||$152,840|
|Independent Artists, Writers, and Performers||8||$150,030|
|Scientific Research and Development Services||39,960||$142,070|
|Personal Care Services||90||$140,080|
Upward Mobility for Software Engineers
After several years in the field, software engineers may want to advance to higher roles like systems manager or technical project manager. Rather than devising algorithms and programs, these professionals oversee computer and IT departments within businesses and organizations.
Further education in business administration can help software engineers qualify for managerial and leadership roles. Yet, several years of relevant work experience usually suffices for software engineers to advance to technical leadership positions.
Some experienced software engineers may shift to careers in systems design or consulting.
Learn More About Software Engineers
What Is a Software Engineer?
This guide provides an overview of the history of software engineering, career opportunities in the field, and common software engineer responsibilities.
How to Become a Software Engineer
This page reviews the steps to earn software engineering credentials, including educational requirements, postgraduate certification, and employment prospects.
Day in the life of a software engineer
In this guide, you can find information about typical job duties, work environments, and career opportunities for software engineers.
Software Engineering Degree Programs
Readers can explore typical degree requirements, cost expectations, and concentration options for software engineering degree programs.
Frequently Asked Questions About Software Engineers
How much does a software engineer make?
Many factors can influence how much a software engineer makes, including specialization, job location, and industry. However, the BLS reports an annual median salary of $109,020 for software developers, quality assurance analysts, and testers as of 2021.
Which country pays the highest salary for software engineers?
According to Payscale data, the U.S. ranks as the highest-paying country for senior software engineers.
What is the typical software engineer career trajectory?
Most software engineers start in entry-level programming jobs. After a few years, they may advance to senior software engineer roles. Over time, many software engineers transition into managerial and leadership roles.
Is it hard to become a software engineer?
If your academic strengths lie in STEM disciplines, you may not find it hard to become a software engineer. However, the level of difficulty increases as you progress to more advanced software engineering courses.
Take the next step toward your future.
Discover programs you’re interested in and take charge of your education.