Computer Programmer Career Description


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

What they do

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

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.

Work Environment

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.

How to become a Computer Programmer

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.

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.

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.


The median annual wage for computer programmers was $86,550 in May 2019. 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 $50,150, and the highest 10 percent earned more than $140,250.

Job Outlook

Employment of computer programmers is projected to decline 9 percent from 2019 to 2029. 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.

Similar Job Titles

Analyst Programmer, Application Programmer Analyst, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst, Web Applications Programmer, Web Programmer

Related Occupations

Computer Systems Analyst, Software Developer-Applications, Software Developer-Systems Software, Database Administrator, Software Quality Assurance Engineer and Tester

More Information

The trade associations listed below represent organizations made up of people (members) who work and promote advancement in the field.  Members are very interested in telling others about their work and about careers in those areas.  As well, trade associations provide opportunities for organizational networking and learning more about the field’s trends and directions.

Magazines and Publications

Video Transcript

The 21st century has already seen a storm of technological progress. In the eye of the tornado sit computer programmers, with the skills to navigate the whirlwind of the new millennium. It's the job of computer programmers to turn designs -created by software developers and engineers- into sets of instructions that computers follow, which result in the word processing programs, social media platforms, browsers, and more...that people use every day. Computer programming is a very detail-oriented occupation... programmers must be able to focus on code for long periods without losing track of their progress, and they must persist to solve the often small but critical code issues that can have a big impact, and prevent the program from operating. Most computer programmers work full time and, though many work in offices, programming can be performed from almost any location. Most programmers have a bachelor's degree in computer science or a related subject, though some find work with a two-year associate's degree. Computer programming is a career that requires cutting-edge skills, persistence, and a vision for creating new possibilities with code.

Content retrieved from: US Bureau of Labor Statistics-OOH,
CareerOneStop, O*Net Online