- Research, design, and develop computer and network software or specialised utility programs.
- Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
- Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
- Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.