Bureau of Labor Statistics

Software Developers

software developers image
Software developers design computer programs.
Quick Facts: Software Developers
2019 Median Pay $107,510 per year
$51.69 per hour
Typical Entry-Level Education Bachelor's degree
Work Experience in a Related Occupation None
On-the-job Training None
Number of Jobs, 2019 1,469,200
Job Outlook, 2019-29 22% (Much faster than average)
Employment Change, 2019-29 316,000

Summary

What Software Developers Do

Software developers create the applications or systems that run on a computer or another device.

Work Environment

Many software developers work for firms that deal in computer systems design and related services, manufacturing, or for software publishers.

How to Become a Software Developer

Software developers usually have a bachelor’s degree in computer science and strong computer programming skills.

Pay

The median annual wage for software developers was $107,510 in May 2019.

Job Outlook

Employment of software developers is projected to grow 22 percent from 2019 to 2029, much faster than the average for all occupations. Software developers will be needed to respond to an increased demand for computer software.

State & Area Data

Explore resources for employment and wages by state and area for software developers.

Similar Occupations

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

More Information, Including Links to O*NET

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

What Software Developers Do

Software developers
Developers create flow charts that help programmers write computer code.

Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.

Duties

Software developers typically do the following:

  • Analyze users’ needs and then design, test, 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 (such as flowcharts) that show 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
  • Collaborate with other computer specialists to create optimum software

Software developers are in charge of the entire development process for a software program. They may begin by asking how the customer plans to use the software. They must identify the core functionality that users need from software programs. Software developers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs. They design the program and then give instructions to programmers, who write computer code and test it.

If the program does not work as expected or if testers find it too difficult to use, software developers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a developer may perform upgrades and maintenance.

Developers usually work closely with computer programmers. However, in some companies, developers write code themselves instead of giving instructions to programmers.

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. IT project managers who plan and direct an organization’s IT department or IT policies are included in the profile on computer and information systems managers.

The following are examples of types of software developers:

Applications software developers design computer applications, such as word processors and 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 complex databases for organizations. They also create programs that people use over the Internet and within a company’s intranet.

Systems software developers create the systems that keep computers functioning properly. These could be operating systems for computers that the general public buys or systems built specifically for an organization. Often, systems software developers also build the system’s interface, which is what allows users to interact with the computer. Systems software developers create the operating systems that control most of the consumer electronics in use today, including those used by cell phones and cars.

Work Environment

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

Software developers held about 1.5 million jobs in 2019. The largest employers of software developers were as follows:

Computer systems design and related services 33%
Manufacturing 11
Software publishers 9
Management of companies and enterprises 5
Insurance carriers and related activities 4

In general, software development is a collaborative process, and developers work on teams with others who also contribute to designing, developing, and programming successful software. However, some developers work at home.

Work Schedules

Most software developers work full time and additional work hours are common.

How to Become a Software Developer

Software developers
Software developers usually have a bachelor’s degree in computer science and strong computer-programming skills.

Software developers usually have a bachelor’s degree in computer science and strong computer programming skills.

Education

Software developers usually have a bachelor’s degree, typically in computer science, software engineering, or a related field. Computer science degree programs are the most common, because they tend to cover a broad range of topics. Students should focus on classes related to building software to better prepare themselves for work in the occupation. Many students gain experience in software development by completing an internship at a software company while in college. For some positions, employers may prefer that applicants have a master’s degree.

Although writing code is not their first priority, 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.

Software developers also need skills related to the industry in which they work. Developers working in a bank, for example, should have knowledge of finance so that they can understand a bank’s computing needs.

Advancement

Software developers can advance to become information technology (IT) project managers, also called computer and information systems managers, a position in which they oversee the software development process.

Important Qualities

Analytical skills. Developers must analyze users’ needs and then design software to meet those needs.

Communication skills. Developers must be able to give clear instructions to others working on a project. They must also explain to their customers how the software works and answer any questions that arise.

Creativity. Developers are the creative minds behind new computer software.

Detail oriented. Developers often work on many parts of an application or system at the same time and must therefore be able to concentrate and pay attention to detail.

Interpersonal skills. Software developers must be able to work well with others who contribute to designing, developing, and programming successful software.

Problem-solving skills. Because developers are in charge of software from beginning to end, they must be able to solve problems that arise throughout the design process.

Pay

Software Developers

Median annual wages, May 2019

Software developers and software quality assurance analysts and testers

$107,510

Software and web developers, programmers, and testers

$102,330

Computer occupations

$88,240

Total, all occupations

$39,810

 

The median annual wage for software developers was $107,510 in May 2019. 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,240, and the highest 10 percent earned more than $164,590.

In May 2019, the median annual wages for software developers in the top industries in which they worked were as follows:

Software publishers $122,110
Manufacturing 116,080
Management of companies and enterprises 107,640
Computer systems design and related services 103,670
Insurance carriers and related activities 100,980

Most software developers work full time and additional work hours are common.

Job Outlook

Software Developers

Percent change in employment, projected 2019-29

Software developers and software quality assurance analysts and testers

22%

Software and web developers, programmers, and testers

17%

Computer occupations

11%

Total, all occupations

4%

 

Employment of software developers is projected to grow 22 percent from 2019 to 2029, much faster than the average for all occupations.

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 will grow.

Software developers are likely to see new opportunities because of an increase in the number of products that use software. For example, more computer systems are being 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. In addition, an increase in software offered over the Internet should lower costs and allow more customization for businesses, also increasing demand for software developers.

Job Prospects

Job prospects will be best for applicants with knowledge of the most up-to-date programming tools and for those who are proficient in one or more programming languages.

Employment projections data for software developers, 2019-29

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, 20191,469,200
Projected Employment, 20291,785,200
Percent Change, 2019-2922
Numeric Change, 2019-29316,000
Employment by IndustryGet data

State & Area Data

Occupational Employment Statistics (OES)

The Occupational Employment Statistics (OES) 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.

Occupation Job Duties ENTRY-LEVEL EDUCATION 2019 MEDIAN PAY
Computer and information research scientists

Computer and Information Research Scientists

Computer and information research scientists invent and design new approaches to computing technology and find innovative uses for existing technology.

Master's degree $122,840
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 $146,360
Computer hardware engineers

Computer Hardware Engineers

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

Bachelor's degree $117,220
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 $112,690
Computer programmers

Computer Programmers

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

Bachelor's degree $86,550
Computer support specialists

Computer Support Specialists

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

See How to Become One $54,760
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 $90,920
Database administrators

Database Administrators

Database administrators (DBAs) use specialized software to store and organize data.

Bachelor's degree $93,750
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 $99,730
Mathematicians

Mathematicians and Statisticians

Mathematicians and statisticians analyze data and apply mathematical and statistical techniques to help solve problems.

Master's degree $92,030
Postsecondary teachers

Postsecondary Teachers

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

See How to Become One $79,540
Web developers

Web Developers

Web developers design and create websites.

Associate's degree $73,760

Contacts for More Info

Last Modified Date: Tuesday, September 1, 2020

Suggested citation:

Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, Software Developers,
on the Internet at https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm (visited September 22, 2020).

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

View this page on regular www.bls.gov

Permanently disable mobile site