home *** CD-ROM | disk | FTP | other *** search
- 344
- Computer Programmers
-
- (D.O.T. 030.162-010, -018, -022, and .167-010)
-
- Nature of the Work
-
- Computers increasingly affect our daily lives. They control the
- temperature and air quality in office buildings, expand dramatically
- the capabilities of our telephones, control manufacturing and other
- business processes, and even control the scoreboards at major
- athletic events. Computer programmers write, update, and maintain
- the detailed instructions (called programs or software) that list in
- a logical order the steps that computers must execute to perform
- these and other functions.
-
- In many large organizations, programmers follow descriptions
- prepared by systems analysts who have carefully studied the task
- that the computer system is going to perform. These descriptions
- list the input required, the steps the computer must follow to
- process data, and the desired arrangement of the output. (A more
- detailed description of the work of systems analysts is presented in
- the statement on computer scientists and systems analysts elsewhere
- in the Handbook.) Some organizations, particularly smaller ones, do
- not employ systems analysts. Instead, workers called
- programmer-analysts are responsible for both systems analysis and
- programming. Programmers in software development companies often
- work without the contribution of systems analysts. Instead, they
- may work directly with experts from various fields to create
- software either programs designed for specific clients or packaged
- software for general use ranging from games and education software
- to programs for desktop publishing, financial planning, and
- spreadsheets.
-
- The transition from a mainframe environment to primarily a PC-based
- environment has brought about a blurring of the once rigid
- distinction between the programmer and the user. Increasingly adept
- users are taking over many of the programming tasks previously
- performed by programmers. For example, the growing use of packaged
- software, like spreadsheet and data base management software
- packages, allows users to write simple programs to calculate or
- access data.
-
- Regardless of setting, 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, or one of
- the more advanced artificial intelligence or object oriented
- languages, such as LISP, Prolog, C++, or Ada.
-
- Much of the programming being done today is the preparation of
- packaged software, one of the most rapidly growing segments of the
- computer industry. Despite the prevalence of packaged software,
- many programmers are involved in updating, repairing, and modifying
- code for existing programs. When making changes to a section of
- code, called a routine, programmers need to make other users aware
- of the task that the routine is to perform. They do this by
- inserting comments in the coded instructions so others can
- understand the program. Programmers using computer-aided software
- engineering (CASE) can concentrate on writing the unique parts of
- the program because the computer automates some of the more basic
- processes. This also yields more reliable and consistent programs
- and increases programmers' productivity by eliminating some of the
- routine steps.
-
- When a program is ready to be tested, programmers run the program to
- ensure that the instructions are correct and will produce the
- desired information. They prepare sample data that test every part
- of the program and, after trial runs, review the results to see if
- any errors were made. If errors do occur, the programmer must
- change and recheck the program until it produces the correct
- results. This is called debugging the program.
-
- Finally, programmers working in a mainframe environment prepare
- instructions for the computer operator who will run the program.
- (The work of computer operators is described in the statement on
- computer and peripheral equipment operators elsewhere in the
- Handbook.) They may also contribute to a user's manual for the
- program.
-
- Programs vary with the type of information to be accessed or
- generated. For example, the data involved in updating financial
- records are different from those required to simulate a flight on a
- pilot trainee's monitor. 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 most cases,
- several programmers may work together as a team under a senior
- programmer's supervision.
-
- Programmers often are grouped into two broad types: applications
- programmers and systems programmers. Applications programmers
- usually are oriented toward business, engineering, or science. They
- write software to handle specific jobs, such as a program used in an
- inventory control system or one to guide a missile after it has been
- fired. They also may work alone to revise existing packaged
- software. Systems programmers, on the other hand, maintain the
- software that controls the operation of an entire computer system.
- These workers make changes in the sets of instructions that
- determine how the central processing unit of the system 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 the entire computer system, systems programmers
- often help applications programmers determine the source of problems
- that may occur with their programs.
-
- Many programmers develop packaged software.
-
- 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 longer hours
- in order to meet deadlines or fix critical problems that occur
- during off hours.
-
- Because programmers spend long periods of time in front of a
- computer monitor typing at a keyboard, they are susceptible to
- eyestrain and back discomfort and hand and wrist problems.
-
- Employment
-
- Computer programmers held about 555,000 jobs in 1992. Programmers
- are employed in most industries, but the largest concentrations are
- in data processing service organizations, including firms that write
- and sell software; firms that provide engineering and management
- services; manufacturers of office, computing, and accounting
- machines; banks; educational institutions, and government agencies.
-
- 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.
-
- A small but growing number of programmers are employed on a
- temporary basis. A marketing firm, for example, may need the
- services of several extra programmers to write and debug the
- software necessary to get a new data base management system
- running. Once the software is functioning, however, their
- services are no longer needed. Rather than hiring these programmers
- as permanent employees and then laying them off after the job is
- done, employers increasingly are contracting with temporary help
- agencies, consulting firms, or directly with programmers themselves.
- Such temporary jobs usually last several months but some last a year
- or longer.
-
- Training, Other Qualifications, and Advancement
-
- There are no universal training requirements for programmers because
- employers' needs vary so much that computer applications have become
- so widespread and varied. 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 obtain
- 2-year degrees or certificates. Two-year colleges are targeted
- toward producing graduates for entry level jobs and may have strong
- ties to the local job market.
-
- The majority of programmers hold a 4-year degree. Of these, some
- hold a B.A. or B.S. in computer science or information systems
- while others have taken special courses in computer programming to
- supplement their study in fields such as accounting, inventory
- control, or other business areas. College graduates who are
- interested in changing careers or developing an area of expertise
- may return to a junior college for more training.
-
- The level of education and quality of training that employers seek
- have been rising due to the growth in the number of qualified
- applicants and the increasing complexity of some programming tasks.
- Bachelor's degrees are now commonly required; in the absence of a
- degree, substantial specialized experience may be needed.
-
- 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. Knowledge of C and
- FORTRAN programming languages is desirable since these are the most
- common languages used in this area.
-
- Employers who use computers for business applications prefer to hire
- people who have had college courses in management information
- systems (MIS), programming, and business. Knowledge of Cobol, C,
- Fourth Generation Languages (4GL), CASE tools, C++ and other object
- oriented programming languages is highly desirable. General
- business skills and experience related to the operations of the firm
- generally are preferred by employers. In the future, it may be
- common for applications programmers to obtain a multidisciplinary
- degree to provide adequate knowledge of the application area along
- with programming skills. A relatively small number of employers
- promote workers such as computer operators who have taken courses in
- programming to programmer jobs because of their knowledge of and
- particular work experience with computer systems.
-
- Most systems programmers hold a 4-year degree in computer science.
- Extensive knowledge of operating systems is essential. This
- includes being able to configure the operating system to work with
- different types of hardware and adapting the operating system to
- best meet the needs of the particular company.
-
- The Institute for Certification of Computer Professionals offers the
- Certificate in Computer Programming (CCP) to those who pass a core
- examination plus exams in two specialty areas. College graduates
- with little or no experience may be tested for certification as an
- Associate Computer Professional (ACP). Certification is not
- mandatory but it may give a jobseeker a competitive advantage.
-
- When hiring programmers, employers look for people who can think
- logically and who are capable of exacting analytical work. The job
- calls for patience, persistence, and the ability to work with
- extreme accuracy even under pressure. Ingenuity and imagination are
- also particularly important when programmers test their work for
- potential failures. Increasingly, interpersonal skills are valued
- because of the use of programmer teams and user support centers.
- 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.
-
- Beginning programmers may spend their first weeks on the job
- attending training classes. After this initial instruction, they
- may work alone on simple assignments, or on a team with more
- experienced programmers. Either way, they generally must spend at
- least several months working under close supervision. Because of
- rapidly changing technology, programmers must continuously update
- their training by taking courses sponsored by their employer or
- software vendors.
-
- For skilled workers, the prospects for advancement are good. In
- large organizations, they may be promoted to lead programmer and be
- given supervisory responsibilities. Some applications programmers
- become systems programmers after they gain experience and take
- courses in systems software. With general business experience, both
- applications programmers and systems programmers may become systems
- analysts or be promoted to a managerial position. Other
- programmers, with specialized knowledge and experience with a
- language or operating system, may work in research and development
- areas such as artificial intelligence or CASE.
-
- Job Outlook
-
- Employment of programmers is expected to grow faster than the
- average for all occupations through the year 2005 as computer usage
- expands. The demand for programmers will increase as organizations
- seek new applications for computers and improvements to the software
- already in use. The rising demand for information, further
- automation of offices and factories, advances in health and
- medicine, and continuing scientific research will stimulate the
- demand for skilled programmers.
-
- One important area of progress will be data communications.
- Networking computers so they can communicate with each other is
- necessary to achieve the greater efficiency that organizations
- require to remain competitive. Expert systems and other artificial
- intelligence principles and languages will increasingly be used in
- the years ahead, becoming productivity-enhancing tools available to
- programmers. Programmers will be creating and maintaining expert
- systems and embedding these technologies in more and more products.
- As this trend continues, knowledge of C++ and other object-oriented
- languages will become increasingly important.
-
- Employment, however, is not expected to grow as rapidly as in the
- past as improved software and programming techniques, including CASE
- and 4GL, simplify or eliminate some programming tasks. Someone who
- can apply CASE tool programming along with design and systems
- analysis is able to produce applications quickly and more cheaply.
- Employers are increasingly interested in workers who can combine
- both of these skills.
-
- In addition, the introduction of data base management systems is
- allowing users to take over many of the tasks previously performed
- by the programmer. Greater use of packaged software such as word
- processing and spreadsheet packages also may moderate the growth in
- demand for applications programmers.
-
- 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. Opportunities will exist
- throughout the economy, but jobs for both systems and applications
- programmers should be particularly plentiful in data processing
- service firms, software houses, and computer consulting businesses.
-
- Because the number and quality of applicants have increased,
- employers have become more selective. Competition has increased for
- entry level positions, affecting even applicants with a bachelor's
- degree. Graduates of 2-year programs in data processing and people
- with less than a 2-year degree or its equivalent in work experience
- are facing especially strong competition for programming jobs. Many
- observers expect opportunities for people without college degrees to
- diminish in coming years as programming tasks become more complex.
- Prospects should be good for college graduates who are familiar with
- a variety of programming languages, particularly newer languages
- that apply to computer networking, data base management, and
- artificial intelligence.
-
- Many employers prefer to hire applicants with previous experience in
- the field. Firms also desire programmers who develop a technical
- specialization in areas such as structured methodology programming,
- multimedia programming, graphic user interface, or 4th and 5th
- generation programming tools. Therefore, people who want to become
- programmers can enhance their chances by combining work experience
- with the appropriate formal training. Students have various
- options: Holding a summer or part-time job in a data processing
- department, participating in a college work-study program, or
- undertaking an internship. Students can greatly improve their
- employment prospects by also taking courses such as accounting,
- management, engineering, or science allied fields in which
- applications programmers are in demand.
-
- Earnings
-
- Median earnings of programmers who worked full time in 1992 were
- about $35,600 a year. The lowest 10 percent earned less than
- $19,700, and the highest 10 percent, more than $58,000. On average,
- systems programmers earn more than applications programmers.
-
- In the Federal Government, the entrance salary for programmers with
- a college degree or qualifying experience was about $18,300 a year
- in 1993; for those with a superior academic record, $22,700.
-
- Related Occupations
-
- Programmers must pay great attention to detail as they write and
- debug programs. Other professional workers who must be
- detail-oriented include statisticians, engineers, financial
- analysts, accountants, auditors, actuaries, and operations research
- analysts.
-
- Sources of Additional Information
-
- State employment service offices can provide information about job
- openings for computer programmers. Also check with your city's
- chamber of commerce for information on the area's largest employers.
- For information about certification as a computer professional,
- contact:
-
- Institute for the Certification of Computer Professionals, 2200 East
- Devon Ave., Suite 268, Des Plaines, IL 60018.
-
- Further information about computer careers is available from:
-
- The Association for Computing Machinery, 1515 Broadway, New York, NY
- 10036.
-