Department of Labor Logo United States Department of Labor
Dot gov

The .gov means it's official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you're on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Summary

Please enable javascript to play this video.

Video transcript available at https://www.youtube.com/watch?v=4FT15GxJQrE.
Quick Facts: Computer Programmers
2020 Median Pay $qf_median_annual_wage_html $qf_median_hourly_wage_html
Typical Entry-Level Education $qf_education_html
Work Experience in a Related Occupation $qf_experience_html
On-the-job Training $qf_training_html
Number of Jobs, 2020 $qf_number_jobs_html
Job Outlook, 2020-30 $qf_outlook_html
Employment Change, 2020-30 $qf_openings_html

What Computer Programmers Do

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

Work Environment

Programmers usually work in offices, most commonly in the computer systems design and related services industry.

How to Become a Computer Programmer

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

Pay

Job Outlook

Overall employment of computer programmers is projected to grow $pc.toString().replaceAll("^\-","") percent from 2020 to 2030, $gra.

About $tools.number.format('#,###',$op) openings for computer programmers are projected each year, on average, over the decade. Many of those openings are expected to result from the need to replace workers who transfer to different occupations or exit the labor force, such as to retire.

State & Area Data

Explore resources for employment and wages by state and area for computer programmers.

Similar Occupations

Compare the job duties, education, job growth, and pay of computer programmers with similar occupations.

More Information, Including Links to O*NET

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

What Computer Programmers Do About this section

Computer programmers
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 Environment About this section

Computer programmers
Most programmers work independently in offices.

Programmers normally work alone, but sometimes work with other computer specialists on large projects. Because writing code can be done anywhere, many programmers work from their homes.

Work Schedules

Most computer programmers work full time.

How to Become a Computer Programmer About this section

Computer programmers
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.

Advancement

Programmers who have general business experience may become computer systems analysts. With experience, some programmers may become software developers. They may also be promoted to managerial positions. For more information, see the profiles on computer systems analysts, software developers, and computer and information systems managers.

Important Qualities

Analytical skills. Computer programmers must understand complex instructions in order to create computer code.

Concentration. Programmers must focus their attention on their work as they write code or check existing code for errors.

Detail oriented. Computer programmers must closely examine the code they write because a small mistake can affect the entire computer program.

Troubleshooting skills. An important part of a programmer’s job is to check the code for errors and fix any they find.

Pay About this section

Computer Programmers

Median annual wages, May 2020

Total, all occupations

$41,950

 

Most computer programmers work full time.

Job Outlook About this section

Computer Programmers

Percent change in employment, projected 2020-30

Total, all occupations

8%

 

Overall employment of computer programmers is projected to grow $pc.toString().replaceAll("^\-","") percent from 2020 to 2030, $gra.

About $tools.number.format('#,###',$op) openings for computer programmers are projected each year, on average, over the decade. Many of those openings are expected to result from the need to replace workers who transfer to different occupations or exit the labor force, such as to retire.

Employment

Employment of computer programmers is projected to decline 7 percent from 2018 to 2028. 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, 2020-30
Occupational Title SOC Code Employment, 2020 Projected Employment, 2030 Change, 2020-30 Employment by Industry
Percent Numeric

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

$occ_name

15-1131 $tools.number.format($emp_current) $tools.number.format($emp_projected) $emp_percent_change $tools.number.format($emp_net_change) Get data

State & Area Data About this section

Occupational Employment and Wage Statistics (OEWS)

The Occupational Employment and Wage Statistics (OEWS) 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.

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 About this section

This table shows a list of occupations with job duties that are similar to those of computer programmers.

Occupation Job Duties ENTRY-LEVEL EDUCATION Help on Entry-Level Education 2020 MEDIAN PAY Help on 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.

$qf_education_html $qf_median_annual_wage_html
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.

$qf_education_html $qf_median_annual_wage_html
Computer hardware engineers Computer Hardware Engineers

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

$qf_education_html $qf_median_annual_wage_html
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.

$qf_education_html $qf_median_annual_wage_html
Computer support specialists Computer Support Specialists

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

$qf_education_html $qf_median_annual_wage_html
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.

$qf_education_html $qf_median_annual_wage_html
Database administrators Database Administrators

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

$qf_education_html $qf_median_annual_wage_html
Information security analysts Information Security Analysts

Information security analysts plan and carry out security measures to protect an organization’s computer networks and systems.

$qf_education_html $qf_median_annual_wage_html
Network and computer systems administrators Network and Computer Systems Administrators

Network and computer systems administrators are responsible for the day-to-day operation of computer networks.

$qf_education_html $qf_median_annual_wage_html
Software developers Software Developers

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

$qf_education_html $qf_median_annual_wage_html
Web developers Web Developers

Web developers design and create websites.

$qf_education_html $qf_median_annual_wage_html
Suggested citation:

Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, Computer Programmers,
at https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm (visited December 09, 2024).

Last Modified Date: Wednesday, September 4, 2019

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

2018 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 2018, the median annual wage for all workers was $38,640.

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, 2018

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

Job Outlook, 2018-28

The projected percent change in employment from 2018 to 2028. The average growth rate for all occupations is 5 percent.

Employment Change, 2018-28

The projected numeric change in employment from 2018 to 2028.

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 2018-28

The projected numeric change in employment from 2018 to 2028.

Growth Rate (Projected)

The percent change of employment for each occupation from 2018 to 2028.

Projected Number of New Jobs

The projected numeric change in employment from 2018 to 2028.

Projected Growth Rate

The projected percent change in employment from 2018 to 2028.

2018 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 2018, the median annual wage for all workers was $38,640.