Collect and document user's requirements and develop logical and physical specifications
Research, evaluate and synthesize 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, troubleshoot, document, upgrade and develop maintenance procedures for operating systems, communications environments and applications software
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
Operate automatic or other testing equipment to ensure product quality
Consult with clients after sale to provide ongoing support
Conduct tests and perform security and quality controls
Execute and document results of software application tests and information and telecommunication systems tests