Computer Programmers

Career, Salary and Education Information

What They 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 One: 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.

Salary: The median annual wage for computer programmers is $93,000.

Job Outlook: Employment of computer programmers is projected to decline 10 percent over the next ten years.

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

What Computer Programmers Do[About this section] [To Top]

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 of Computer Programmers

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 for Computer Programmers[About this section] [To Top]

Computer programmers hold about 174,400 jobs. The largest employers of computer programmers are as follows:

Computer systems design and related services 32%
Self-employed workers 9%
Finance and insurance 7%
Manufacturing 6%
Software publishers 5%

Programmers usually work in office settings, which may be in their homes.

Computer Programmer Work Schedules

Most computer programmers work full time.

How to Become a Computer Programmer[About this section] [To Top]

Get the education you need: Find schools for Computer Programmers near you!

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 for Computer Programmers

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 for Computer Programmers

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 for Computer Programmers

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 for Computer Programmers

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.

Computer Programmer Salaries[About this section] [More salary/earnings info] [To Top]

Salary Calculator


Entry Level Experienced

The median annual wage for computer programmers is $93,000. 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 $47,560, and the highest 10 percent earned more than $155,240.

The median annual wages for computer programmers in the top industries in which they work are as follows:

Software publishers $102,370
Finance and insurance $99,260
Manufacturing $98,320
Computer systems design and related services $79,860

Most computer programmers work full time.

Job Outlook for Computer Programmers[About this section] [To Top]

Employment of computer programmers is projected to decline 10 percent over the next ten years.

Despite declining employment, about 9,600 openings for computer programmers are projected each year, on average, over the decade. All of those openings are expected to result from the need to replace workers who transfer to other occupations or exit the labor force, such as to retire.

See all computer jobs.

Employment of Computer Programmers

Computer programming work continues to be automated, helping computer programmers to become more efficient in some of their tasks. Many companies are leveraging technologies to automate repetitive tasks, such as code formatting, to save time and money. Automation of this routine work could allow computer programmers to focus on other tasks, such as strategic planning activities, that cannot be automated. In addition, some computer programming tasks are more commonly done by other computer occupations, such as developers or analysts.

Employment projections data for Computer Programmers, 2021-31
Occupational Title Employment, 2021 Projected Employment, 2031 Change, 2021-31
Percent Numeric
Computer programmers 174,400 156,600 -10 -17,800


A portion of the information on this page is used by permission of the U.S. Department of Labor.


Explore more careers: View all Careers or the Top 30 Career Profiles


Search for jobs: