Software Developers, Quality Assurance Analysts, and Testers

Career, Salary and Education Information

What They 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 One: 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.

Salary: The median annual wage for software developers is $120,730. The median annual wage for software quality assurance analysts and testers is $98,220.

Job Outlook: Employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent over the next ten years, much faster than the average for all occupations.

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

Following is everything you need to know about a career as a software developer, quality assurance analyst, or tester with lots of details. As a first step, take a look at some of the following jobs, which are real jobs with real employers. You will be able to see the very real job career requirements for employers who are actively hiring. The link will open in a new tab so that you can come back to this page to continue reading about the career:

Top 3 Software Developer Jobs

  • Senior Software Engineer - Ivo - San Francisco, CA

    Overview You'll be our fifth engineering hire. You will have full ownership of significant ... Bachelors in computer science/math. * 5+ years of software development experience. * Experience ...

  • Senior Software Engineer, Fullstack - VORTO - Arvada, CO

    Description About VORTO We are building software & platforms to make supply chains more economically and environmentally sustainable. As an engineer at VORTO you will define the next generation of ...

  • Director, Software Engineering - Exact Sciences Careers - San Diego, CA

    The Director, Software Engineering will provide accountability, leadership, team building, and execution necessary to guide a division of the overall Software Engineering team through multiple ...

See all Software Developer jobs

What Software Developers, Quality Assurance Analysts, and Testers Do[About this section] [To Top]

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 of Software Developers, Quality Assurance Analysts, and Testers

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 for Software Developers, Quality Assurance Analysts, and Testers[About this section] [To Top]

Software developers hold about 1.4 million jobs. The largest employers of software developers are as follows:

Computer systems design and related services 32%
Finance and insurance 11%
Software publishers 10%
Manufacturing 9%
Management of companies and enterprises 5%

Software quality assurance analysts and testers hold about 196,300 jobs. The largest employers of software developers are as follows:

Computer systems design and related services 33%
Finance and insurance 11%
Software publishers 9%
Administrative and support services 7%
Manufacturing 7%

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.

Software Developer, Quality Assurance Analyst, and Tester Work Schedules

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

How to Become a Software Developer, Quality Assurance Analyst, or Tester[About this section] [To Top]

Get the education you need: Find schools for Software Developers near you!

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 for Software Developers, Quality Assurance Analysts, and Testers

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 for Software Developers, Quality Assurance Analysts, and Testers

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 for Software Developers, Quality Assurance Analysts, and Testers

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.

Software Developer, Quality Assurance Analyst, and Tester Salaries[About this section] [More salary/earnings info] [To Top]

Salary Calculator


Entry Level Experienced

The median annual wage for software developers is $120,730. 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 $64,470, and the highest 10 percent earned more than $168,570.

The median annual wage for software quality assurance analysts and testers is $98,220. The lowest 10 percent earned less than $48,960, and the highest 10 percent earned more than $153,250.

The median annual wages for software developers in the top industries in which they work are as follows:

Software publishers $130,180
Manufacturing $124,950
Finance and insurance $124,390
Management of companies and enterprises $120,710
Computer systems design and related services $103,010

The median annual wages for software quality assurance analysts and testers in the top industries in which they work are as follows:

Manufacturing $102,090
Computer systems design and related services $98,000
Software publishers $94,980
Finance and insurance $92,660
Administrative and support services $86,060

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

Job Outlook for Software Developers, Quality Assurance Analysts, and Testers[About this section] [To Top]

Employment of software developers, quality assurance analysts, and testers is projected to grow 25 percent over the next ten years, much faster than the average for all occupations.

About 162,900 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 of Software Developers, Quality Assurance Analysts, and Testers

Increased demand for software developers, software quality assurance analysts, and testers will stem from the continued expansion of software development for artificial intelligence (AI), Internet of Things (IoT), robotics, and other automation applications.

In response to concerns over threats to computer security, organizations are expected to increase investment in software that protects their electronic networks and infrastructure. This investment could result in an increased demand for developers to create security software and for quality assurance analysts and testers to create and execute software tests.

Software developers, software quality assurance analysts, and testers are likely to see new opportunities because of the increasing number of products that use software. For example, software systems continue to be built for consumer electronics and other products, including IoT-connected devices and electric vehicles.

Employment projections data for Software Developers, Quality Assurance Analysts, and Testers, 2021-31
Occupational Title Employment, 2021 Projected Employment, 2031 Change, 2021-31
Percent Numeric
Software developers and software quality assurance analysts and testers 1,622,200 2,033,600 25 411,400
  Software developers and software quality assurance analysts and testers 1,425,900 1,796,500 26 370,600
  Software quality assurance analysts and testers 196,300 237,100 21 40,800


A portion of the information on this page is used by permission of the U.S. Department of Labor.


Explore more careers: View all Careers or the Top 30 Career Profiles


Search for jobs: