Software developers

What Software Developers Do

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

Duties

Software developers typically do the following:

  • Analyze users’ needs, then design, test, and develop software to meet those needs
  • Recommend software upgrades for customers’ existing programs and systems
  • Design each piece of the application or system and plan how the pieces will work together
  • Create a variety of models and diagrams (such as flowcharts) that instruct programmers how to write the software code
  • Ensure that the software continues to function normally through software maintenance and testing
  • Document every aspect of the 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 begin by asking how the customer plans to use the software. 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 people 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 computer 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 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 that are part of computers 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 in phones or cars.

How to Become a Software Developer

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. A degree in mathematics is also acceptable. 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 in order to better prepare themselves for work in the occupation. For some positions, employers may prefer 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.

Other Experience

Many students gain experience in software development by completing an internship at a software company while in college.

Some software developers first work as computer programmers, and as they gain more experience they are given more responsibility and eventually become a developer.

Advancement

Software developers can advance to become information technology (IT) project managers, also called computer and information systems managers, and 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.

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.

Job Outlook

Software Developers

Percent change in employment, projected 2012-22

Software developers, applications

23%

Software developers

22%

Software developers, systems software

20%

Total, all occupations

11%

 

Employment of software developers is projected to grow 22 percent from 2012 to 2022, much faster than the average for all occupations. Employment of applications developers is projected to grow 23 percent, and employment of systems developers is projected to grow 20 percent.

The main reason for the rapid growth is a large increase in the demand for computer software. Mobile technology requires new applications. The healthcare industry is greatly increasing its use of computer systems and applications. Also, concerns over threats to computer security could result in more investment in security software to protect computer networks and electronic infrastructure.

Systems developers are likely to see new opportunities because of an increase in the number of products that use software. For example, computer systems are built into consumer electronics, such as cell phones, and into other products that are becoming computerized, such as appliances. 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.

Some outsourcing to foreign countries with lower wages may occur. However, because software developers should be close to their customers, the offshoring of this occupation is expected to be limited.

Job Prospects

Job prospects will be best for applicants with knowledge of the most up-to-date programming tools and languages.

Employment projections data for Software Developers, 2012-22
Occupational Title SOC Code Employment, 2012 Projected Employment, 2022 Change, 2012-22 Employment by Industry
Percent Numeric

SOURCE: U.S. Bureau of Labor Statistics, Employment Projections program

Software developers

1,018,000 1,240,600 22 222,600

Software developers, applications

15-1132 613,000 752,900 23 139,900

Software developers, systems software

15-1133 405,000 487,800 20 82,800
  Occupation Description Entry-Level Education 2012 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. They study and solve complex problems in computing for business, medicine, science, and other fields.'

Doctoral or professional degree $102,190
Computer and information systems managers Computer and information systems managers

Computer and information systems managers, often called information technology (IT) managers or IT project managers, plan, coordinate, and direct computer-related activities in an organization. They help determine the information technology goals of an organization and are responsible for implementing computer systems to meet those goals.'

Bachelor's degree $120,950
Computer hardware engineers Computer hardware engineers

Officially, they need bachelor's degrees, at minimum. Some choose to pursue master's degrees in order to advance their careers. High school students can prepare themselves for college with classes in math, science, and computer skills/science. However, the education and training for computer hardware engineers never really ends they must keep pace with new developments in computer technology in order to be productive and successful.

Bachelor's degree $100,920
Computer programmers Computer programmers

Computer programmers write code to create software programs. They turn the program designs created by software developers and engineers into instructions that a computer can follow.'

Bachelor's degree $74,280
Computer support specialists Computer support specialists

Computer support specialists provide help and advice to people and organizations using computer software or equipment. Some, called computer network support specialists, support information technology (IT) employees within their organization. Others, called computer user support specialists, assist non-IT users who are having computer problems.'

Education requirements vary $48,900
Computer systems analysts Computer systems analysts Computer systems analysts study an organization’s current computer systems and procedures and design information systems solutions to help the organization operate more efficiently and effectively. They bring business and information technology (IT) together by understanding the needs and limitations of both.' Bachelor's degree $79,680
Database administrators Database administrators

Database administrators (DBAs) use specialized software to store and organize data, such as financial information and customer shipping records. They make sure that data are available to users and are secure from unauthorized access.'

Bachelor's degree $77,080
Information security analysts Information security analysts

Information security analysts plan and carry out security measures to protect an organizations computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increase.'

Bachelor's degree $86,170
Mathematicians Mathematicians

Mathematicians use advanced mathematics to develop and understand mathematical principles, analyze data, and solve real-world problems.'

Master's degree $101,360
Postsecondary teachers Postsecondary teachers

Postsecondary teachers instruct students in a wide variety of academic and vocational subjects beyond the high school level. They also conduct research and publish scholarly papers and books.'

Varies with the subject taught and the type of educational institution $0
Web developers Web developers

Web developers design and create websites. They are responsible for the look of the site. They are also responsible for the site’s technical aspects, such as performance and capacity, which are measures of a website’s speed and how much traffic the site can handle. They also may create content for the site.'

Associate's degree $62,500
  • Software Developer (TS/SCI Required)

    Sedona TechnologiesWashington, DC

    Software Developer (TS/SCI Required) (Alternative Search Titles: Software Engineer, Software programmer, Application Developer, Applications Engineer, DevOps, Dev Ops,...

  • Software Developer

    VencoreChantilly, VA

    Overview Vencore is a proven provider of information solutions, engineering and analytics for the U. S. Government. With more than 40 years of experience working in the...

  • Software Developer

    JHU Applied Physics LaboratoryLaurel, MD

    Introduction: The Johns Hopkins University Applied Physics Laboratory (APL), a national leader in scientific research and development, located midway between Baltimore and Washington, DC is seeking a Data Visualization and Web App Developer. Job Summary: QBO is seeking a...

  • Software Developer

    Jobspring PartnersMc Lean, VA

    Posted: May 16, 2017 Compensation: $120-130K DOE City, State: McLean, VA, Virginia Technologies: Java Software Developer The company is in Tyson's Corner and is a growing...

  • Software Developer

    ASRC Federal Holding Company LLCMc Lean, VA

    Software Developer - 17002038 Position: .NET/C# Application Developer Location: Arlington, VA Clearance: Active Secret clearance (interim is acceptable) Project: ASRC...

  • Software Developer

    BAE SystemsQuantico, VA

    Seeking an Application Developer to support our Digital Forensics Network and Technology Support program. This position will work on-site with a government customer and...

  • Software Developer

    ASRC Federal Holding CompanyArlington, VA

    .NET/C# Application Developer Location: Arlington, VA Clearance: Active Secret clearance (interim is acceptable) Project: ASRC Federal is hiring bright and talented software engineers to support the Drug Enforcement Administrations application development initiatives....

  • Software Developer

    BAE SystemsQuantico, VA

    Software Developer -Alternate Job Title:Applications Dev Sr Prin -Job ID:30329BR -Posting Date:2017-10-11 -Travel Percentage: -Location:Quantico, VA 22134 -US Citizenship Required:Yes -Shift:1st Shift -Required Security Clearance:Top Secret and Eligible for SCI -Job...

  • Senior Java Software Developer

    iSystems Group, inc.Washington, DC

    Job Description iSystems has an exciting opportunity for a self- motivated and accomplished Senior Software Engineer to join our team. Our customer relies on iSystems to...

  • Senior Java Software Developer

    iSystems Group, inc.Washington, DC

    Job Description iSystems has an exciting opportunity for a self- motivated and accomplished Senior Software Engineer to join our team. Our customer relies on iSystems to...

  • Software Developer (JAVA) - SME

    General Dynamics Information TechnologyHerndon, VA

    The developer should be able to interface with customers during planning sessions, technical exchanges, and other customer focused activities. The developer should have...

  • Software Developer (JAVA) - SME

    General Dynamics ITHerndon, VA

    The developer should be able to interface with customers during planning sessions, technical exchanges, and other customer focused activities. The developer should have experience in the following: * Demonstrated professional experience building RESTful Web Service APIs,...

  • Software Developer

    Jobspring PartnersReston, VA

    Posted: June 12, 2017 Compensation: $90-110K DOE City, State: Reston, VA Technologies: Java Software Developer A Reston based company that specializes in building...

  • Software Developer

    BAE SystemsSpringfield, VA

    If you are a technologist who is interested in using modern web development tools and wants to work on a highly collaborative and supportive team, we are interested in...

  • Software Developer

    BAE SystemsSpringfield, VA

    If you are a technologist who is interested in using modern web development tools and wants to work on a highly collaborative and supportive team, we are interested in...

Ref: bls.gov
Back to top