Software engineers and designers perform some or all of the following duties:
Collect and document users' requirements and develop logical and physical specifications
Research, evaluate and synthe technical information to design, develop and test computer-based systems
Develop data, process and network models to optimize architecture and to evaluate the performance and reliability of designs
Plan, design and co-ordinate the development, installation, integration and operation of computer-based systems
Assess, test, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software
May lead and co-ordinate teams of information systems professionals in the development of software and integrated information systems, process control software and other embedded software control systems.