Job description

Computer programmers write, modify and test code to produce software applications using a wide variety of coding languages, such as C++ and Java. Working with various other coders and developers, they propose and design programs that perform specific tasks, like tracking inventory, storing data, writing documents or controlling equipment.


    • Write, maintain and update computer programs, software packages and mobile applications
    • Carry out tests and conduct trial runs to ensure the desired results
    • Modify software programs to improve user experience and performance
    • Resolve errors by completing necessary revisions, and examine the program again
    • Determine if workstations, networks or centralised systems are responding to software instructions
    • Research consumer needs and then design software solutions to meet those needs
    • Brainstorm software ideas using workflow charts, diagrams, symbolic logic and computer capabilities
    • Perform or recommend expansions of current programs to enhance operating efficiency
    • Work with management and senior technical personnel to determine goals and list problems
    • Design or collaborate with staff to develop workflow charts and diagrams
    • Compose or contribute to instruction manuals for customers
    • Direct, supervise and train staff on program coding and computer interface
    • Assign and review tasks and projects for programming employees
    • Coordinate project initiatives with manufacturers to create new programs

Skills and qualities

Analytical thinking
Numerical reasoning
Attention to detail
Time management

Job outlook

Projected growth
The projected growth rate of employment in the US from 2016 to 2026, based on data collected through the BLS Employment Projections (EP) programme. The national average growth rate for all professions is 7%.


New jobs
The number of jobs projected to become available in the US between 2016 and 2026, based on data collected through the BLS Employment Projections (EP) programme.


Automation risk
The probability of computerisation, based on data published in ‘The Future of Employment’, a 2013 working paper by Carl Benedikt Frey and Michael Osborne.


Career progression

Computer programmers typically begin their careers assisting software engineers with various duties, like identifying user needs or designing programs. With experience, they can become software engineers.

By keeping up with industry trends and building on your knowledge, you could eventually become a project manager, systems manager, information officer or an independent consultant.

Working conditions

Average hours

45h/ week

Typical schedule

Full Time

Nights, weekends, holidays occasionally

A computer programmer will usually work between 40 and 50 hours per week, depending on projects, deadlines and unforeseen technical issues. That said, you will often need to work weekends, evenings and holidays to finish projects or troubleshoot an emergency. Telecommuting and remote working is possible.


Bottom 10%




Top 10%


Annual salary estimates are based on percentile wage data collected through the Occupational Employment Statistics (OES) survey of US workers.

Qualifications and training

Education level


Bachelor’s degree in computer science

Study time

4 years

Businesses will typically hire computer programmers who possess undergraduate degrees, particularly bachelor’s diplomas in computer science, information systems, mathematics and other related fields. It should be noted, however, that because of this ultra-competitive field and the globalised economy, many employers are increasingly requiring graduate and postgraduate education in these subjects, in addition to certificates that offer coursework in database management, structured query language (SQL) and programming logic.

Last Updated: Wednesday, November 2, 2022

Perfect career wave

Search for jobs

Find computer programmer vacancies near you