What They Do
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 held about 1.7 million jobs in 2024. The largest employers of software developers were as follows:
| Computer systems design and related services | 30% |
| Finance and insurance | 10 |
| Software publishers | 9 |
| Manufacturing | 8 |
| Management of companies and enterprises | 5 |
Software quality assurance analysts and testers held about 201,700 jobs in 2024. The largest employers of software quality assurance analysts and testers were as follows:
| Computer systems design and related services | 30% |
| Finance and insurance | 12 |
| Software publishers | 10 |
| Manufacturing | 9 |
| Administrative and support services | 5 |
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 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.
Pay
The median annual wage for software developers was $133,080 in May 2024.
The median annual wage for software quality assurance analysts and testers was $102,610 in May 2024.
Job Outlook
Overall employment of software developers, quality assurance analysts, and testers is projected to grow 15 percent from 2024 to 2034, much faster than the average for all occupations.
About 129,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.