Employment of computer programmers is projected to grow 8 percent from 2012 to 2022, about as fast as the average for all occupations. Computer programming can be done from anywhere in the world, so companies sometimes hire programmers in countries where wages are lower.

Computer programmers write programs in a variety of computer languages, such as C++ and Java.

Computer programmers write code to create software programs. They turn the program designs created by software developers and engineers into instructions that a computer can follow. Programmers must debug the programs—that is, test them to ensure that they produce the expected results. If a program does not work correctly, they check the code for mistakes and fix them.

Duties

Computer programmers typically do the following:

Write programs in a variety of computer languages, such as C++ and Java

Update and expand existing programs

Debug programs by testing for and fixing errors

Build and use computer-assisted software engineering (CASE) tools to automate the writing of some code

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 this happens, programmers can do work that is typical of developers, such as designing the program. This entails initially planning the software, creating models and flowcharts detailing how the code is to be written, writing and debugging code, and designing an application or systems interface.

Some programs are relatively simple and usually take a few days to write, such as creating mobile applications for cell phones. Other programs, like computer operating systems, are more complex and 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 systems platforms such as Windows or OS X, applications created using SaaS work on all platforms. That is why programmers writing for software-as-a-service applications may not have to update as much code as other programmers and can instead spend more time writing new programs.

Work Schedules

Most programmers have a degree in computer science or a related field.

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.

Education

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 only 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, debugging programs, 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.

Licenses, Certifications, and Registrations

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

Other Experience

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

Computer Programmers

Note: All Occupations includes all occupations in the U.S. Economy.Source: U.S. Bureau of Labor Statistics, Occupational Employment Statistics

The median annual wage for computer programmers was $74,280 in May 2012. 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 $42,850, and the top 10 percent earned more than $117,890.

Computer Programmers

Note: All Occupations includes all occupations in the U.S. Economy.Source: U.S. Bureau of Labor Statistics, Employment Projections program

Employment of computer programmers is projected to grow 8 percent from 2012 to 2022, about as fast as the average for all occupations. 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, some companies are bringing programming jobs back to the United States. In addition, companies with small information technology operations may outsource computer programming to low-cost areas within the United States.

Many computer programmers work in computer system design and related services, an industry which is expected to grow as a result of an increasing demand for new computer software. This includes software offered over the Internet, which should lower costs for firms and allow for more customization for users. 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.

Job Prospects

Job prospects will be best for programmers who have a bachelor’s degree or higher and knowledge of a variety of programming languages. Keeping up to date with the newest programming tools will also improve job prospects.

Employment projections data for computer programmers, 2012-22

Occupational Title

SOC Code

Employment, 2012

Projected Employment, 2022

Change, 2012-22

Employment by Industry

Percent

Numeric

SOURCE: U.S. Bureau of Labor Statistics, Employment Projections program

Computer and information research scientists invent and design new approaches to computing technology and find innovative uses for existing technology. They study and solve complex problems in computing for business, medicine, science, and other fields.

Computer and information systems managers, often called information technology (IT) managers or IT project managers, plan, coordinate, and direct computer-related activities in an organization. They help determine the information technology goals of an organization and are responsible for implementing computer systems to meet those goals.

Computer network architects design and build data communication networks, including local area networks (LANs), wide area networks (WANs), and intranets. These networks range from a small connection between two offices to a multinational series of globally distributed communications systems.

Computer support specialists provide help and advice to people and organizations using computer software or equipment. Some, called computer network support specialists, support information technology (IT) employees within their organization. Others, called computer user support specialists, assist non-IT users who are having computer problems.

Computer systems analysts study an organization’s current computer systems and procedures and design information systems solutions to help the organization operate more efficiently and effectively. They bring business and information technology (IT) together by understanding the needs and limitations of both.

Database administrators (DBAs) use specialized software to store and organize data, such as financial information and customer shipping records. They make sure that data are available to users and are secure from unauthorized access.

Information security analysts plan and carry out security measures to protect an organization's computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increase.

Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or other device. Others develop the underlying systems that run the devices or control networks.

Web developers design and create websites. They are responsible for the look of the site. They are also responsible for the site’s technical aspects, such as performance and capacity, which are measures of a website’s speed and how much traffic the site can handle. They also may create content for the site.

What They Do

The What They Do tab describes the typical duties and responsibilities of workers in the occupation, including what tools and equipment they use and how closely they are supervised. This tab also covers different types of occupational specialties.

Work Environment

The Work Environment tab includes the number of jobs held in the occupation and describes the workplace, the level of physical activity expected, and typical hours worked. It may also discuss the major industries that employed the occupation. This tab may also describe opportunities for part-time work, the amount and type of travel required, any safety equipment that is used, and the risk of injury that workers may face.

How to Become One

The How to Become One tab describes how to prepare for a job in the occupation. This tab can include information on training, education, work experience, licensing and certification, and important qualities that are required or helpful for entering or working in the occupation.

Pay

The Pay tab describes typical earnings and how workers in the occupation are compensated—annual salaries, hourly wages, commissions, tips, or bonuses. Within every occupation, earnings vary by experience, responsibility, performance, tenure, and geographic area. This tab may also provide information on earnings in the major industries employing the occupation.

Job Outlook

The Job Outlook tab describes the factors that affect employment growth or decline in the occupation, and in some instances, describes the relationship between the number of job seekers and the number of job openings.

Similar Occupations

The Similar Occupations tab describes occupations that share similar duties, skills, interests, education, or training with the occupation covered in the profile.

Contacts for More Information

The More Information tab provides the Internet addresses of associations, government agencies, unions, and other organizations that can provide additional information on the occupation. This tab also includes links to relevant occupational information from the Occupational Information Network (O*NET).

2012 Median Pay

The wage at which half of the workers in the occupation earned more than that amount and half earned less. Median wage data are from the BLS Occupational Employment Statistics survey. In May 2012, the median annual wage for all workers was $34,750.

On-the-job Training

Additional training needed (postemployment) to attain competency in the skills needed in this occupation.

Entry-level Education

Typical level of education that most workers need to enter this occupation.

Work experience in a related occupation

Work experience that is commonly considered necessary by employers, or is a commonly accepted substitute for more formal types of training or education.

Number of Jobs, 2012

The employment, or size, of this occupation in 2012, which is the base year of the 2012-22 employment projections.

Job Outlook, 2012-22

The projected percent change in employment from 2012 to 2022. The average growth rate for all occupations is 11 percent.

Employment Change, 2012-22

The projected numeric change in employment from 2012 to 2022.

2012 Median Pay

The wage at which half of the workers in the occupation earned more than that amount and half earned less. Median wage data are from the BLS Occupational Employment Statistics survey. In May 2012, the median annual wage for all workers was $34,750.

Entry-level Education

Typical level of education that most workers need to enter this occupation.