Computer programmers create the instructions that tell computers what to do. They write, test, and maintain programs, and also conceive, design, and test logical, computer-based problem-solving structures. The specific roles of programmers vary as widely as the programs themselves. However, they are usually grouped into two categories: applications programmers and systems programmers. Applications programmers write programs that perform a specific function, or revise existing packages software. Systems programmers focus on an entire computer system, creating programs that control how the network, workstations, and central processing unit of the system handle their various tasks. In some smaller organizations, programmer-analysts may fill the roles of both applications programmer and systems programmer.
Computer programmers should be logical, detail-oriented thinkers. They need to possess patience, persistence, the ability to work under pressure, ingenuity, creativity, and imagination. They should be familiar with abstract concepts and technical analysis, and should be comfortable communicating with other team members and with users.
In 2002, computer programmers earned a median annual salary of $60,290. Earnings ranged from the lowest 10%, who earned less than $35,080, and the highest 10%, who earned more than $96,860. The following shows the median annual salaries for the industries employing the highest numbers of computer programmers:
- Professional/commercial equipment and supplies wholesalers - $70,440
- Software publishers - 66,870
- Computer systems design and related services - 65,640
- Management of companies and enterprises - 59,850
- Data processing, hosting, and related services - 59,300
Training and Education
Because of the growing pool of qualified applicants, the educational standards for computer programmers have been rising. Employers usually require bachelor's degrees in computer or information science, mathematics, engineering, or the physical sciences, although certain positions may only require a 2-year degree or certificate. Associate degrees offered by community colleges and technical institutes are an increasingly popular option. Some computer programmers who are college graduates and wish to change careers or advance in their current careers may choose to return to a 2-year program for additional training. It is important for computer programmers to be familiar with traditional languages. However, employers are increasingly seeking candidates with knowledge of C++ and Java, as well as fourth- and fifth-generation languages that involve graphic user interface and systems programming.
In 2002, computer programmers held about 499,000 jobs. The largest numbers of jobs are found in computer systems design and related services and in software publishers, and large numbers can also be found in management of companies and enterprises, telecommunications companies, manufacturers of computer and electronic equipment, financial institutions, insurance carriers, educational institutions, and government agencies.
Between 2002 and 2012, the number of computer programmers is expected to increase about as fast as the average. Data processing service firms, software houses, and computer consulting businesses will generate the most demand. Changing technology will create jobs for computer programmers because businesses will need to convert to new computer languages and systems. Employers will look for candidates who can work with client/server, Web-based, and wireless environments, and who have strong object-oriented programming capabilities.Directory of Computer Programming Schools