What do they do
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
- 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
Computer programmers held about 343,700 jobs in 2012. They usually work in offices, most commonly in the computer systems design and related services industry.
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 to become a programmer
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.
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.
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.
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.
Most computer programmers work full time.
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.
Duties: 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.
Education: Doctoral or professional degree
Duties: Computer hardware engineers research, design, develop, and test computer systems and components such as processors, circuit boards, memory devices, networks, and routers. By creating new directions in computer hardware, these engineers create rapid advances in computer technology.
Education: Bachelor’s degree