What Computer Programmers 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.
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.
How to Become a Computer Programmer
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.
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.
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.
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 of time.
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.
Percent change in employment, projected 2012-22
- Computer occupations
- Total, all occupations
- Computer programmers
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 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.
|Occupational Title||SOC Code||Employment, 2012||Projected Employment, 2022||Change, 2012-22||Employment by Industry|
SOURCE: U.S. Bureau of Labor Statistics, Employment Projections program
|Occupation||Description||Entry-Level Education||2012 Median Pay|
|Computer and information research scientists||
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.'
|Doctoral or professional degree||$102,190|
|Computer and information systems managers||
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 hardware engineers||
Officially, they need bachelor's degrees, at minimum. Some choose to pursue master's degrees in order to advance their careers. High school students can prepare themselves for college with classes in math, science, and computer skills/science. However, the education and training for computer hardware engineers never really ends they must keep pace with new developments in computer technology in order to be productive and successful.
|Computer support specialists||
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.'
|Education requirements vary||$48,900|
|Computer systems analysts||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.'||Bachelor's degree||$79,680|
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||
Information security analysts plan and carry out security measures to protect an organizations computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increase.'
|Network and computer systems administrators||
Computer networks are critical parts of almost every organization. Network and computer systems administrators are responsible for the day-to-day operation of these networks.'
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.'