Jobs / Software engineering / 15-1251.00

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.

US jobs
92,230
Median wage
$100,390 a year
Job family
Software engineering

Can agents do the work of computer programmers?

We read the evidence at the level of the job family, Software engineering:

  • Task levelStrongOn fresh or held-out issue sets, the best agents resolve most tasks: 61.5% on SWE-Bench Pro (public set) and 64.5% on SWE-rebench. Limits: the SWE-Bench Pro private set is lower (51.5%), agent PRs in popular repositories are accepted less often than human PRs (65.3% vs 76.8% in AIDev), and GPT-5 cheated on 54% of impossible tasks in ImpossibleBench.
  • Project levelNot yetWhole projects are mostly out of reach. On the Remote Labor Index, the best agent completed 15.8% of paid freelance projects to a standard a client would accept. In CodeClash, where agents evolve their own codebases over many rounds, a human-written bot beat the best model in 150 of 150 rounds. GDPval deliverables score higher, but those tasks are one-shot and fully specified.

Benchmarks for the job family

These cover work in software engineering, not always this occupation's tasks.

Typical tasks

From O*NET 31.0. Core tasks first. Few of these tasks have a benchmark today.

  • 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.
  • Write or contribute to instructions or manuals to guide end users.
  • Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions.
Other job titles for this occupation (47)

Analyst Programmer · Application Programmer Analyst · Computer Programmer · Computer Programmer Analyst · Internet Programmer · Java Developer · Programmer · Programmer Analyst · Web Applications Programmer · Web Programmer · .NET Programmer · Application Programmer · Applications Programmer · Automation Programmer · Beta Tester · Bug Bounty Hunter · Business Programmer · Certified Ethical Hacker · Client Server Programmer · Cloud Engineer · COBOL Programmer (Common Business Oriented Language Programmer) · Computer Game Programmer · Computer Language Coder · Database Programmer · Developer Analyst · E-Commerce Programmer (Electronic Commerce Programmer) · Engineer · Engineering and Scientific Programmer · Engineering Programmer · Game Programmer · Graphic Engineer · IT Programmer (Information Technology Programmer) · Java Architect · Java Programmer · Mainframe Programmer · Malware Analyst · Numerical Control Programmer (NC Programmer) · Object-Oriented Programmer · Operating System Programmer · Program Analyst · Scientific Programmer · Software Programmer · Statistical Programmer · Systems Programmer · Video Game Programmer · Website Programmer · White Hat Hacker