Software Developers, Quality Assurance Analysts, and Testers

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

Many people use a computer to do their jobs, but software engineers apply computer science theory and engineering principles to design a variety of large computer software systems.  While many software engineers design and program software to solve problems, other software engineers meet with customers to define the features they want in the software or test the software once it has been programmed to make sure it works correctly. 

Software can be found just about everywhere these days.  You can find it on the Internet or buy it in a store, but sometimes it is made specifically for a customer to address a unique need.

You can find examples of software on websites, on a CD, or as part of a device such as a car, microwave oven, or mobile phone.  Software engineers are also often called computer engineers (see also: Computer Engineer), but saying "software engineer" is more specific.

Education

Most software engineers have a bachelor's degree in computer science or software engineering. Until recently only computer science degrees were available, but now specific degrees for software engineering exist.  Sometimes an engineer with a bachelor’s degree in a related field will pursue a master’s degree in software engineering to get a better understanding of working with software.

Job Outlook

Overall employment of software developers [...] is projected to grow 17 percent from 2023 to 2033, much faster than the average for all occupations. About 140,100 openings for software developers, quality assurance analysts, and testers are projected each year, on average, over the decade.*

Lifestyle

Software engineering can be one of the most flexible careers, because software engineers can work anywhere where they have computers and access to the Internet.  They can work from home, or from the beach if the job allows!
They usually work 40-hour weeks, but can work longer hours for special jobs or projects on a deadline. They usually work in teams with other software engineers, scientists, managers, and experts in the business area.  The teams can sometimes consist of people in the same building, and sometimes they are spread across the country or the world.  Some software engineers work in an office but others travel to their client’s business.

Salary

The median annual salary for an entry-level software engineer is $130,160.*

Examples

  • Create software that detects brain tumors earlier. 
  • Develop user-friendly blogging software. 
  • Design faster image-handling features in digital cameras. 
  • Test the security of a new video-sharing website. 
  • Predict the safety of flight control software for passenger aircraft.

 *Source: U.S.Bureau of Labor Statistics 2025