Computer software engineers apply the principles
and techniques of computer science, engineering and mathematical analysis to
the design, development, testing and evaluation of the software and systems
that enable computers to perform their many applications.
Software engineers working in applications or systems
development analyze users' needs and design, create and modify general computer
applications software or systems. Software engineers can be involved in the
design and development of many types of software including software for operating
systems, network distribution and compilers, which convert programs for faster
processing. In programming, or coding, software engineers instruct a computer,
line by line, how to perform a function. They also solve technical problems
that arise. Software engineers must possess strong programming skills, but are
more concerned with developing algorithms and analyzing and solving programming
problems than with actually writing code.
Computer applications software engineers analyze
users' needs and design, create and modify general computer applications software
or specialized utility programs. Different programming languages are used, depending
on the purpose of the program. The programming languages most often used are
C, C++ and Java.
Computer systems software engineers coordinate the
construction and maintenance of a company's computer systems and plan their
future growth. Working with a company, they coordinate each department's computer
needs ordering, inventory, billing and payroll recordkeeping, for example
and make suggestions about its technical direction. They also might set
up the company's intranets, networks that link computers within the organization
and ease communication.
Computer software engineers often work as part of
a team that designs new hardware, software and systems. A core team may comprise
engineering, marketing, manufacturing and design people who work together until
the product is released.
Most software engineers work at least 40 hours a
week, but because of the project-oriented nature of the work, they also may
have to work evenings or weekends to meet deadlines or solve unexpected technical
problems. And like other workers who sit for hours at a computer typing on a
keyboard, software engineers are susceptible to eyestrain, back discomfort and
hand and wrist problems, such as carpal tunnel syndrome.
Training and qualifications
Most employers prefer to hire persons who have at
least a bachelor's degree and broad knowledge and experience with computer systems
and technologies. Usual degree concentrations for applications software engineers
are computer science or software engineering; for systems software engineers,
usual concentrations are computer science or computer information systems. Graduate
degrees are preferred for some of the more complex jobs.
For systems engineering jobs that place less emphasis
on workers having a computer-related degree, computer training programs are
offered by systems software vendors, including Microsoft, Novell and Oracle.
Many training authorities feel that program certification alone is not sufficient
for most software engineering jobs.
Computer software engineers must have strong problem-solving
and analytical skills, as well as be able to communicate with team members,
other staff and the customers they meet. They also must be able to concentrate
and pay close attention to detail.
Job outlook
Computer software engineers are projected to be
the fastest growing occupation from 2000 to 2010. Very rapid employment growth
in the computer and data processing services industry, which employs the greatest
numbers of computer software engineers, should result in very favorable opportunities
for those college graduates with at least a bachelor's degree in computer engineering
or computer science and practical experience working with computers. Employers
will continue to seek computer professionals with strong programming, systems
analysis, interpersonal and business skills.
Earnings
Computer software engineers held about 697,000 jobs
in 2000. About 380,000 were computer software engineers, applications, and about
317,000 were computer software engineers, systems software. Median annual earnings
of computer software engineers, applications, who worked full time in 2000 were
about $67,670. Median annual earnings in the industries employing the largest
numbers of computer applications software engineers in 2000 were:
Computer and office equipment $74,300
Computer and data processing services $69,520
Engineering and architectural services $68,790
Professional and commercial equipment $64,920
Management and public relations $62,660
Median annual earnings of computer software engineers,
systems software, who worked full time in 2000 were about $69,530. The middle
50 percent earned between $54,460 and $86,520. Median annual earnings in the
industries employing the largest numbers of computer systems software engineers
in 2000 were:
Computer and office equipment $74,600
Computer and data processing services $70,150
Telephone communication $68,930
Engineering and architectural services $68,030
Commercial banks $65,620
Related links
For more information on a career in computer software
engineering: