The explosive impact of computers and information technology on our everyday lives has generated a need to design and develop new computer software systems and to incorporate new technologies in a rapidly growing range of applications. The tasks performed by workers known as computer software engineers evolve quickly, reflecting new areas of specialization or changes in technology, as well as the preferences and practices of employers. Computer software engineers apply the principles and techniques of Computer Science Essay, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and systems that enable computers to perform their many applications. (1)
Software engineers working in applications or systems development analyze users needs and design, construct, test, and maintain 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 and network distribution, and compilers, which convert programs for execution on a computer.
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. (2)
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. (4)
Computer systems software engineers coordinate the construction and maintenance of a companys computer systems and plan their future growth. Working with a company, they coordinate each departments computer needsXordering, inventory, billing, and payroll record keeping, for exampleXand make suggestions about its technical direction. They also might set up the companys intranetsXnetworks that link computers within the organization and ease communication among the various departments. (3)
Systems software engineers work for companies that configure, implement, and install complete computer systems. They may be members of the marketing or sales staff, serving as the primary technical resource for sales workers and customers.
They also may be involved in product sales and in providing their customers with continuing technical support.
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.
Computer software engineers normally work in well-lighted and comfortable offices or computer laboratories in which computer equipment is located. Most software engineers work at least 40 hours a week; however, due to the project-oriented nature of the work, they also may have to work evenings or weekends to meet deadlines or solve unexpected technical problems. 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.
As they strive to improve software for users, many computer software engineers interact with customers and coworkers. Computer software engineers who are employed by software vendors and consulting firms, for example, spend much of their time away from their offices, frequently traveling overnight to meet with customers. They call on customers in businesses ranging from manufacturing plants to financial institutions.
As networks expand, software engineers may be able to use modems, laptops, e-mail, and the Internet to provide more technical support and other services from their main office, connecting to a customers computer remotely to identify and correct developing problems. (4)
Computer software engineers held about 675,000 jobs in 2002. About 394,000 were computer applications software engineers, and about 281,000 were computer systems software engineers.
Although they are employed in most industries, the largest concentration of computer software engineers, about 30 percent, is in computer systems design and related services. Many computer software engineers also work for establishments in other industries, such as government agencies, manufacturers of computers and related electronic equipment, and colleges and universities.
Employers of computer software engineers range from startup companies to established industry leaders. The creation .