Bureau of Labor Statistics

Software Developers, Quality Assurance Analysts, and Testers

software developers image
Software developers design computer programs.
Quick Facts: Software Developers, Quality Assurance Analysts, and Testers
2020 Median Pay $110,140 per year
$52.95 per hour
Typical Entry-Level Education Bachelor's degree
Work Experience in a Related Occupation None
On-the-job Training None
Number of Jobs, 2020 1,847,900
Job Outlook, 2020-30 22% (Much faster than average)
Employment Change, 2020-30 409,500

Summary

What Software Developers, Quality Assurance Analysts, and Testers Do

Software developers design computer applications or programs. Software quality assurance analysts and testers identify problems with applications or programs and report defects.  

Work Environment

Many software developers, quality assurance analysts, and testers work in computer systems design and related services, in manufacturing, or for software publishers. They often work in offices and on teams with other software developers or quality assurance analysts and testers.

How to Become a Software Developer, Quality Assurance Analyst, or Tester

Software developers, quality assurance analysts, and testers typically need a bachelor’s degree in computer and information technology or a related field. Some employers prefer to hire developers who have a master’s degree.

Pay

The median annual wage for software developers, quality assurance analysts, and testers was $110,140 in May 2020.

Job Outlook

Employment of software developers, quality assurance analysts, and testers is projected to grow 22 percent from 2020 to 2030, much faster than the average for all occupations.

About 189,200 openings for software developers, quality assurance analysts, and testers are projected each year, on average, over the decade. Many of those openings are expected to result from the need to replace workers who transfer to different occupations or exit the labor force, such as to retire.

State & Area Data

Explore resources for employment and wages by state and area for software developers, quality assurance analysts, and testers.

Similar Occupations

Compare the job duties, education, job growth, and pay of software developers, quality assurance analysts, and testers with similar occupations.

More Information, Including Links to O*NET

Learn more about software developers, quality assurance analysts, and testers by visiting additional resources, including O*NET, a source on key characteristics of workers and occupations.

What Software Developers, Quality Assurance Analysts, and Testers Do

Software developers
Developers create diagrams that help programmers write computer code.

Software developers create the computer applications that allow users to do specific tasks and the underlying systems that run the devices or control networks. Software quality assurance analysts and testers design and execute software tests to identify problems and learn how the software works.

Duties

Software developers typically do the following:

  • Analyze users’ needs and then design and develop software to meet those needs
  • Recommend software upgrades for customers’ existing programs and systems
  • Design each piece of an application or system and plan how the pieces will work together
  • Create a variety of models and diagrams showing programmers the software code needed for an application
  • Ensure that a program continues to function normally through software maintenance and testing
  • Document every aspect of an application or system as a reference for future maintenance and upgrades

Software quality assurance analysts and testers typically do the following:

  • Create test plans, scenarios, and procedures for new software
  • Identify project risks and recommend steps to minimize those risks
  • Implement software testing, using either manual or automated programs and exploratory testing, and evaluate results
  • Document and report defects or problems with software
  • Provide feedback to software developers and stakeholders regarding usability and functionality

Software developers, quality assurance analysts, and testers are involved in the entire process of creating a software program. Developers may begin by asking how the customer plans to use the software so that they can identify the core functionality the user needs. Software developers also determine other requirements, such as security. They design the program and then work closely with programmers, who write computer code. However, some developers write code themselves instead of giving instructions to programmers.

Software quality assurance analysts and testers design and execute systems to check the software for problems. As part of their testing, these workers document and track the software’s potential defects or risks. They also assess its usability and functionality to identify difficulties a user might have. After completing testing, they report the results to software or web developers and review ways to solve any problems they found.

After the program is released to the customer, a developer may perform upgrades and maintenance. Quality assurance analysts and testers run manual and automated checks to look for errors and usability problems once the software is released and after any upgrades or maintenance. 

The following are examples of types of software developers:

Applications software developers design computer applications, such as games, for consumers. They may create custom software for a specific customer or commercial software to be sold to the general public. Some applications software developers create databases or programs for use internally or online.

Software engineers take a broad view of a project’s system and software requirements, planning its scope and order of work. These workers may direct software developers, quality assurance analysts, and testers.

Systems software developers create the operating systems for the public or specifically for an organization. These operating systems keep computers functioning and control most of the consumer electronics in use today, including those in cell phones and cars. Often, systems software developers also build the interface that allows users to interact with the computer.

Developers who supervise a software project from the planning stages through implementation sometimes are called information technology (IT) project managers. These workers monitor the project’s progress to ensure that it meets deadlines, standards, and cost targets. For information on IT project managers who plan and direct an organization’s IT department or IT policies, see the profile on computer and information systems (CIS) managers.

Work Environment

Software developers
Developers may oversee a team of people during the software development process.

Software developers, quality assurance analysts, and testers held about 1.8 million jobs in 2020. The largest employers of software developers, quality assurance analysts, and testers were as follows:

Computer systems design and related services 26%
Manufacturing 8
Software publishers 8
Management of companies and enterprises 4
Insurance carriers and related activities 4

Developing software is usually a collaborative process. As a result, developers, quality assurance analysts, and testers work on teams with others who also contribute to designing, developing, and programming successful software.

Work Schedules

Most software developers, quality assurance analysts, and testers work full time.

How to Become a Software Developer, Quality Assurance Analyst, or Tester

Software developers
Software developers, quality assurance analysts, and testers typically need a bachelor’s degree.

Software developers, quality assurance analysts, and testers typically need a bachelor’s degree in computer and information technology or a related field. Some employers prefer to hire developers who have a master’s degree.

Education

Software developers, quality assurance analysts, and testers typically need a bachelor's degree in computer and information technology or a related field, such as engineering or mathematics. Computer and information technology degree programs cover a broad range of topics. Students may gain experience in software development by completing an internship, such as at a software company, while in college. For some software developer positions, employers may prefer that applicants have a master’s degree.

Although writing code is not their primary responsibility, developers must have a strong background in computer programming. They usually gain this experience in school. Throughout their career, developers must keep up to date on new tools and computer languages.

Advancement

Software developers can advance to become project management specialists or computer and information systems managers, positions in which they oversee the software development process.

Important Qualities

Analytical skills. Software developers, quality assurance analysts, and testers must evaluate users’ needs and then design software to function properly and meet those needs.

Communication skills. These workers must be able to give clear instructions and explain problems that arise to other team members involved in development. They must also be able to explain to nontechnical users, such as customers, how the software works and answer any questions that arise.

Creativity. Software developers, quality assurance analysts, and testers must be innovative in their approaches to designing, identifying problems with, and improving computer software.

Detail oriented. These workers often need to concentrate on many parts of an application or system at the same time, and they must pay attention to detail when looking for potential areas of user error.

Interpersonal skills. Software developers, quality assurance analysts, and testers must be able to work well with others who contribute to designing, programming, and testing successful software.

Problem-solving skills. Because these workers produce software from beginning to end, they must be able to solve problems that arise throughout the design process.

Pay

Software Developers, Quality Assurance Analysts, and Testers

Median annual wages, May 2020

Software developers and software quality assurance analysts and testers

$110,140

Software and web developers, programmers, and testers

$105,310

Computer occupations

$91,250

Total, all occupations

$41,950

 

The median annual wage for software developers, quality assurance analysts, and testers was $110,140 in May 2020. The median wage is the wage at which half the workers in an occupation earned more than that amount and half earned less. The lowest 10 percent earned less than $65,210, and the highest 10 percent earned more than $170,100.

In May 2020, the median annual wages for software developers, quality assurance analysts, and testers in the top industries in which they worked were as follows:

Software publishers $124,050
Manufacturing 119,280
Management of companies and enterprises 109,840
Computer systems design and related services 106,160
Insurance carriers and related activities 102,380

Most software developers, quality assurance analysts, and testers work full time.

Job Outlook

Software Developers, Quality Assurance Analysts, and Testers

Percent change in employment, projected 2020-30

Software developers and software quality assurance analysts and testers

22%

Software and web developers, programmers, and testers

19%

Computer occupations

13%

Total, all occupations

8%

 

Employment of software developers, quality assurance analysts, and testers is projected to grow 22 percent from 2020 to 2030, much faster than the average for all occupations.

About 189,200 openings for software developers, quality assurance analysts, and testers are projected each year, on average, over the decade. Many of those openings are expected to result from the need to replace workers who transfer to different occupations or exit the labor force, such as to retire.

Employment

The need for new applications on smart phones and tablets will help increase the demand for software developers.

The health and medical insurance and reinsurance carriers industry will need innovative software to manage new healthcare policy enrollments and administer existing policies digitally. As the number of people who use this digital platform increases over time, demand for software developers, quality assurance analysts, and testers will grow.

Software developers, quality assurance analysts, and testers are likely to see new opportunities because of an increase in the number of products that use software. For example, computer systems are routinely built into consumer electronics and other products, such as cell phones and appliances.

Concerns over threats to computer security could result in more investment in security software to protect computer networks and electronic infrastructure.

Employment projections data for software developers, quality assurance analysts, and testers, 2020-30

SOURCE: U.S. Bureau of Labor Statistics, Employment Projections program

Occupational Title

Software developers and software quality assurance analysts and testers

SOC Code15-1256
Employment, 20201,847,900
Projected Employment, 20302,257,400
Percent Change, 2020-3022
Numeric Change, 2020-30409,500
Employment by IndustryGet data

State & Area Data

Occupational Employment and Wage Statistics (OEWS)

The Occupational Employment and Wage Statistics (OEWS) program produces employment and wage estimates annually for over 800 occupations. These estimates are available for the nation as a whole, for individual states, and for metropolitan and nonmetropolitan areas. The link(s) below go to OES data maps for employment and wages by state and area.

Projections Central

Occupational employment projections are developed for all states by Labor Market Information (LMI) or individual state Employment Projections offices. All state projections data are available at www.projectionscentral.com. Information on this site allows projected employment growth for an occupation to be compared among states or to be compared within one state. In addition, states may produce projections for areas; there are links to each state’s websites where these data may be retrieved.

CareerOneStop

CareerOneStop includes hundreds of occupational profiles with data available by state and metro area. There are links in the left-hand side menu to compare occupational employment by state and occupational wages by local area or metro area. There is also a salary info tool to search for wages by zip code.

Similar Occupations

This table shows a list of occupations with job duties that are similar to those of software developers, quality assurance analysts, and testers.

Occupation Job Duties ENTRY-LEVEL EDUCATION 2020 MEDIAN PAY
Computer and information research scientists Computer and Information Research Scientists

Computer and information research scientists design innovative uses for new and existing computing technology.

Master's degree $126,830
Computer and information systems managers Computer and Information Systems Managers

Computer and information systems managers plan, coordinate, and direct computer-related activities in an organization.

Bachelor's degree $151,150
Computer hardware engineers Computer Hardware Engineers

Computer hardware engineers research, design, develop, and test computer systems and components.

Bachelor's degree $119,560
computer network architects image Computer Network Architects

Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and Intranets.

Bachelor's degree $116,780
Computer programmers Computer Programmers

Computer programmers write and test code that allows computer applications and software programs to function properly.

Bachelor's degree $89,190
Computer support specialists Computer Support Specialists

Computer support specialists provide help and advice to computer users and organizations.

See How to Become One $55,510
Computer systems analysts Computer Systems Analysts

Computer systems analysts study an organization’s current computer systems and find a solution that is more efficient and effective.

Bachelor's degree $93,730
Database administrators Database Administrators and Architects

Database administrators and architects create or organize systems to store and secure data.

Bachelor's degree $98,860
Information security analysts Information Security Analysts

Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems.

Bachelor's degree $103,590
Mathematicians Mathematicians and Statisticians

Mathematicians and statisticians analyze data and apply computational techniques to solve problems.

Master's degree $93,290
Postsecondary teachers Postsecondary Teachers

Postsecondary teachers instruct students in a variety of academic subjects beyond the high school level.

See How to Become One $80,560
Web developers Web Developers and Digital Designers

Web developers create and maintain websites. Digital designers develop, create, and test website or interface layout, functions, and navigation for usability.

Bachelor's degree $77,200

Contacts for More Info

For more information about software developers, quality assurance analysts, and testers, visit

Association for Computing Machinery

Association for Software Testing

IEEE Computer Society

Computing Research Association

CompTIA

For information about opportunities for women pursuing information technology careers, visit

National Center for Women & Information Technology

CareerOneStop

For career videos on software developers, quality assurance analysts, and testers, visit

Software developers, applications

Software quality assurance analysts and testers

O*NET

Software Developers

Software Quality Assurance Analysts and Testers

Last Modified Date: Wednesday, September 8, 2021

Suggested citation:

Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, Software Developers, Quality Assurance Analysts, and Testers,
at https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm (visited November 24, 2021).

Telephone: 1-202-691-5700 www.bls.gov/ooh Contact OOH

View this page on regular www.bls.gov

Permanently disable mobile site