Computer Software Engineers

Because of the variable nature of technology, the work done by computer software engineers is constantly evolving. Professionals in this field design, develop, test, and evaluate software and systems that facilitate computer applications. While completing these tasks, computer software engineers make use of their technological expertise, as well as their knowledge of computer science, mathematical analysis, and engineering principles.

Whether software engineers are working in computer applications or systems development, they design and construct software with the users' needs in mind. Software engineers should be knowledgeable of programming languages like C++ and Java and proficient at writing code, but their main focus lies in the development of algorithms and the resolution of programming problems. Computer software engineers normally work as part of a team to create new hardware, software, and computer systems. As the need for secure systems continues to grow, more and more software engineers are specializing in information security and experimenting with security software as well.

Because software engineering revolves around the completion of projects, workers in this profession may have to work night and weekend shifts in order to meet deadlines and resolve technical issues. Computer software engineers must also keep pace with the rapid progression of technology and work towards acquiring new skills that correspond with changes in their industry. Most employers expect their software engineers to have at least a bachelor's degree in a related field, as well as experience with a variety of computer systems and technologies. More complex jobs will require a graduate degree in computer science or software engineering.

Those who wish to advance in computer software engineering should focus on earning an appropriate degree and gaining work experience. Entry-level software engineers initially test and verify incomplete designs, whereas professionals with a few years of experience will begin to participate in the design and development processes. Senior-level software engineers often go on to secure positions as project managers, information systems managers, and chief information officers.

Computer software engineers are typically employed by software publishers, organizations involved in computer systems design, government agencies, computer manufacturers, and large companies and enterprises. In 2006, computer software engineers who worked full time in computer applications made an average of $79,780 a year. Computer systems software engineers earned an average of $85,370 a year. According to the National Association of Colleges and Employers, the annual starting salary offer for graduates with a bachelor's degree in computer engineering averaged $56,201 in 2007.