Training, Certifications, Skills, Advancement: Computer Software Engineers

Most employers prefer to hire persons who have at least a bachelorís degree and broad knowledge of, and experience with, a variety of 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.

Academic programs in software engineering emphasize software and may be offered as a degree option or in conjunction with computer science degrees. Increasing emphasis on computer security suggests that software engineers with advanced degrees that include mathematics and systems design will be sought after by software developers, government agencies, and consulting firms specializing in information assurance and security. Students seeking software engineering jobs enhance their employment opportunities by participating in internship or co-op programs offered through their schools. These experiences provide the students with broad knowledge and experience, making them more attractive candidates to employers. Inexperienced college graduates may be hired by large computer and consulting firms that train new hires in intensive, company-based programs. In many firms, new employees are mentored, and their mentors have an input into the new hiresí evaluations.

For systems software engineering jobs that require workers who have a college degree, a bachelorís degree in computer science or computer information systems is typical. For systems engineering jobs that place less emphasis on workers having a computer-related degree, computer training programs leading to certification are offered by systems software vendors, including Microsoft, Novell, and Oracle. These programs usually last from 1 to 4 weeks, but the worker is not required to attend classes in order to sit for a certification exam; several study guides also are available to help prepare for the exams. Nonetheless, many training authorities feel that program certification alone is not sufficient for most software engineering jobs.

Professional certification is now offered by the Institute of Electrical and Electronics Engineers (IEEE) Computer Society. To be classified as a Certified Software Development Professional, individuals need a bachelorís degree and work experience that demonstrates that they have mastered a relevant body of knowledge, and must pass a written exam.

Persons 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 is the case with most occupations, advancement opportunities for computer software engineers increase with experience. Entry-level computer software engineers are likely to test and verify ongoing designs. As they become more experienced, computer software engineers may be involved in designing and developing software. Eventually, they may advance to become a project manager, manager of information systems, or chief information officer. Some computer software engineers with several years of experience or expertise find lucrative opportunities working as systems designers or independent consultants or starting their own computer consulting firms.

As technological advances in the computer field continue, employers demand new skills. Computer software engineers must continually strive to acquire such skills if they wish to remain in this extremely dynamic field. To help them keep up with the changing technology, continuing education and professional development seminars are offered by employers and software vendors, colleges and universities, private training institutions, and professional computing societies.