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.

Is This the Right Career for You?

Not sure how to choose the best career for you? Now, you can predict which career will satisfy you in the long term by taking a scientifically validated career test. Gain the clarity and confidence that comes from understanding your strengths, talents, and preferences, and knowing which path is truly right for you.

Take The Test

 

 

 

 

 

Work Environment

Software developers, applications held about 944,200 jobs in 2018. The largest employers of software developers, applications were as follows:

Computer systems design and related services 34%
Finance and insurance 10
Software publishers 10
Manufacturing 7
Management of companies and enterprises                              5

Software developers, systems software held about 421,300 jobs in 2018. The largest employers of software developers, systems software were as follows:

Computer systems design and related services                         31%
Manufacturing 19
Finance and insurance 6
Software publishers 5
Engineering services 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.

Education and Training

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.

Personality and Interests

Software developers typically have an interest in the Building, Thinking and Organizing interest areas, according to the Holland Code framework. The Building interest area indicates a focus on working with tools and machines, and making or fixing practical things. The Thinking interest area indicates a focus on researching, investigating, and increasing the understanding of natural laws. The Organizing interest area indicates a focus on working with information and processes to keep things arranged in orderly systems.

If you are not sure whether you have a Building or Thinking or Organizing interest which might fit with a career as a software developer, you can take a career test to measure your interests.

Software developers should also possess the following specific 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.

Computer skills. Developers must understand computer capabilities and languages in order to design effective software.

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

Customer-service skills. Some developers must be able to explain to their customers how the software works and answer any questions that arise.

Detail oriented. Developers often work on many parts of an application or system at the same time and must 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 the software from beginning to end, they must be able to solve problems that arise throughout the design process.

Pay

The median annual wage for software developers, applications was $103,620 in May 2018. 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 $61,660, and the highest 10 percent earned more than $161,290.

The median annual wage for software developers, systems software was $110,000 in May 2018. The lowest 10 percent earned less than $66,740, and the highest 10 percent earned more than $166,960.

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

Software publishers $114,320
Manufacturing 110,290
Finance and insurance 107,960
Management of companies and enterprises  104,420
Computer systems design and related services                               100,080

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

Manufacturing $118,900
Engineering services 113,250
Finance and insurance 111,380
Software publishers 110,920
Computer systems design and related services                               108,790

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

Job Outlook

Employment of software developers is projected to grow 21 percent from 2018 to 2028, much faster than the average for all occupations. Employment of applications developers is projected to grow 26 percent, and employment of systems developers is projected to grow 10 percent. The main reason for the growth in both applications developers and systems developers is a large increase in the demand for computer software.

The need for new applications on smart phones and tablets will help increase the demand for applications 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.

Systems 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.

For More Information

For more information about software developers, visit

Association for Computing Machinery

IEEE Computer Society

Computing Research Association

CompTIA

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

National Center for Women & Information Technology

 

FAQ

Where does this information come from?

The career information above is taken from the Bureau of Labor Statistics Occupational Outlook Handbook. This excellent resource for occupational data is published by the U.S. Department of Labor every two years. Truity periodically updates our site with information from the BLS database.

I would like to cite this page for a report. Who is the author?

There is no published author for this page. Please use citation guidelines for webpages without an author available. 

I think I have found an error or inaccurate information on this page. Who should I contact?

This information is taken directly from the Occupational Outlook Handbook published by the US Bureau of Labor Statistics. Truity does not editorialize the information, including changing information that our readers believe is inaccurate, because we consider the BLS to be the authority on occupational information. However, if you would like to correct a typo or other technical error, you can reach us at help@truity.com.

I am not sure if this career is right for me. How can I decide?

There are many excellent tools available that will allow you to measure your interests, profile your personality, and match these traits with appropriate careers. On this site, you can take the Career Personality Profiler assessment, the Holland Code assessment, or the Photo Career Quiz.

Find Jobs Near You