Computer Programmer

What is this job like?

Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow. In addition, programmers test newly created applications and programs to ensure that they produce the expected results. If they do not work correctly, computer programmers check the code for mistakes and fix them.

Programmers normally work alone, but sometimes work with other computer specialists on large projects. Because writing code can be done anywhere, many programmers telecommute.

How do you get ready?

Most computer programmers have a bachelor’s degree in computer science or a related subject; however, some employers hire workers with an associate’s degree. Most programmers specialize in a few programming languages.

Individuals looking at jobs in this field must have strong problem-solving skills. Because they often deal with many tasks at the same time, they must be able to focus and pay close attention to detail.

As technology advances in the computer field, employers want workers to keep up. Software programmers must learn new skills if they wish to remain in this advancing field. To help them keep up, employers, vendors, private training schools, and others offer a large number of courses.

How much does this job pay?

The median annual wage for computer programmers was $79,840 in May 2016.

How many jobs are there?

Computer programmers held about 328,600 jobs in 2014. 

Employers range from startups to well-known industry leaders. A growing number of these workers get jobs on a temporary basis, or work as consultants.

What about the future?

Employment of computer programmers is projected to decline 8 percent from 2014 to 2024.

Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower. This ongoing trend is projected to limit growth for computer programmers in the United States.

However, the high costs associated with managing projects given to overseas programmers sometimes offsets the savings from the lower wages, causing some companies to bring back or keep programming jobs in the United States.

Some information on this page has been provided by the U.S Bureau of Labor Statistics. 

More details ⇣: 

Overview:

Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow. In addition, programmers test newly created applications and programs to ensure that they produce the expected results. If they do not work correctly, computer programmers check the code for mistakes and fix them.

Computer programmers typically do the following:

  • Write programs in a variety of computer languages, such as C++ and Java
  • Update and expand existing programs
  • Test programs for errors and fix the faulty lines of computer code responsible
  • Create and test code in an integrated development environment (IDE)
  • Use code libraries, which are collections of independent lines of code, to simplify the writing

Programmers work closely with software developers, and in some businesses their duties overlap. When such overlap occurs, programmers can do work that is typical of developers, such as designing the program. Program design entails planning the software initially, creating models and flowcharts detailing how the code is to be written, writing and debugging code, and designing an application or systems interface. Programmers often use an IDE, which allows them to create, edit, and test code.

A program’s purpose determines the complexity of its computer code. For example, a weather application for a mobile device will require less programming than a social-networking application. Simpler programs can be written in less time. Complex programs, such as computer operating systems, can take a year or more to complete.

Software-as-a-service (SaaS), which consists of applications provided through the Internet, is a growing field. Although programmers typically need to rewrite their programs to work on different system platforms, such as Windows or OS X, applications created with SaaS work on all platforms. Accordingly, programmers writing SaaS applications may not have to rewrite as much code as other programmers do and can instead spend more time writing new programs.

Work Environment:

Computer programmers held about 328,600 jobs in 2014. Most computer programmers work full-time.

Programmers normally work alone, but sometimes work with other computer specialists on large projects. Because writing code can be done anywhere, many programmers telecommute.

Education and Training:

Most computer programmers have a bachelor’s degree; however, some employers hire workers who have an associate’s degree. Most programmers get a degree in computer science or a related subject. Programmers who work in specific fields, such as healthcare or accounting, may take classes in that field to supplement their degree in computer programming. In addition, employers value experience, which many students gain through internships.

Most programmers learn a few computer languages while in school. However, a computer science degree gives students the skills needed to learn new computer languages easily. During their classes, students receive hands-on experience writing code, testing programs, fixing errors, and doing many other tasks that they will perform on the job.

To keep up with changing technology, computer programmers may take continuing education and professional development seminars to learn new programming languages or about upgrades to programming languages they already know.

Programmers can become certified in specific programming languages or for vendor-specific programming products. Some companies require their computer programmers to be certified in the products they use.

Many students gain experience in computer programming by completing an internship at a software company while in college.

Programmers who have general business experience may become computer systems analysts. With experience, some programmers may become software developers. They may also be promoted to managerial positions. For more information, see the profiles on computer systems analysts, software developers, and computer and information systems managers.

Skills to Develop:

Analytical skills: Computer programmers must understand complex instructions in order to create computer code.

Concentration: Programmers must be able to work at a computer, writing lines of code for long periods.

Detail-oriented: Computer programmers must closely examine the code they write because a small mistake can affect the entire computer program.

Troubleshooting skills: An important part of a programmer’s job is to check the code for errors and fix any they find.

Job Outlook:

Employment of computer programmers is projected to decline 8 percent from 2014 to 2024. Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower. This ongoing trend is projected to limit growth for computer programmers in the United States. However, the high costs associated with managing projects given to overseas programmers sometimes offsets the savings from the lower wages, causing some companies to bring back or keep programming jobs in the United States.

Many computer programmers work in the computer system design and related services industry, which is expected to grow as a result of increasing demand for new computer software. The software publishers industry is also expected to grow as the use of software offered over the Internet increases. This new use of software over the Internet should lower costs for firms and allow users more customization. In addition, new applications will have to be developed for mobile technology and the healthcare industry. An increase in computer systems that are built into electronics and other non-computer products should result in some job growth for computer programmers and software developers.

Earnings:

The median annual wage for computer programmers was $79,840 in May 2016. The median wage is the wage at which half the workers in an occupation earned more than that amount and half earned less. The lowest 10 percent earned less than $45,570, and the highest 10 percent earned more than $130,360.

College Courses: 

Sample courses that might be required for a degree in Computer Science:

Computer Science and Other Related Courses

  • Philosophy: The Moral Issues in Computer Technology
  • Probability and Statistics
  • Mathematics of Engineering Systems or Linear Algebra and Multivariable Calculus
  • Introduction to Digital Logic Design
  • Programming 1
  • Programming 2
  • Programming Language Paradigms
  • Computer Systems and Assembly Language
  • Software Engineering 1
  • An Introduction to the Theory of Computing
  • Data Structures
  • Computer Architecture
  • The Fundamentals of Computer Algorithms
  • Programming Languages
  • Introduction to Operating Systems

Colleges will also require you to take some core undergraduate courses in addition to some electives. Required core courses and electives will vary from college to college. Here are a number of examples:

Arts and Humanities

  • Arts
  • History
  • Languages
  • Literature
  • Music

Math

  • Algebra
  • Calculus
  • Computer Science
  • Logic
  • Statistics

Natural Sciences

  • Astronomy
  • Biology
  • Chemistry
  • Environmental Science
  • Physics

Social Sciences

  • Anthropology
  • Economics
  • Government
  • Psychology
  • Sociology