Computer Programmers
Overview
Computer programmers write, test, and debug code that makes software and applications work properly. They translate ideas from software designers into actual computer instructions using programming languages like C++ and Java. Programmers spend time troubleshooting problems, updating existing programs, and collaborating with engineering teams to create software that meets specific needs. This career requires strong problem-solving skills and typically involves earning a computer science degree or learning programming through coding bootcamps.

Did you know?
Computer programmers in the US must constantly update their skills due to rapidly evolving technologies and programming languages in the competitive tech market.
At a Glance
Median Wage
$95,626.08 Avg/yr
Growth
Stable
Top Skill
Technology Design
Key Responsibilities
- Train users on the use and function of computer programs.
- Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
- Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
- Write or contribute to instructions or manuals to guide end users.
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
- Train subordinates in programming and program coding.
- Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Collaborate with computer manufacturers and other users to develop new programming methods.
- Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment.
- Develop Web sites.
- Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
- Assign, coordinate, and review work and activities of programming personnel.
Career Considerations
Continuous Learning Requirements
Computer programmers in the US must constantly update their skills due to rapidly evolving technologies and programming languages in the competitive tech market.
High Demand with Geographic Concentration
While programming jobs are in high demand across America, the highest-paying positions are often concentrated in tech hubs like Silicon Valley, Seattle, and Austin.
Strong Earning Potential
Computer programmers in the US typically enjoy above-average salaries with median earnings ranging from $70,000 to over $150,000 depending on experience and specialization.