While there are many training paths available for programmers, mainly because employers’ needs are so varied, the level of education and experience employers seek has been rising, due to the growing number of qualified applicants and the specialization involved with most programming tasks. Bachelor’s degrees are commonly required, although some programmers may qualify for certain jobs with 2-year degrees or certificates. The associate degree is an increasingly attractive entry-level credential for prospective computer programmers. Most community colleges and many independent technical institutes and proprietary schools offer an associate degree in computer science or a related information technology field.
Employers are primarily interested in programming knowledge, and computer programmers can become certified in a programming language such as C++ or Java. College graduates who are interested in changing careers or developing an area of expertise also may return to a 2-year community college
or technical school for additional training. In the absence of a degree, substantial specialized
experience or expertise may be needed. Even when hiring programmers with a degree, employers appear to be placing more emphasis on previous experience.
Some computer programmers hold a college degree in computer science, mathematics, or information systems, whereas others have taken special courses in computer programming to supplement their degree in a field such as accounting, inventory control, or another area of business. As the level of education and training required by employers continues to rise, the proportion of programmers with a college degree should increase in the future. As indicated by the following tabulation, 65 percent of computer programmers had a bachelor’s or higher degree in 2002.
| |
Percent |
| High school graduate or equivalent or less |
7.7 |
| Some college, no degree |
15.2 |
| Associate degree |
11.6 |
| Bachelor's degree |
48.6 |
| Graduate degree |
16.7 |
Required skills vary from job to job, but the demand for various
skills generally is driven by changes in technology. Employers using
computers for scientific or engineering applications usually prefer
college graduates who have degrees in computer or information science,
mathematics, engineering, or the physical sciences. Graduate degrees in
related fields are required for some jobs. Employers who use computers
for business applications prefer to hire people who have had college
courses in management information systems (MIS) and business and who
possess strong programming skills. Although knowledge of traditional
languages still is important, employers are placing increasing emphasis
on newer, object-oriented programming languages and tools, such as C++
and Java. Additionally, employers are seeking persons familiar with
fourth- and fifth-generation languages that involve graphic user
interface (GUI) and systems programming. Employers also prefer
applicants who have general business skills and experience related to
the operations of the firm. Students can improve their employment
prospects by participating in a college work-study program or by
undertaking an internship.
Most systems programmers hold a
4-year degree in computer science. Extensive knowledge of a variety of
operating systems is essential for such workers. This includes being
able to configure an operating system to work with different types of
hardware and having the skills needed to adapt the operating system to
best meet the needs of a particular organization. Systems programmers
also must be able to work with database systems, such as DB2, Oracle,
or Sybase.
When hiring programmers, employers look for people
with the necessary programming skills who can think logically and pay
close attention to detail. The job calls for patience, persistence, and
the ability to work on exacting analytical work, especially under
pressure. Ingenuity, creativity, and imagination also are particularly
important when programmers design solutions and test their work for
potential failures. The ability to work with abstract concepts and to
do technical analysis is especially important for systems programmers,
because they work with the software that controls the computer’s
operation. Because programmers are expected to work in teams and
interact directly with users, employers want programmers who are able
to communicate with nontechnical personnel.
Entry-level or junior programmers may work alone on simple assignments after some
initial instruction, or they may be assigned to work on a team with
more experienced programmers. Either way, beginning programmers
generally must work under close supervision. Because technology changes
so rapidly, programmers must continuously update their knowledge and
skills by taking courses sponsored by their employer or by software
vendors, or offered through local community colleges and universities.
For skilled workers who keep up to date with the latest technology, the
prospects for advancement are good. In large organizations, programmers
may be promoted to lead programmer and be given supervisory
responsibilities. Some applications programmers may move into systems
programming after they gain experience and take courses in systems
software. With general business experience, programmers may become
programmer-analysts or 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 on multimedia or Internet technology, for example. As
employers increasingly contract out programming jobs, more
opportunities should arise for experienced programmers with expertise
in a specific area to work as consultants.
Certification is a way to demonstrate a level of competence, and may provide a jobseeker
with a competitive advantage. In addition to language-specific
certificates that a programmer can obtain, product vendors or software
firms also offer certification and may require professionals who work
with their products to be certified. Voluntary certification also is
available through other various organizations.