Computer Programmers
Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.
Also called: Analyst Programmer · Application Programmer Analyst · Computer Programmer · Computer Programmer Analyst · Internet Programmer · Java Developer
Median pay (national)
$98,670
$52,190–$162,090 (10th–90th)
Employed (US)
109,870
BLS OEWS, May 2024
Outlook 2024–34
-6%
~5,500 openings/yr
Typical entry
Bachelor's degree
What the numbers say
Refit analysis ·Pay for computer programmers shows an unusually wide range: the top 10% earn $162,090 versus $52,190 at the bottom 10% — 3.1x. The median of $98,670 leaves roughly 64% of headroom to the 90th percentile, which is where seniority, specialization, and the skills below tend to pay off.
Refit analysis ·Employment is projected to change -6% from 2024 to 2034 — a projected decline, against +3% across all occupations. Even so, BLS projects about 5,500 openings a year, mostly to replace workers who retire or change careers.
Refit analysis ·Where you work moves the number a lot. Across the 52 states with released data, Washington pays the most for this role (median $158,820, +61% vs the national median), while Puerto Rico sits lowest at $43,010 — a 269% spread for the same job title.
Refit analysis ·O*NET rates Active Listening, Critical Thinking, Reading Comprehension as the highest-importance skills here — so a resume aimed at this role should lead with evidence of those, not a generic skills list. On the tools side, O*NET flags C#, C++, Cascading style sheets CSS, Extensible markup language XML as in-demand technologies for this role.
Tailor your resume to Computer Programmers
Honest tailoring
See how your resume lines up with Computer Programmers
Refit re-angles your real experience toward this role using the skills above — and never invents skills you don't have. A no-fabrication gate checks every change before you see it.
Free. No account needed to see your first re-fit.
Top skills employers ask for
Ranked by O*NET importance for this occupation.
- Active Listening
- Critical Thinking
- Reading Comprehension
- Writing
- Speaking
- Mathematics
- Active Learning
- Monitoring
- Science
- Learning Strategies
What they actually do
Core O*NET tasks for this role.
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- 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.
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
- 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.
- Assign, coordinate, and review work and activities of programming personnel.
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
Tools & technology
- C#
- C++
- Cascading style sheets CSS
- Extensible markup language XML
- Git
- Hypertext markup language HTML
- JavaScript
- Linux
- Microsoft Azure software
- Microsoft Excel
- Microsoft Office software
- Microsoft PowerPoint
- Microsoft SQL Server
- Microsoft Visual Studio
- Oracle Java
- Python
Knowledge areas
- Computers and Electronics
- Mathematics
- Engineering and Technology
- English Language
- Customer and Personal Service
- Administration and Management
- Design
- Education and Training