Occupation Profile for Computer Software Engineers, Systems Software
Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Signficant Points
- Computer software engineers are one of the occupations projected to grow the fastest and add the most new jobs over the 2006-16 decade.
- Excellent job prospects are expected for applicants with at least bachelor’s degree in computer engineering or computer science and with practical work experience.
- Computer software engineers must continually strive to acquire new skills in conjunction with the rapid changes that occur in computer technology.
Overview
| $85,370.00 | Median Annual Wage | 15,000 | Average Job Openings Per Year |
| 2.6 | Average Unemployment Percentage | 2.2 | Percentage That Completed High School |
| 350,000 | Employment Numbers in 2006 | 13.0 | Percentage That Had Some College |
| 449,000 | Employment Numbers in 2016 (est.) | 84.8 | Percentage That Went Beyond College Degree |
Sample Job Titles
Training
- Many of these occupations involve coordinating, supervising, managing, or training others. Examples include accountants, human resource managers, computer programmers, teachers, chemists, and police detectives.
- Most of these occupations require a four - year bachelor's degree, but some do not.
- A minimum of two to four years of work-related skill, knowledge, or experience is needed for these occupations. For example, an accountant must complete four years of college and work for several years in accounting to be considered qualified.
- Employees in these occupations usually need several years of work-related experience, on-the-job training, and/or vocational training.
Most employers prefer applicants who have at least a bachelor’s degree and experience with a variety of computer systems and technologies. In order to remain competitive, computer software engineers must continually strive to acquire the latest technical skills. Advancement opportunities are good for those with relevant experience.
Education and training. Most employers prefer applicants who have at least a bachelor’s degree and broad knowledge of, and experience with, a variety of computer systems and technologies. The usual college major for applications software engineers is computer science or software engineering. Systems software engineers often study computer science or computer information systems. Graduate degrees are preferred for some of the more complex jobs. In 2006, about 80 percent of workers had a bachelor’s degree or higher.
Academic programs in software engineering may offer the program as a degree option or in conjunction with computer science degrees. Because of increasing emphasis on computer security, software engineers with advanced degrees in areas such as mathematics and systems design will be sought after by software developers, government agencies, and consulting firms.
Students seeking software engineering jobs enhance their employment opportunities by participating in internships or co-ops. These experiences provide students with broad knowledge and experience, making them more attractive to employers. Inexperienced college graduates may be hired by large computer and consulting firms that train new employees in intensive, company-based programs.
Certification and other qualifications. Systems software vendors offer certification and training programs, but most training authorities say that program certification alone is not sufficient for the majority of software engineering jobs.
People interested in jobs as computer software engineers must have strong problem-solving and analytical skills. They also must be able to communicate effectively with team members, other staff, and the customers they meet. Because they often deal with a number of tasks simultaneously, they must be able to concentrate and pay close attention to detail.
As technology advances, employers will need workers with the latest skills. Computer software engineers must continually strive to acquire new skills if they wish to remain in this dynamic field. To help keep up with changing technology, workers may take continuing education and professional development seminars offered by employers, software vendors, colleges and universities, private training institutions, and professional computing societies. Computer software engineers also need skills related to the industry in which they work. Engineers working for a bank, for example, should have some expertise in finance so that they understand banks’ computer needs.
Advancement. As with most occupations, advancement opportunities for computer software engineers increase with experience. Entry-level computer software engineers are likely to test designs. As they become more experienced, engineers may begin helping to design and develop software. Eventually, they may advance to become a project manager, manager of information systems, or chief information officer, especially if they have business skills and training. Some computer software engineers with several years of experience or expertise find lucrative opportunities working as systems designers or independent consultants.
Nature of Work
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 needsordering, inventory, billing, and payroll recordkeeping, for exampleand make suggestions about its technical direction. They also might set up the organization’s intranetsnetworks 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.
Related Occupations
- Computer Support Specialists
- Mathematical Technicians
- Electronic Drafters
- Aerospace Engineering and Operations Technicians
- Computer Science Teachers
- Computer, Automated Teller, and Office Machine Repairers
- Electrical and Electronics Repairers, Commercial and Industrial Equipment
- Numerical Tool and Process Control Programmers
Related Academic Programs
- Artificial Intelligence and Robotics.
- Computer Engineering Technologies/Technicians, Other.
- Computer Engineering, General.
- Computer Science.
- Information Science/Studies.
- Information Technology.

