Computer Programmer job description: duties, skills and qualifications.
The 13 core duties O*NET lists for computer programmers, the skills, knowledge and education the work calls for, BLS pay and outlook, and an illustrative job description you can adapt.
Computer Programmers create, modify, and test the code and scripts that allow computer applications to run. The duties workers rate most important: 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; and perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements. BLS lists a bachelor's degree as the typical entry-level education. The median pay is $100,390 a year ($48.26 an hour) (BLS, May 2025).
- Core duties
- 13
- O*NET task statements
- Preparation
- Job Zone 4 of 5
- considerable preparation
- Typical entry education
- Bachelor's degree
- BLS 2025–35
- Median pay
- $100,390
- BLS May 2025
The 13 core duties of a Computer Programmer
Data O*NET classifies these tasks as core to the occupation, ranked here by the importance workers gave them (1 to 5).
- Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic. importance 4.4 of 5
- Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced. importance 4.4 of 5
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements. importance 4.4 of 5
- 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. importance 4.2 of 5
- Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes. importance 4.0 of 5
- Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct. importance 4.0 of 5
- 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. importance 3.6 of 5
- Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program. importance 3.6 of 5
- Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs. importance 3.5 of 5
- Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer. importance 3.3 of 5
- Write or contribute to instructions or manuals to guide end users. importance 3.3 of 5
- Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions. importance 3.3 of 5
- Assign, coordinate, and review work and activities of programming personnel. importance 3.2 of 5
Work activities O*NET rates most important here: Working with Computers, Processing Information, Analyzing Data or Information, Getting Information and Making Decisions and Solving Problems.
Also part of the job
Supplemental tasks O*NET lists for this occupation: less central than the core duties above, and not done in every job.
- Train subordinates in programming and program coding.
- Train users on the use and function of computer programs.
- Collaborate with computer manufacturers and other users to develop new programming methods.
What a computer programmer job asks you to be good at
Data O*NET importance ratings for this occupation, highest first.
Knowledge areas: Computers and Electronics, Mathematics, Engineering and Technology, English Language and Customer and Personal Service.
Software O*NET lists for this occupation: Extensible markup language XML, Git, SAS, C#, C++, Cascading style sheets CSS. These are examples O*NET records for the job, not a list of tools every employer uses or a checklist of what you must know.
Education and experience for computer programmers
Data BLS Employment Projections 2025–35 and O*NET 31.0.
- Education: BLS lists a bachelor's degree as the typical entry-level education.
- Experience: BLS lists no work experience in a related occupation as typical to enter.
- Training on the job: BLS lists no typical on-the-job training once hired.
- Preparation: O*NET places the job in Job Zone 4 of 5 (considerable preparation). A considerable amount of work-related skill, knowledge, or experience is needed for these occupations.
- Licenses and certifications: not listed here. A license is a legal requirement set by a state; a certification is a credential from a private or professional body. Rules vary by state and employer, and a missing entry on this page does not mean none is required: check with your state's licensing board and see how to become a computer programmer.
Most computer programmers surveyed by O*NET (88%) name a bachelor's degree as the education the job requires.
Computer Programmer job description template
Advice Assembled from the O*NET and BLS data on this page. Copy it, then replace every bracket.
Job title: Computer Programmer [Company] · [City, State] · [Full-time or part-time] · [Pay range, where your state requires one] About the role [Company] is hiring a Computer Programmer to create, modify, and test the code and scripts that allow computer applications to run. [One sentence on your team and why this role matters.] What you will do - 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. What we are looking for - [Education: BLS lists a bachelor's degree as typical for this occupation; set the level this role truly needs] - [Experience: BLS lists no related work experience as typical to enter; set what this role needs] - Strength in programming, complex problem solving and active listening - Working knowledge of Computers and Electronics and Mathematics - [Software your team uses, e.g. Extensible markup language XML or Git] - [Any license or certification your state or company requires] [Schedule, benefits and how to apply]
Illustrative: every name, employer, school, date and number in these samples is fictional or a bracketed placeholder. Replace each bracket with your own true details; never copy a result you did not achieve.
Not a real job posting. This template is TryHired's illustration built from government occupational data. It is not an opening at any employer, and no employer wrote it.
What computer programmers earn and where the job is headed
Data BLS OEWS May 2025 and BLS Employment Projections 2025–35.
The median annual wage was $100,390 in May 2025. The median hourly wage was $48.26. BLS estimates about 92,230 jobs in this occupation in the U.S.
BLS projects employment of computer programmers to decline 7.3% from 2025 to 2035, with about 4,400 openings a year over that period, including openings to replace workers who leave.
See the full computer programmer salary breakdown by percentile, state and metro.
How to read a computer programmer job description
Advice
- Read a real computer programmer posting next to the core duties above. Duties it repeats, such as “Write, analyze, review, and rewrite programs, using workflow chart…”, tell you what that employer weighs most; anything it adds is specific to that team.
- Tailor your resume to the posting, not to this page: describe only computer programmer work you have actually done, with your own results.
- Prepare a story for each of the top-rated skills (programming and complex problem solving); computer programmer interview questions turns them into practice questions.
More on computer programmers
What the job is, skills, tools, pay and related roles.
Open →SalaryComputer Programmer salaryPay by percentile, state and metro, with a negotiation script.
Open →How to becomeComputer Programmer how to becomeEducation, training and the skills to build first.
Open →ResumeComputer Programmer resumeKeywords, bullet formulas and the skills to prove.
Open →Interview questionsComputer Programmer interview questionsQuestions with what they test, plus practice mode.
Open →Career changeComputer Programmer career changeWhere these skills transfer, with skill match and pay change.
Open →Free toolCheck your resumeParsed text, evidence per bullet, fixes first.
Open →Questions people ask
What does a computer programmer do?
What are the main duties of a computer programmer?
What qualifications does a computer programmer need?
What skills does a computer programmer need?
How much does a computer programmer make?
Is the sample job description a real posting?
How this page is built
Duties, work activities, skills, knowledge, software and the Job Zone come from O*NET 31.0 for O*NET-SOC 15-1251.00 (Computer Programmers), the occupation TryHired's computer programmer page maps this job to. Task importance is rated 1 to 5 by workers. Typical entry-level education, experience, training and projections come from BLS Employment Projections 2025–35; pay from BLS OEWS May 2025. The sample job description is an illustrative template assembled from those data, not a real posting.
This page includes information from the O*NET® 31.0 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. O*NET® is a trademark of USDOL/ETA. TryHired has modified all or some of this information. USDOL/ETA has not approved, endorsed, or tested these modifications.
- How a specific employer defines the job: real postings differ by team and location.
- Junior, mid-level and senior versions of the job: O*NET and BLS describe the occupation as a whole, so this page does not invent levels.
- Licensing or certification rules where you live.
- O*NET 31.0 Database, U.S. Department of Labor, Employment and Training Administration (USDOL/ETA), used under the CC BY 4.0 license. TryHired selected, ranked and combined the data; O*NET is not responsible for these pages.
- U.S. Bureau of Labor Statistics, Employment Projections program, occupational projections 2025–35 (typical entry-level education, work experience, on-the-job training, projected employment and openings; public domain).
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025 estimates (public domain).