The software engineering specialty applies engineering principles and techniques to the design of large-scale, integrated software systems. The software engineer must necessarily master the theory and methods of computer science. While software engineers have a broad background in computer hardware, they specialize in the design, maintenance and development of software systems and products.

They are typically responsible for developing and managing large-scale projects where public safety, as well as the maintenance and evolution of software systems, are of paramount importance. 

Handbook Study plan & Syllabus sheets link.