Software Engineer Career and Salary Outlook

Software engineers design, develop, and test application or system software — the instructions that tell computers how to work.

The Bureau of Labor Statistics (BLS) projects a faster-than-average 22% job growth rate for software developers, analysts, and testers from 2019-29.

In an age where nearly every industry uses software technology to achieve rapid growth, software engineers enjoy exceptionally strong employment prospects. The Bureau of Labor Statistics (BLS) projects a faster-than-average 22% job growth rate for software developers, analysts, and testers from 2019-29.

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.

Read More About Software Engineers A Day in the Life of a Software Engineer

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 area, and education. PayScale data indicates an average annual salary of $77,000 for entry-level software engineers and $106,090 for experienced professionals as of August 2021.

Software Engineers

Average Annual Salary, 2021


$87,510


Source: PayScale

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, 2021

Years of Experience Average Annual Salary
Entry-Level (<1 year) $77,000
Early Career (1-4 years) $84,870
Midcareer (5-9 years) $96,160
Late Career (10-19 years) $106,090
Experienced (20+ years) $115,000
Source: PayScale

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 more lucrative salaries. For instance, software engineers make an average of $123,040 annually in San Francisco but only $82,620 in Atlanta as of August 2021.

The additional $40,420 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, according to PayScale. The second set of figures specifies the top-paying metropolitan areas for relevant careers, including software developers, testers, and analysts, according to the BLS.

Top-Paying Cities for Software Engineers, 2021

City Average Annual Wage Percent Above the National Average
San Francisco, CA $123,040 112%
San Jose, CA $118,360 104%
Seattle, WA $108,220 87%
New York, NY $106,100 83%
Boston, MA $95,460 65%
Source: PayScale

Top-Paying Metropolitan Areas for Software Developers, Software Quality Assurance Analysts, and Testers, 2020

Metropolitan Area Number of Software Engineers Employed Annual Mean Salary
San Jose-Sunnyvale-Santa Clara, CA 77,900 $157,480
San Francisco-Oakland-Hayward, CA 64,310 $144,740
Seattle-Tacoma-Bellevue, WA 92,710 $140,930
Oxnard-Thousand Oaks-Ventura, CA 3,140 $127,620
Mount Vernon-Anacortes, WA 190 $126,030
Source: BLS

Software Engineers’ Job Outlook and Career Prospects

Software engineers enjoy overall strong job prospects. BLS projections indicate a 22% nationwide growth for common software engineering roles from 2019-2029 — considerably faster than the 4% national 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.

Change in Projected Employment for Software Developers, Quality Assurance Analysts, and Testers


+22% from 2019-2029


Source: BLS

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 Washington, California, New York, and Massachusetts, along with the District of Columbia. Software engineers earned an average annual salary of $138,400 in Washington but only $85,570 in North Dakota as of 2020, according to the BLS.

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.

The top-paying states for software engineering roles are Washington, California, New York, and Massachusetts, along with the District of Columbia.

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, 2020
Top-Employing States Number Employed Annual Mean Salary
California 249,700 $137,620
Texas 113,140 $109,570
Washington 99,630 $138,400
New York 83,330 $122,300
Virginia 77,260 $116,850
Source: BLS
States With the Greatest Projected Increase in Employment for Software Developers, Quality Assurance Analysts, and Testers, 2018-28
State Percent Projected Change, 2018-28 Average Annual Openings
Greatest Projected Percentage Increase
Utah +62% 1,340
Nevada +42% 150
Colorado +41% 3,950
South Carolina +36% 570
Florida +34% 4,610
Most Projected Average Annual Openings
Washington +10% 41,090
California +29% 13,530
Texas +31% 7,710
New York +28% 6,200
Florida +34% 4,610
Source: Projections Central
Explore Computer Science Programs by State

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 $157,480 in this region as of 2020, according to the BLS.

Software engineers may also find metropolitan areas with high employment figures appealing. With 104,470 software engineers employed in key software engineering roles, the New York-Newark-Jersey City northeastern region ranked as the highest-employing metropolitan area for software engineers as of 2020.

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, 2020
Metropolitan Area Number of Software Engineers Employed Annual Mean Salary
New York-Newark-Jersey City, NY-NJ-PA 104,470 $123,600
Seattle-Tacoma-Bellevue, WA 92,710 $140,930
San Jose-Sunnyvale-Santa Clara, CA 77,900 $157,480
Washington-Arlington-Alexandria, DC-VA-MD-WV 75,910 $119,920
San Francisco-Oakland-Hayward, CA 64,310 $144,740
Source: BLS

Best Industries for Software Engineers

The computer systems design sector employed the highest number of software engineers nationwide as of 2020. 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 as of 2020 but only employed 40 software engineers in 2020.

Employment by Industry for Software Developers, Quality Assurance Analysts, and Testers, 2020

Industries with Highest Employment Employment Annual Mean Salary
Computer Systems Design and Related Services 480,840 $111,770
Software Publishers 139,820 $122,630
Management of Companies and Enterprises 76,470 $110,790
Data Processing, Hosting, and Related Services 53,000 $112,090
Management, Scientific, and Technical Consulting Services 44,650 $109,600
Source: BLS

Top-Paying Industries for Software Developers, Quality Assurance Analysts, and Testers, 2020

Top-Paying Industries Employment Annual Mean Salary
Inland Water Transportation 40 $243,130
Independent Artists, Writers, and Performers 120 $187,070
Sporting Goods, Hobby, and Musical Instrument Stores 60 $146,630
Computer and Peripheral Equipment Manufacturing 34,440 $145,800
Electronics and Appliance Stores 540 $137,170
Source: BLS

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?

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

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

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

Software Engineering Degree Programs

Readers can explore typical degree requirements, cost expectations, and concentration options for software engineering degree programs.

Online Software Engineering Certificates

Online Software Engineering Certificates

This overview details the application process, cost expectations, and typical coursework for online software engineering certificates.

Frequently Asked Questions

  • 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 $110,140 for software developers, quality assurance analysts, and testers as of 2020.

  • 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.


Featured Image: gilaxia / E+ / Getty Images

Recommended Reading

Landing a Remote Internship

Landing a Remote Internship

September 20, 2021   |   Vanesha McGee

A remote internship is the perfect way to launch your career. Learn how to gain experience and bump your resume to the top of the stack.

Doctorate in Computer Engineering

Doctorate in Computer Engineering

September 20, 2021   |   Liz Simmons

A doctorate in computer engineering can open the door to rewarding careers in computer science. Explore computer engineering programs, including common coursework and specializations.

View hand-picked degree programs

Tell us what you’d like to specialize in, and discover which schools offer a degree program that can help you make an impact on the world.