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:
Programmers work closely with software developers and, in some businesses, their work overlaps. When this happens, programmers can do the work 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, and designing an application or system interface. For more information, see the profile on software developers.
Some programs are relatively simple and usually take a few days to write, such as 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.
Source: Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2012-13 Edition