BLS Salary and Wage Data

Computer Software Engineer Careers

 Are you strong in mathematics, communication skills, and following detailed instructions?  Computer software engineers make computers come to life by creating the foundations of programs or solving programming problems.

Via the BLS* ...

Nature of the Work

Computer software engineers design and develop software. They apply the theories and principles of computer science and mathematical analysis to create, test, and evaluate the software applications and systems that make computers work. The tasks performed by these workers evolve quickly, reflecting changes in technology and new areas of specialization, as well as the changing practices of employers.

Software engineers design and develop many types of software, including computer games, business applications, operating systems, network control systems, and middleware. They must be experts in the theory of computing systems, the structure of software, and the nature and limitations of hardware to ensure that the underlying systems will work properly.

Computer software engineers begin by analyzing users' needs, and then design, test, and develop software to meet those needs. During this process they create flowcharts, diagrams, and other documentation, and may also create the detailed sets of instructions, called algorithms, that actually 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.

Computer software engineers can generally be divided into two categories: applications engineers and systems engineers. Computer applications software engineers analyze end users' needs and design, construct, deploy, and maintain general computer applications software or specialized utility programs. These workers use different programming languages, depending on the purpose of the program and the environment in which the program runs. The programming languages most often used are C, C++, Java, and Python. Some software engineers develop packaged computer applications, but most create or adapt customized applications for business and other organizations. Some of these workers also develop databases.

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. Often, they are also responsible for the design and implementation of system security and data assurance.

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, or providing logistical and 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.

Work environment. Computer software engineers and programmers 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 to meet with customers. Telecommuting is becoming more common as technological advances allow more work to be done from remote locations.

Most software engineers and programmers work 40 hours a week, but about 15 percent of software engineers and 11 percent of programmers worked more than 50 hours a week in 2008. Injuries in these occupations are rare. However, like other workers who spend long periods in front of a computer terminal typing at a keyboard, engineers and programmers are susceptible to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome.

***

If you’re interested in a career as a software engineer, fill out the form on the right — you’ll be contacted by an admissions counselor at a school that offers a software engineering degree program.

*The following information comes from the Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2010-11 Edition, Computer Software Engineers and Computer Programmers

If you would like to know more about what the BLS occupation wage data means and how it is compiled, please click here.