1. Building and setting up new development tools and infrastructure
2. Understanding the needs of stakeholders and conveying this to developers
3. Working on ways to automate and improve development and release processes
4. Testing and examining code written by others and analysing results
5. Ensuring that systems are safe and secure against cybersecurity threats
6. Identifying technical problems and developing software updates and ‘fixes’
7. Working with software developers and software engineers to ensure that development follows established processes and works as intended