Computer programmers use their advanced programming knowledge to help create applications and systems software with a range of applications. Simple programs can take a few hours to complete, while more complex projects can take years, completed in teams under the supervision of senior programmers.
Computer users of all types rely on trained, knowledgeable computer programmers to create the programs that make computers run quickly and efficiently. Programmers can create games, educational software, desktop publishing applications, financial software, and more. The career combines creativity and technical knowledge.
Programmers use different languages to complete their work and they typically focus on one type of programming. Applications engineers write and revise programs related to specific jobs, while systems programmers focus more on behind-the-scenes aspects of computing, such as operating and database systems.
Only four percent of computer programmers work part time and the vast majority work typical 40 hour work weeks. Deadlines or technical problems can necessitate longer hours or overtime. Telecommuting is becoming more common, thanks to technology that allows programmers to log in from anywhere.
Programmers spend the majority of their time in front of a computer terminal, and work in clean, comfortable offices. Telecommuting is becoming more common, however, as technological advances allow more work to be done from remote locations
Most computer programmers work about 40 hours per week. Long hours or weekend work may be required, however, to meet deadlines or fix unexpected technical problems. About four percent work part-time, compared with about 15 percent for all occupations.
Like other workers who spend long periods in front of a computer terminal typing at a keyboard, programmers are susceptible to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome
Computer programmers held about 435,000 jobs in 2006. Programmers are employed in almost every industry, but the largest concentration is in computer systems design and related services. Large numbers of programmers also work for software publishers, financial institutions, insurance carriers, educational institutions, government agencies, and management of companies and enterprises. Many computer programmers work independently as consultants on a temporary or contract basis, some of whom are self-employed. About 17,000 computer programmers were self-employed in 2006.
Training, Qualifications, Advancement
Training is available at every educational level, from certificates and coursework to master's and doctoral degrees. The Bureau of Labor Statistics (BLS) notes that 8 out of 10 programmers held at least an associate's degree or higher, half had a bachelor's degree, and 2 out of 10 held a graduate degree.
Coursework for computer programmers includes programming, compiler construction, computer network fundamentals, and software technologies. Students use their time in school to determine their chosen industry and career goals. General degree programs include computer science and information systems and students can also enroll in targeted computer programming degree programs.
Employment for computer programmers is expected to decline slightly through 2016, with an estimated 18,000 jobs leaving the industry. Advancement in technology and programming languages along with consolidation of applications and systems are both behind the shift. Additionally, many job duties for computer programmers are expected to be filled by computer software engineers.
Job prospects for computer programmers are expected to be best for those with a bachelor's degree or higher, familiarity with a number of different programming languages, and vendor-specific or language-specific certification. Continuing education may also be important for programmers hoping to keep their skills current. Computer consulting businesses are expected to employ the most computer programmers in the coming years.
Computer programmers saw mean annual wages of $72,010 in 2007, the BLS reports. While the vast majority worked in computer systems design and related services, computer and peripheral equipment manufacturing was the highest-paying industry, at $97,330. Those working for software publishers earned $80,050.
According to the National Association of Colleges and Employers, starting salary offers for computer programmers averaged $49,928 per year in 2007.
According to Robert Half Technology, a firm providing specialized staffing services, average annual starting salaries in 2007 ranged from $55,250 to $90,250 for applications development programmers/analysts, and from $60,250 to $94,750 for software developers. Average starting salaries for mainframe systems programmers ranged from $52,250 to $70,750.