Job Report - Computer Programmers
Nature of the Work
Computers can process vast quantities of information rapidly and accurately, but only
if they are correctly programmed. Computer programmers write the detailed instructions
(called programs or software) that list in a logical order the steps the machine must follow
to organize data, solve a problem or do some other task.
Programmers often work from descriptions prepared by systems analysts who have
carefully studied the task that the computer system is going to perform -- perhaps
organizing data collected in a survey or estimating stress on portions of a building during
a hurricane. These descriptions contain a detailed list of the steps the computer must
follow, such as retrieving data stored on a tape or disk, organizing it in a certain way, and
performing the necessary calculations.
Some organizations, particularly smaller ones, do not employ systems analysts.
Instead, workers called programmer-analysts are responsible for both systems analysis and
programming. A programmer writes the specific program for the problem by breaking down
each step into a series of instructions coded in one of the languages, such as BASIC or
COBOL, developed especially for computers.
Programmers developing instructions for billing customers, for example, would first
take the appropriate company records and then specify a solution by showing the steps the
computer must follow to obtain old balances, add new charges, deduct payments, and
calculate finance charges and the new amount due. Programmers then code the actual
instructions the computer will follow in a programming language, such as COBOL, which
is commonly used for business applications. They also insert comments in the coded
instructions so other programmers can understand the program.
Next, programmers test the operation of the program to be sure the instructions are
correct and will produce the desired information. Programmers prepare sample data that
will test every part of the program and review the results to see if any errors were made.
If errors did occur, the program must be changed and rechecked until it produces the
correct results. This is called "debugging" the program.
Finally, programmers prepare an instruction sheet for the computer operator who will
run the program.
Programs vary with the type of problem to be solved. For example, the arithmetical
calculations involved in payroll accounting procedures are different from the mathematical
calculations required to determine the flight path of the Space Shuttle. Although simple
programs can be written in a few hours, programs that use complex mathematical formulas
or many data files may require more than a year of work. In some cases, several
programmers may work together in teams under a senior programmer's supervision.
Programmers often are grouped into two broad types: Applications programmers
and systems programmers. Applications programmers are usually oriented toward
business, engineering or science. They write software to handle specific jobs, such as a
program used in any inventory control system or one to control the temperature in an entire
office building. Systems programmers, on the other hand, maintain the software that
controls the operation of the entire computer system. These workers make changes in the
sets of instructions that determine how the central processing unit of the computer handles
the various jobs it has been given and communicates with peripheral equipment, such as
terminals, printers, and disk drives. Because of their knowledge of entire computer
systems, systems programmers often help applications programmers determine the source
of problems that may occur with their programs.
Working Conditions
Programmers work in offices in comfortable surroundings. They usually work about
40 hours a week, but their hours are not always from 9 to 5. Programmers may report early
or work late to use the computer when it is available; occasionally, they work on weekends
to meet deadlines.
Employment
Computer programmers held about 526,000 jobs in 1990. Most are employed by
data processing service organizations -- including firms that write and sell software; other
business services; manufacturers of office, computing and accounting machines; machinery
and equipment wholesalers; banks; and educational institutions.
Applications programmers work for all types of firms that use computer systems.
Systems programmers, on the other hand, usually work for organizations with large
computer centers and for firms that manufacture computers or develop software.
Training, Other Qualifications, and Advancement
There are no universal training requirements for programmers because employers'
needs vary. Computer programming is taught at public and private vocational schools,
community and junior colleges, and universities. High schools in many parts of the country
also offer introductory courses in data processing. Many programmers are college
graduates; others have taken special courses in computer programming to supplement their
experience in fields such as accounting, inventory control, or other business areas. The
level of education and quality of training that employers seek, however, has generally been
rising due to the growth in the number of qualified applicants and the increasing complexity
of some programming tasks.
Employers using computers for scientific or engineering applications prefer college
graduates who have degrees in computer or information science, mathematics,
engineering, or the physical sciences. Graduate degrees are required for some jobs.
Employers who use computers for business applications prefer to hire people who
have had college courses in programming and business; however, a bachelor's degree is
not required by all employers. Also, experience in accounting, inventory control, and other
business skills generally is preferred by employers. Some employers promote workers
such as computer operators who have taken courses in programming to programmer jobs
because of their work experience.
An indication of experience and professional competence at the senior programmer
level is the Certificate in Computer Programming (CCP). This designation is conferred by
the Institute for Certification of Computer Professionals upon candidates who have passed
a basic five-part examination. In addition, individuals may take another section of the exam
in order to specialize in business, science, or systems applications.
In hiring programmers, employers look for people who can think logically and are
capable of exacting analytical work. The ability to work with abstract concepts and do
technical analysis is especially important for systems programmers because they work with
the software that controls the computer's operation. The job calls for patience, persistence,
and the ability to work with extreme accuracy even under pressure. Ingenuity and
imagination are particularly important when programmers must find new ways to solve a
problem.
Beginning programmers may spend their first week on the job attending training
classes. After this initial instruction, they work on simple assignments, such as maintaining
existing programs. Programmers generally must spend at least several months working
under close supervision. Because of rapidly changing technology, programmers must
continue their training by taking courses offered by their employer and software vendors.
For skilled workers, the prospects for advancement are good. In large organizations,
they may be promoted to lead programmers and be given supervisory responsibilities.
Some applications programmers become systems programmers after they gain experience
and take courses in system software. Both applications programmers and systems
programmers may become systems analysts or be promoted to managerial positions.
Job Outlook
Employment of programmers is expected to grow much faster than the average for
all occupations through the year 2000 as computer usage expands. Although the
proportion of programmers leaving the occupation each year is smaller than in most
occupations, most of the job openings for programmers will result from replacement needs.
Most of the programmers who leave the occupation transfer to other occupation, such as
manager or systems analyst.
The need for applications programmers will increase as businesses, government,
schools, and scientific organizations seek new applications for computers and improve the
software already in use. Employment, however, is not expected to grow as rapidly as in the
past as improved software and programming techniques simplify or eliminate some
programming tasks. The greater use of packaged software that can meet the needs of
many users also may moderate the growth in demand for applications programmers. More
systems programmers will be needed to develop and maintain the complex operating
programs that allow the use of high level computer languages, and the networking of
computer equipment and systems.
In addition to jobs resulting from increased demand for programmers, many
openings will arise each year from the need to replace workers who leave the occupation.
Although the proportion of programmers leaving the occupation each year is smaller than
in most occupations, most of the job openings for programmers will result from replacement
needs. Most of the programmers who leave the occupation transfer to other occupations,
such as manager or systems analyst.
Job prospects should be best for college graduates who are familiar with a variety
of programming languages, particularly new languages that apply to computer networking
and data base management. Participating in a work-study program or training in an applied
field such as accounting, management, engineering, or science also will improve prospects
for college graduates seeking entry level jobs.
Graduates of 2-year programs in data processing and people with less than a 2-year
degree or its equivalent in work experience will face competition. The rapid growth of
employment opportunities in this occupation has led to substantial increases in the number
of courses in programming being offered by postsecondary schools, junior colleges, and
4-year colleges, and consequently, in the number of people seeking jobs. As the number
and quality of applicants have increased, employers have become more selective.
Because shorter curriculums may offer limited training in applied fields and some aspects
of programming, graduates of those curriculums are expected to have more difficulty finding
jobs than in the past.
Earnings
Median earnings of programmers who worked full time in 1990 were about $32,450
a year. The middle 50 percent earned between $23,425 and $42,300 annually. The lowest
10 percent earned less than $17,700, and the highest 10 percent more than $52,475.
In the Federal Government, the entrance salary for programmers with a college
degree was about $16,650 a year in 1990.
Programmers working in the West and Northeast earned somewhat more than those
working in the South and Midwest. Salaries tend to be highest in mining and public utilities
and lowest in finance, insurance, and real estate. On average, systems programmers earn
more than applications programmers.
Related Occupations
Other workers in mathematics, business, and science who solve detailed problems
include systems analysts, mathematical statisticians, engineers, financial analysts,
actuaries, mathematical technicians, and operations research analysts.
Sources of Additional Information
Additional information about the occupation of programmer is available from:
Data Processing Management Association, 505 Busse Hwy, Chicago, IL 60068.
|
|