Purpose of Role
Reporting to the Head of Applications & Data, the Software Development Manager will lead the technical direction and quality of software development projects within the Applications and Data team. The role involves hands-on development, technical leadership, and close collaboration with the Applications Manager to ensure seamless integration between bespoke applications and off-the-shelf systems.
You will guide the architecture and development of web applications and integrations, with a strong emphasis on modern front-end frameworks (particularly Angular), Azure-based services, and scalable, maintainable code.
You will lead a small team of Applications Developers. A helpful, friendly manner when working with end-users is essential. This is a fantastic opportunity to develop your software leadership skills as part of a small, dynamic team.
Key Duties & Responsibilities
1. Lead the technical development of software projects, taking responsibility for architecture, technical decisions, and code quality.
2. Provide technical leadership and mentoring to developers through pairing, coaching, code reviews, and identifying development needs.
3. Collaborate with the Head of Applications & Data and the Applications Manager to align bespoke development with off-the-shelf system capabilities.
4. Develop and maintain software using C#, ASP.NET, databases (SQL Server and Oracle), and modern front-end frameworks (particularly Angular).
5. Use Microsoft Azure services for DevOps, integrations (Azure Integration Services), and hosting (primarily in web apps).
6. Write and maintain unit tests to ensure code quality and reliability.
7. Deploy code to production environments and support the maintenance of legacy systems.
8. Liaise with third-party developers to ensure adherence to technical standards and code quality.
9. Promote the development of T-shaped skills within the team to support cross-functional collaboration and adaptability.
10. Stay current with emerging technologies and practices that could enhance the University's software systems or development processes.
Please note that this job description is not exhaustive, and the role holder may be required to undertake other relevant duties commensurate with the grading of the post. Activities may be subject to amendment over time as the role develops and/or priorities and requirements evolve.
Essential & Desirable Criteria
Essential
11. A first degree in Computer Science (or related discipline) or equivalent practical experience.
12. Proven experience as a senior developer or technical lead on complex software systems, preferably web-based.
13. Strong knowledge of C#, ASP.NET, databases, and modern front-end frameworks (particularly Angular).
14. Experience with RESTful systems.
15. Experience with Agile development methodologies and the full software development lifecycle.
16. Experience mentoring or managing developers and leading technical teams.
17. Familiarity with Microsoft Azure services for DevOps, application security, integration, and hosting.
18. Excellent interpersonal and communication skills, with the ability to work collaboratively across teams and with stakeholders.
Desirable
19. Experience of working in Higher Education
20. Experience of messaging- based systems (e.g. using RabbitMQ or Azure Service Bus).
21. Experience of performance profiling and tuning.
22. Experience of customising/configuring complex off-the-shelf software systems.