What are Software Testing Engineers?
Computer software engineers apply the principles of
computer science and mathematical analysis to the design,
development, testing, and evaluation of the software and
systems that make computers work. The tasks performed by these
workers evolve quickly, reflecting new areas of specialization
or changes in technology, as well as the preferences and
practices of employers. (A separate section on computer
hardware engineers appears in the engineers section of the
Handbook.)
Software engineers can be involved in the design and
development of many types of software, including computer
games, word processing and business applications, operating
systems and network distribution, and compilers, which convert
programs to machine language for execution on a computer.
Computer software engineers begin by analyzing users’ needs,
and then design, test, and develop software to meet those
needs. During this process they create the detailed sets of
instructions, called algorithms, that tell the computer what to
do. They also may be responsible for converting these
instructions into a computer language, a process called
programming or coding, but this usually is the responsibility
of computer programmers. (A separate section on computer
programmers appears elsewhere in the Handbook.) Computer
software engineers must be experts in operating systems and
middleware to ensure that the underlying systems will work
properly.
Computer applications software engineers analyze users’
needs and design, construct, and maintain general computer
applications software or specialized utility programs. These
workers use different programming languages, depending on the
purpose of the program. The programming languages most often
used are C, C++, and Java, with Fortran and COBOL used less
commonly. Some software engineers develop both packaged systems
and systems software or create customized applications.
Computer systems software engineers coordinate the
construction, maintenance, and expansion of an organization’s
computer systems. Working with the organization, 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 organization’s intranets—networks that link
computers within the organization and ease communication among
various departments.
Systems software engineers also work for companies that
configure, implement, and install the computer systems of other
organizations. These workers may be members of the marketing or
sales staff, serving as the primary technical resource for
sales workers. They also may help with sales and provide
customers with technical support. Since the selling of complex
computer systems often requires substantial customization to
meet the needs of the purchaser, software engineers help to
identify and explain needed changes. In addition, systems
software engineers are responsible for ensuring security across
the systems they are configuring.
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 to release a product.
Work environment. Computer software engineers normally work
in clean, comfortable offices or in laboratories in which
computer equipment is located. Software engineers who work for
software vendors and consulting firms frequently travel
overnight to meet with customers. Telecommuting is also
becoming more common, allowing workers to do their jobs from
remote locations.
Most software engineers work at least 40 hours a week, but
about 17 percent work more than 50 hours a week. Software
engineers also may have to work evenings or weekends to meet
deadlines or solve unexpected technical problems.
Like other workers who spend long hours typing at a
computer, software engineers are susceptible to eyestrain, back
discomfort, and hand and wrist problems such as carpal tunnel
syndrome.
|