Computer Programmer
This job search feature is for Premium Users.
Take our
career test
and discover careers that fit you best and your work personality strengths.
With one click - see your best fitting jobs, who is hiring near you, and apply for these jobs online.
Career Test + Premium Career Report + Unlimited Career Research & Job Search Access
Learn more here
Salary Range: $80,000 or more
Average Hourly: $42.88
Education: Bachelor's degree
Number of Jobs: 185,700
Jobs Added to 2029: -18,300
Growth: Decline
Go here to see salary and job data specific to the United Kingdom.
What Computer Programmers Do

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
Computer systems design and related services | 36% |
Finance and insurance | 8 |
Manufacturing | 6 |
Software publishers | 6 |
Self-employed workers | 2 |
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.
Job Outlook
Employment of computer programmers is projected to decline 10 percent from 2020 to 2030.
Despite declining employment, about 9,700 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.
How to Become a Computer Programmer
Education
Computer programmers typically need a bachelor's degree in computer and information technology or a related field, such as mathematics. However, some employers hire workers who have other degrees or experience in specific programming languages. Programmers who work in specific fields, such as healthcare or accounting, may take classes in that field to supplement their computer-related degree. 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.