Skip to content
Whittle

Computer Programmers

Also called Analyst Programmer, Computer Programmer, Programmer, or Programmer Analyst

Updated · Source: O*NET 31.0

What Computer Programmers do

You turn other people's plans into working code, then hunt down every error until the program does exactly what it should.

Computer programmers write and fix the instructions that make software run. Often someone else, like a software or web developer, hands you a specification (a written plan for what the program needs to do). You turn that plan into code, run trials to see what breaks, and rewrite until the results come out right. You also update older programs so they run faster or handle new requirements, and you write notes inside the code so the next person can follow your thinking.

The work is split between quiet focus and talking with people. You spend long stretches alone with a problem on screen. Then you sit down with managers, engineers, or the people running the systems to ask what a program is really supposed to do, or to track down why something failed.

A day in the life

You start indoors at a desk, in a climate-controlled office, checking email and messages from your team. You pick up the piece of code you were stuck on yesterday and read through it slowly, looking for the one line causing the wrong output. You make a change, run a trial, and watch what happens. Mid-morning you meet with an engineer to clarify what a new feature should actually do, mostly listening and asking questions. After lunch you map out the logic of the program in a diagram before writing any code. You add comments explaining your choices. A deadline is close, so you work steadily, sitting most of the day, fixing one small thing at a time.

This could fit you if you…

  • ✓Enjoy chasing down a problem until you find the exact cause
  • ✓Like clear logic, order, and getting details exactly right
  • ✓Can read a written plan carefully and ask good questions about it
  • ✓Are comfortable sitting and concentrating for long stretches
  • ✓Want a job that mixes solo focus with regular conversations

You might not like it if you…

  • –Want to move around and work with your hands all day
  • –Get frustrated when a single small error stops everything
  • –Dislike deadlines and the pressure that comes with them
  • –Want a field that is clearly expanding, since this one is projected to shrink 7.3% from 2025 to 2035 while all jobs grow 3.5%

How people get in

  1. 1Start coding now on your own, using free lessons and small projects, so you learn how it feels to debug (track down and fix errors in) something
  2. 2Take math, computer, and writing classes in high school; clear English matters for writing documentation, the notes that explain how a program works, and for meetings
  3. 3Earn a bachelor's degree, which is the typical entry education, in a field like computer science, computer programming, or management information systems
  4. 4Build a portfolio of programs you have written and can explain, including how you found and fixed the errors
  5. 5Look for internships or entry roles where you work alongside experienced programmers and learn a team's tools and standards
  6. 6Keep learning new languages and systems, and consider related paths like software developer or systems analyst as your skills grow

Who tends to enjoy it

Organizing

People who like keeping things accurate, orderly, and running on schedule.

Curious

People who like figuring things out, research, science, and solving problems.

Hands-on

People who like building, fixing, working with tools, machines, plants, or animals.

Official task list

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. (O*NET)

  • 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.

A typical day involves

Email Sitting Face-to-face with people Indoors, climate controlled Part of a team Deadlines and time pressure

Skills that matter most

  • Programming
  • Active Listening
  • Critical Thinking
  • Complex Problem Solving
  • Quality Control Analysis
  • Reading Comprehension

What you'll need to know

  • Computers and Electronics
  • Mathematics
  • Engineering and Technology
  • English Language
  • Customer and Personal Service

How much Computer Programmers make

The median pay for Computer Programmers in the U.S. is $100,390 a year ($48.26 an hour). Most earn between $57,710 and $160,460. (Bureau of Labor Statistics, May 2025)

Pay depends a lot on where you live: the median is highest in Connecticut ($133,820) and lowest in Puerto Rico ($51,310).

Pay by state and territory
StateMedian payJobs
Alabama$93,800890
Alaska$91,700530
Arizona$88,9901,560
Arkansas$111,8401,050
California$116,76011,340
Colorado$104,610930
Connecticut$133,8201,650
Florida$93,1804,760
Georgia$98,3801,890
Hawaii$118,180450
Idaho$89,020—
Illinois$72,5401,280
Indiana$97,0001,520
Iowa$79,180950
Kansas$92,960460
Kentucky$94,850950
Maine$101,780450
Maryland$125,5702,490
Massachusetts$128,3901,930
Michigan$65,8604,400
Minnesota$107,2502,070
Mississippi$85,1201,170
Missouri$90,4201,520
Montana$89,920—
Nebraska$95,1501,090
Nevada$93,600840
New Hampshire$74,000—
New Jersey$104,9403,930
New Mexico$83,750600
New York$103,9807,020
North Carolina$81,0704,120
North Dakota$92,280190
Ohio$85,2702,100
Oklahoma$99,780990
Oregon$99,5401,370
Pennsylvania$89,1803,120
Puerto Rico$51,310920
Rhode Island$96,470250
South Carolina$99,740790
South Dakota$58,24070
Texas$99,3307,620
Utah$104,890690
Vermont$89,560170
Virginia$121,6103,070
Washington$125,6202,540
West Virginia$65,320140
Wyoming$81,64060

Where to study for this

College programs that commonly lead to this career, and how many US colleges offer each.

Related careers

Computer and Mathematical

Software Developers

Research, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Update software or enhance existing software capabilities. May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements. May maintain databases within an application area, working individually or coordinating database development as part of a team.

$135,980/yr median Considerable preparation

Computer and Mathematical

Web and Digital Interface Designers

Design digital user interfaces or websites. Develop and test layouts, interfaces, functionality, and navigation menus to ensure compatibility and usability across browsers or devices. May use web framework applications as well as client-side code and processes. May evaluate web design following web and accessibility standards, and may analyze web use metrics and optimize websites for marketability and search engine ranking. May design and test interfaces that facilitate the human-computer interaction and maximize the usability of digital devices, websites, and software with a focus on aesthetics and design. May create graphics used in websites and manage website content and links.

$104,000/yr median Considerable preparation

Computer and Mathematical

Computer Systems Engineers/Architects

Design and develop solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions.

$116,580/yr median Medium preparation

Computer and Mathematical

Computer Systems Analysts

Analyze science, engineering, business, and other data processing problems to develop and implement solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions, improve existing computer systems, and review computer system capabilities, workflow, and schedule limitations. May analyze or recommend commercially available software.

$105,850/yr median Considerable preparation

Computer and Mathematical

Database Administrators

Administer, test, and implement computer databases, applying knowledge of database management systems. Coordinate changes to computer databases. Identify, investigate, and resolve database performance issues, database capacity, and database scalability. May plan, coordinate, and implement security measures to safeguard computer databases.

$104,620/yr median Considerable preparation

Computer and Mathematical

Database Architects

Design strategies for enterprise databases, data warehouse systems, and multidimensional networks. Set standards for database operations, programming, query processes, and security. Model, design, and construct large relational databases or data warehouses. Create and optimize data models for warehouse infrastructure and workflow. Integrate new systems with existing warehouse structure and refine system performance and functionality.

$139,500/yr median Considerable preparation

Computer and Mathematical

Software Quality Assurance Analysts and Testers

Develop and execute software tests to identify software problems and their causes. Test system modifications to prepare for implementation. Document software and application defects using a bug tracking system and report defects to software or web developers. Create and maintain databases of known defects. May participate in software design reviews to provide input on functional requirements, operational characteristics, product designs, and schedules.

$104,300/yr median Considerable preparation

Computer and Mathematical

Blockchain Engineers

Maintain and support distributed and decentralized blockchain-based networks or block-chain applications such as cryptocurrency exchange, payment processing, document sharing, and digital voting. Design and deploy secure block-chain design patterns and solutions over geographically distributed networks using advanced technologies. May assist with infrastructure setup and testing for application transparency and security.

$116,580/yr median Considerable preparation

Source: O*NET 31.0 Database (USDOL/ETA), occupation 15-1251.00, used under CC BY 4.0 and modified by Whittle. Pay: BLS Occupational Employment and Wage Statistics (May 2025), SOC 15-1251. Outlook and entry education: BLS Employment Projections 2025–35. Program links: NCES CIP 2020 to SOC 2018 crosswalk. How we build these pages.