SOC 15-1251

Computer programmers: pay, outlook and skills

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.

Median pay
$100,390
Per year, OEWS May 2025
People employed
92,230
United States, OEWS May 2025
Projected change
-7.3%
2025-2035 projection
Projected openings
4,400
Average per year, 2025-2035

Pay distribution and location comparison

These are published pay distribution points for everyone working in this occupation, not pay levels for junior, mid, or senior roles. Location figures are pay as published; no cost-of-living adjustment is applied.

United States, all industries

National pay distribution and the selected area, annual wages
Pay pointUnited StatesSelected area
10th percentile$57,710-
25th percentile$75,850-
Median$100,390-
75th percentile$130,680-
90th percentile$160,460-
People employed92,230-

Source: OEWS May 2025, U.S. Bureau of Labor Statistics (imported 9/17/2026) official file Reference period: OEWS May 2025.

Long-term outlook

Official ten-year projection for 2025 to 2035. Projected annual openings are an average per year over the decade, including openings from workers leaving the occupation. They are not a count of jobs open today.

Employment 2025
110,800 jobs
Projected 2035
102,700 jobs
Change
-7.3%
2025-2035
Openings per year
4,400
Decade average, in people
Typical entry education
Bachelor's degree
Related work experience
None
On-the-job training
None

Source: BLS Employment Projections 2025-2035, U.S. Bureau of Labor Statistics (imported 9/17/2026) official file Employment is published in thousands of jobs and converted here to people.

OptimizeResume Job Market Score™
26
Weak
Stable
Confidence: High
Reference period: Jul 2026

OptimizeResume analysis using U.S. Bureau of Labor Statistics data. This is not a BLS statistic or a prediction that an individual will be hired.

Current Demand50%
33
Occupation Fundamentals30%
28
Long-Term Outlook20%
6

Score trend

Historical scores may be restated when BLS revises underlying data. The chart uses the latest restated values.

3 months
+2
6 months
+1

Confidence

  • At least 90% of required inputs and occupation-industry mapping are covered.

How this score is built

Monthly industry demand is mapped to this occupation using official occupation-industry relationships, then combined with occupation fundamentals and long-term projections.

Read Methodology v1.0

Skills, software, and day-to-day work

Skill values are O*NET importance ratings on a 1-5 scale for the occupation itself. They describe what the work requires, not how much employers are hiring right now.

Most important skills

  • Programming4.8 / 5
  • Active Listening3.8 / 5
  • Complex Problem Solving3.8 / 5
  • Critical Thinking3.8 / 5
  • Quality Control Analysis3.5 / 5
  • Reading Comprehension3.4 / 5
  • Systems Analysis3.4 / 5
  • Judgment and Decision Making3.3 / 5
  • Writing3.3 / 5
  • Active Learning3.1 / 5
  • Mathematics3.1 / 5
  • Operations Analysis3.1 / 5

O*NET importance rating, 1 (not important) to 5 (extremely important).

Software and technology

  • Development environment softwareMicrosoft Azure software (in demand for this occupation) (hot technology), Microsoft Visual Studio (in demand for this occupation) (hot technology), Apache Kafka (hot technology), Apache Maven (hot technology), C (hot technology), Eclipse IDE (hot technology)
  • Object or component oriented development softwareC# (in demand for this occupation) (hot technology), C++ (in demand for this occupation) (hot technology), Oracle Java (in demand for this occupation) (hot technology), Python (in demand for this occupation) (hot technology), R (in demand for this occupation) (hot technology), Apache Spark (hot technology)
  • Web platform development softwareCascading style sheets CSS (in demand for this occupation) (hot technology), Hypertext markup language HTML (in demand for this occupation) (hot technology), JavaScript (in demand for this occupation) (hot technology), AJAX (hot technology), Apache Tomcat (hot technology), Django (hot technology)
  • Data base user interface and query softwareMicrosoft SQL Server (in demand for this occupation) (hot technology), Structured query language SQL (in demand for this occupation) (hot technology), Amazon Elastic Compute Cloud EC2 (hot technology), Amazon Redshift (hot technology), Amazon Web Services AWS software (hot technology), Apache Hive (hot technology)
  • Operating system softwareLinux (in demand for this occupation) (hot technology), Bash (hot technology), Microsoft Windows (hot technology), Microsoft Windows Server (hot technology), Red Hat Enterprise Linux (hot technology), Shell script (hot technology)
  • Enterprise application integration softwareExtensible markup language XML (in demand for this occupation) (hot technology), Microsoft SQL Server Integration Services SSIS (hot technology), Atlassian Bamboo, Extensible stylesheet language XSL, IBM InfoSphere DataStage, Oracle Fusion Middleware
  • Analytical or scientific softwareSAS (in demand for this occupation) (hot technology), IBM SPSS Statistics (hot technology), The MathWorks MATLAB (hot technology), Minitab, Simulation program with integrated circuit emphasis SPICE, StataCorp Stata
  • File versioning softwareGit (in demand for this occupation) (hot technology), Apache Subversion SVN (hot technology)
  • Spreadsheet softwareMicrosoft Excel (in demand for this occupation) (hot technology)
  • Office suite softwareMicrosoft Office software (in demand for this occupation) (hot technology)
  • Presentation softwareMicrosoft PowerPoint (in demand for this occupation) (hot technology)
  • Data base management system softwareAmazon DynamoDB (hot technology), Apache Cassandra (hot technology), Apache Hadoop (hot technology), Elasticsearch (hot technology), MongoDB (hot technology), MySQL (hot technology)

O*NET marks individual examples only. “Hot technology” means the tool is frequently named across job postings generally; “in demand for this occupation” means O*NET recorded it as required by employers for this occupation. Unmarked examples are still commonly used.

Typical tasks

  • 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.
  • Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
  • Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
  • Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.

Also advertised as: Analyst Programmer, Application Programmer Analyst, Computer Programmer, Computer Programmer Analyst, Internet Programmer, Java Developer, Programmer, Programmer Analyst.

Check your resume against a real job posting

This page describes the occupation in general. A free scan compares your own resume with the specific job description you are applying to, requirement by requirement, and shows where your real experience is already strong and where it is simply not documented yet. Only experience you actually have should ever be added.

Scan my resume free

Source: O*NET Database version 31.0 by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). O*NET® is a trademark of USDOL/ETA. Used under CC BY 4.0. OptimizeResume has modified the data for display only: selected the most important rated skills, grouped software examples by category while keeping each example’s official flags, and shortened the task list.

Guides for applying to this work

Sources and how to read this page

Source: OEWS May 2025, U.S. Bureau of Labor Statistics (imported 9/17/2026) official file

Source: BLS Employment Projections 2025-2035, U.S. Bureau of Labor Statistics (imported 9/17/2026) official file

O*NET 31.0 Database version 31.0 by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA), used under CC BY 4.0 and modified for display on this page. O*NET® is a trademark of USDOL/ETA.

How each number should be read
  • Pay percentiles describe the spread of pay across everyone in the occupation, not experience levels.
  • Employment counts are jobs, not people hired during the year.
  • Projected annual openings are a decade average from the official projection, not current vacancies.
  • O*NET skill ratings describe the work, not employer hiring demand.
  • Values BLS did not publish, suppressed, or top-coded are shown as such and never treated as zero.