the software development lifecycle. This appointment will support the delivery, renewal, and long-term ownership of key software engineering course units, strengthen capacity in areas such as code comprehension, debugging, testing, maintenance, collaborative development, agile methods, requirements translation, and software architecture, and contribute to the development of new postgraduate provision, including the MSc Software Engineering programme.
The postholder will develop teaching and scholarship that prepares students to engineer reliable, maintainable, scalable, and secure software systems in AI-augmented development environments. This will include teaching students how to interact effectively with generative AI tools, IDE-integrated assistants, automated code generation systems, and agentic software engineering workflows, while retaining critical evaluation, technical ownership, and accountability for the resulting software. The role will also involve developing students’ ability to understand and reuse complex codebases, apply systematic debugging strategies, use Git-based collaborative workflows, translate requirements and bug reports into implementable development tasks, practise test-driven development, use continuous integration, and evaluate the role of AI-supported tools in code synthesis, documentation, refactoring, testing, maintenance, and software project delivery.
A central purpose of the appointment is to ensure that AI is taught not simply as a means of automating programming tasks, but as a transformative influence on the practice, organisation, governance, and professional responsibilities of software engineering. The successful candidate will help students understand where AI tools can add value, where their use introduces risk, and how software engineers should critically assess issues of correctness, reliability, bias, explainability, data governance, intellectual property, security, ethics, and human accountability. The role will also support innovation in assessment design, including agile and scalable approaches that provide personalised feedback while preserving academic integrity and ensuring that students develop demonstrable software engineering competence.