Computer Programmers
Computer programmers held about 568,000 jobs in 1996. Programmers are employed
in almost every industry but the largest amount is in the computer and data
processing industry that includes companies that write and sell software. Allot
of programmers can also be found working for companies that provide engineering
and management services, manufacturers of computer and office equipment,
financial institutions, insurance carriers, educational institutions, and
government agencies. A growing number of computer programmers are employed on a
temporary, a contract basis, or work as independent workers because allot of
companies demand expertise with newer programming languages or more specialized
areas of application. Rather than hiring programmers as permanent employees and
then laying them off after a job is completed, employers can contract with
temporary help agencies, consulting firms, or directly with programmers
themselves. A marketing company may only need the services of several
programmers to write and debug the software necessary to get a new database
management system running. This practice also enables companies to bring in
people with a specific set of skills. Bringing in an independent contractor with
a certain level of experience in a new or advanced programming language enables
an establishment to complete a particular job without having to retrain their
workers. Such jobs may last anywhere from several weeks to a year or longer.

There were 20,000 self-employed computer programmers in 1996 and this number is
expected to increase. Programmers usually work in offices. Although they usually
work about 40 hours a week, programmers may work longer hours or weekends in
order to meet deadlines or fix critical problems that occur during off hours.

Programmers can access a system directly, but from remote locations, to make
corrections or fix problems. Like other workers that spend a long time in front
of a computer terminal typing at a keyboard, they are susceptible to eyestrain,
back discomfort, and hand and wrist problems such as carpal tunnel syndrome or
cumulative trauma disorder. Computer programs tell the computer what to do such
as which information to identify and access, how to process it, and what
equipment to use. Programs vary widely depending on the type of information to
be accessed. Although simple programs can be written in a few hours, programs
that use complex mathematical formulas or that draw data from many existing
systems, require more than a year of work. Allot of programmers work together as
a team under a senior programmer's supervision. Programmers write specific
programs by breaking down each step into a logical series of instructions the
computer can follow. They then code these instructions in a conventional
programming language, such as C and FORTRAN. An artificial intelligence
language, such as LISP or Prolog; or one of the more advanced function-oriented
or object-oriented languages, such as UML, Java, C++, Visual Basic, or Ada.

Programmers usually know more than one programming language and since many
languages are alike, they can often learn new languages relatively easily. In
practice, the language they know or the type of environment they generally work
in such as mainframe programmer, object-oriented programmer, or Internet or

World Wide Web programmer often refers to programmers. In many large
organizations, programmers follow descriptions that have been prepared by
software engineers or systems analysts. These descriptions list the input
required the steps the computer must follow to process data, and the desired
arrangement of the output. Many programmers are involved in updating, repairing,
modifying and expanding existing programs. When making changes to a section of
code programmers need to make other users aware of the task the routine is to
perform. They do this by using comments in the coded instructions so others can
understand the program. Innovations such as Computer-Aided Software Engineering
(CASE) tools enable a programmer to concentrate on writing the unique parts of
the program because the tools automate various pieces of the program being
built. CASE tools generate whole sections of code automatically, rather than
line by line. This also stops more reliable and consistent programs and
increases programmers' productivity by eliminating some of the routine steps.

Programmers often are grouped into two types: Applications programmers and
systems programmers. Applications programmers usually are oriented toward
business, engineering, or science. They write software to handle specific jobs
within an organization, such as a program used in an inventory control system.

They may also work alone to revise existing packaged software. Systems
programmers maintain and control the use of computer systems software. These
workers make changes in the sets of instructions that determine how the network,
workstations, and central processing unit of the system handles the various jobs
they have been given and how they communicate with peripheral equipment,