Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow.

Employment of computer programmers is projected to decline 7 percent from 2016 to 2026. Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower.

Computer programmers write programs in a variety of computer languages, such as C++ and Java.

Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow. In addition, programmers test newly created applications and programs to ensure that they produce the expected results. If they do not work correctly, computer programmers check the code for mistakes and fix them.

Duties

Computer programmers typically do the following:

Write programs in a variety of computer languages, such as C++ and Java

Update and expand existing programs

Test programs for errors and fix the faulty lines of computer code

Create and test code in an integrated development environment (IDE)

Use code libraries, which are collections of independent lines of code, to simplify the writing

Programmers work closely with software developers, and in some businesses their duties overlap. When such overlap occurs, programmers can do work that is typical of developers, such as designing programs. Program design entails planning the software initially, creating models and flowcharts detailing how the code is to be written, writing and debugging code, and designing an application or systems interface.

A program’s purpose determines the complexity of its computer code. For example, a weather application for a mobile device will require less programming than a social-networking application. Simpler programs can be written in less time. Complex programs, such as computer operating systems, can take a year or more to complete.

Software-as-a-service (SaaS), which consists of applications provided through the Internet, is a growing field. Although programmers typically need to rewrite their programs to work on different system platforms, such as Windows or OS X, applications created with SaaS work on all platforms. Accordingly, programmers writing SaaS applications may not have to rewrite as much code as other programmers do and can instead spend more time writing new programs.

Work Schedules

Most programmers have a degree in computer science or a related field.

Most computer programmers have a bachelor’s degree in computer science or a related subject; however, some employers hire workers with an associate’s degree. Most programmers specialize in a few programming languages.

Education

Most computer programmers have a bachelor’s degree; however, some employers hire workers who have other degrees or experience in specific programming languages. Most programmers get a degree in computer science or a related subject. Programmers who work in specific fields, such as healthcare or accounting, may take classes in that field to supplement their degree in computer programming. In addition, employers value experience, which many students gain through internships.

Most programmers learn a few computer languages while in school. However, a computer science degree gives students the skills needed to learn new computer languages easily. Students get hands-on experience writing code, testing programs, fixing errors, and doing many other tasks that they will perform on the job.

To keep up with changing technology, computer programmers may take continuing education classes and attend professional development seminars to learn new programming languages or about upgrades to programming languages they already know.

Licenses, Certifications, and Registrations

Programmers can become certified in specific programming languages or for vendor-specific programming products. Some companies require their computer programmers to be certified in the products they use.

Computer Programmers

Note: All Occupations includes all occupations in the U.S. Economy.Source: U.S. Bureau of Labor Statistics, Occupational Employment Statistics

The median annual wage for computer programmers was $79,840 in May 2016.
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 $45,570, and the highest 10 percent earned more than $130,360.

In May 2016, the median annual wages for computer programmers in the top industries in which they worked were as follows:

Computer Programmers

Note: All Occupations includes all occupations in the U.S. Economy.Source: U.S. Bureau of Labor Statistics, Employment Projections program

Employment of computer programmers is projected to decline 7 percent from 2016 to 2026. Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower. This ongoing trend is projected to limit employment growth for computer programmers in the United States. However, the high costs associated with managing projects given to overseas programmers sometimes offsets the savings from the lower wages, causing some companies to bring back or keep programming jobs in the United States.

Job Prospects

Job prospects will be best for programmers who have a bachelor’s degree or higher and knowledge of a variety of programming languages. Keeping up to date with the newest programming tools will also improve job prospects.

Employment projections data for computer programmers, 2016-26

Occupational Title

SOC Code

Employment, 2016

Projected Employment, 2026

Change, 2016-26

Employment by Industry

Percent

Numeric

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

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.

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.

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.

Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and Intranets. These networks range from small connections between two offices to next-generation networking capabilities such as a cloud infrastructure that serves multiple customers.

Computer support specialists provide help and advice to computer users and organizations. These specialists either support computer networks or they provide technical assistance directly to computer users.

Computer systems analysts, sometimes called systems architects, study an organization’s current computer systems and procedures, and design 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.

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 secure from unauthorized access.

Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increases.

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.

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 its performance and capacity, which are measures of a website’s speed and how much traffic the site can handle. In addition, web developers may create content for the site.

What They Do

The What They Do tab describes the typical duties and responsibilities of workers in the occupation, including what tools and equipment they use and how closely they are supervised. This tab also covers different types of occupational specialties.

Work Environment

The Work Environment tab includes the number of jobs held in the occupation and describes the workplace, the level of physical activity expected, and typical hours worked. It may also discuss the major industries that employed the occupation. This tab may also describe opportunities for part-time work, the amount and type of travel required, any safety equipment that is used, and the risk of injury that workers may face.

How to Become One

The How to Become One tab describes how to prepare for a job in the occupation. This tab can include information on education, training, work experience, licensing and certification, and important qualities that are required or helpful for entering or working in the occupation.

Pay

The Pay tab describes typical earnings and how workers in the occupation are compensated—annual salaries, hourly wages, commissions, tips, or bonuses. Within every occupation, earnings vary by experience, responsibility, performance, tenure, and geographic area. For most profiles, this tab has a table with wages in the major industries employing the occupation. It does not include pay for self-employed workers, agriculture workers, or workers in private households because these data are not collected by the Occupational Employment Statistics (OES) survey, the source of BLS wage data in the OOH.

State & Area Data

The State and Area Data tab provides links to state and area occupational data from the Occupational Employment Statistics (OES) program, state projections data from Projections Central, and occupational information from the Department of Labor's CareerOneStop.

Job Outlook

The Job Outlook tab describes the factors that affect employment growth or decline in the occupation, and in some instances, describes the relationship between the number of job seekers and the number of job openings.

Similar Occupations

The Similar Occupations tab describes occupations that share similar duties, skills, interests, education, or training with the occupation covered in the profile.

Contacts for More Information

The More Information tab provides the Internet addresses of associations, government agencies, unions, and other organizations that can provide additional information on the occupation. This tab also includes links to relevant occupational information from the Occupational Information Network (O*NET).

2016 Median Pay

The wage at which half of the workers in the occupation earned more than that amount and half earned less. Median wage data are from the BLS Occupational Employment Statistics survey. In May 2016, the median annual wage for all workers was $37,040.

On-the-job Training

Additional training needed (postemployment) to attain competency in the skills needed in this occupation.

Entry-level Education

Typical level of education that most workers need to enter this occupation.

Work experience in a related occupation

Work experience that is commonly considered necessary by employers, or is a commonly accepted substitute for more formal types of training or education.

Number of Jobs, 2016

The employment, or size, of this occupation in 2016, which is the base year of the 2016-26 employment projections.

Job Outlook, 2016-26

The projected percent change in employment from 2016 to 2026. The average growth rate for all occupations is 7 percent.

Employment Change, 2016-26

The projected numeric change in employment from 2016 to 2026.

Entry-level Education

Typical level of education that most workers need to enter this occupation.

On-the-job Training

Additional training needed (postemployment) to attain competency in the skills needed in this occupation.

Employment Change, projected 2016-26

The projected numeric change in employment from 2016 to 2026.

Growth Rate (Projected)

The percent change of employment for each occupation from 2016 to 2026.

Projected Number of New Jobs

The projected numeric change in employment from 2016 to 2026.

Projected Growth Rate

The projected percent change in employment from 2016 to 2026.

2016 Median Pay

The wage at which half of the workers in the occupation earned more than that amount and half earned less. Median wage data are from the BLS Occupational Employment Statistics survey. In May 2016, the median annual wage for all workers was $37,040.