Enable job alerts via email!

Software Engineer - School of Computer Science - 95503 - Grade 7

University of Birmingham

Birmingham

On-site

GBP 36,000 - 46,000

Full time

Yesterday
Be an early applicant

Job summary

A prestigious university in Birmingham seeks a Software Engineer to develop and maintain high-quality software solutions. The role offers opportunities for professional growth and the chance to work in a collaborative environment. Ideal candidates will have experience in software development, particularly with TypeScript and Go. Benefits include a competitive salary and a range of flexible working arrangements.

Benefits

40 days paid holiday
Generous pension scheme
Flexible working arrangements

Qualifications

  • Experience developing and deploying software projects.
  • Knowledge of software development processes and tools.
  • Ability to learn new programming languages independently.

Responsibilities

  • Develop and maintain high-quality software solutions.
  • Collaborate with team members to define technical plans.
  • Identify opportunities for service improvements.

Skills

Communication
Teamwork
Self-motivation
Problem-solving

Education

Degree in Computer Science or related field

Tools

Git
TypeScript
Go
PostgreSQL
AWS

Job description

Position Details

School of Computer Science

Location: University of Birmingham, Edgbaston, Birmingham UK

Full time starting salary is normally in the range £36,130 to £45,413 with potential progression once in post to £48,149

Grade: 7

Full Time, Permanent

Closing date: 21st August 2025

Our offer to you

People are at the heart of what we are and do.

The University of Birmingham is proud to have been a part of the City of Birmingham and the wider region for over 100 years, andweare equally proud to be recognised as a leading global university.We want to attract talented people from across the city and beyond, support them to succeed, and celebrate their success.

We are committed to helping the people who work here todevelopthrough our sector-leading Birmingham Professional programmewhichprovides allprofessionalservices staff with development opportunities and the encouragement to reach their full potential.With almost 5,000professionalservices jobs in a wide-range of functionsin Edgbaston andin our campus inDubai, there are plenty of opportunities foryou to be able to develop yourcareer at the University.

We believe there is no such thing as a typical member of staff and that diversity is a source of strength that underpins the exchange of ideas, innovation, and debate.We warmly welcome people from all backgrounds and are committed to fostering an inclusive environment where diversity is at the heart of who and what we are,and how we work.

Supporting our people to achieve a healthy work/life balance is important both to our employees andtothe success of the University and, depending on the role, we offer avarietyof flexible working arrangements. We therefore welcome discussions on all forms of flexible working.In addition, you will receive a generous package of benefits including 40 dayspaid holidaya year, one paid day a year for volunteering, occupational sick pay, and a pension scheme. We also have three high quality subsidised day nurseries.

The University is situated in leafy Edgbaston and there are excellent transport links to our beautiful campus, including main bus routes and a train station on site.On campus we have a state-of-the-art sports centre with pool, shops,places to eat and drink,our own art gallery, museum and botanical gardens.

Find out more about thebenefits of working for the Universityof Birmingham

Background

Are you ready to make a real impact with your code? At the University of Birmingham, we’re looking for a Software Engineer to join our supportive and forward-thinking team, where collaboration and continuous learning are at the heart of everything we do.

You’ll work alongside some of the brightest minds in academia, developing cloud-based solutions that enable world-class research and innovative teaching. Whether it’s enabling data-driven discoveries or enhancing digital learning experiences, your work will help shape the future of education and science.

This role is ideal for someone with a few years of experience in software development, but we also welcome applications from recent graduates who are eager to grow and make a difference. With plenty of opportunities for professional development, mentorship, and hands-on experience with modern cloud technologies, this is a place where your potential will thrive.

The post-holder will join a strong and dynamic team providing software, services and platforms to support teaching, research and administration, primarily for the School of Computer Science within the College of Engineering and Physical Sciences.

Work is rarely prescribed externally, instead usually starting with the identification of requirements, opportunities and challenges, followed by the design, prototyping and development of solutions, whether they involve development of applications, platforms, computing environments, policies / processes / procedures, or something else entirely. The choices of approach, technologies, implementation and final solution are driven primarily by the principal of choosing the best tool for the job, although existing specialisms, implementations and knowledge is also a factor.

The specialist systems owned by the team include complex, scalable architectures based on Linux and cloud technologies. There is a bias towards event-driven architectures and modularity provided by microservices and modular monoliths. Services may be critical to teaching, research and administration and as such must achieve the appropriate level of performance, quality, reliability, security and usability.

These individual services culminate in a platform which provides: extremely flexible computing environments able to adapt to the ever-evolving demands of research and delivering a research-led curriculum; applications which support teaching and teaching administration (and to a lesser degree, research) by enabling process automation, data analysis, visualisation etc; and the underlying infrastructure, data-pipelines and development environments to facilitate the development, monitoring and maintenance of said environments and applications.

Applications and products are deployed to cloud-based virtual infrastructure, with some hybrid workloads also deployed on-premises. In-house development is primarily done using a combination in Go and TypeScript / JavaScript, although development of established applications and extensions of third-party products may include the use of Python, Rust and other languages. Process automation and one-off tasks are often scripted using Python and sometimes Bash, and other tooling including configuration management tools may require the use of additional languages / DSLs. Deployments themselves make use of CI/CD to platforms managed using GitOps.

Role Summary

The post-holder will develop, deploy, maintain and support high-quality software solutions, services and platforms. They will have a broad technical understanding of modern software development and system administration, as well as the ability to rapidly obtain deep and specialist knowledge of specific technologies, paradigms and best-practices on a per-project basis.

The post-holder will collaborate closely with academic and professional services colleagues to make technical plans and decisions, to align with policy, and as part of an Agile software development process. They will interact with many staff within the School on at least a semi-regular basis.

The post reports into the Head of Software Engineering. The post-holder will operate with some degree of independence from a technical perspective and will require professional experience and expertise and the ability to independently self-learn and to research established solutions.

The post-holder will have a varied, interesting and challenging workload that changes with the evolving requirements arising from world-class researchers and the delivery of highly ranked teaching. They will join an existing team with a wide range of skills, and their workload will vary depending on the post-holder’s specialisms, specialisms within the rest of the team, and the work available.

Main Duties

  • Identify and prioritise Individual Contributor (IC) tasks for themselves throughout the software development lifecycle, aligning with strategic and tactical choices, and reacting to environmental changes and challenges as appropriate.
  • Develop high-quality software to meet the requirements of the software and services owned by the team. Keep up to date with relevant changes and technologies in industry to maintain best practices. Evolve existing software and systems as appropriate.
  • Develop software applications and learning environments. The details of this duty will vary significantly based on the task at hand. The post-holder is expected to be a proficient software engineer with a technical background to be able to handle these highly varied requirements.
  • Take responsibility and work collaboratively with staff from the School (and across the University) for the definition, documentation, development and satisfactory completion of software projects and infrastructure improvements: defining requirements; devising solutions; agreeing timescales and priorities as well as identifying the risks to be managed. Manage expectations of stakeholders throughout, and keep them updated as priorities, timelines and requirements evolve.
  • Mentor and coach new team members, particularly those in less senior roles within the team.
  • Provide input on School-wide policies and procedures in collaboration with the Head of Software Engineering, Senior Software Engineer(s), senior academics and professional service staff.
  • Identify opportunities for cost-savings and see that they are implemented.
  • Each of these engagements will be unique in nature and complexity. They will typically range from requiring a few days to several months of effort. In rare cases, very large projects (typically underpinning the entire infrastructure) may involve work over multiple years.
  • Represent the team:
    • informally in discussions with colleagues;
    • in various formal regular groups and committees within the School;
    • occasionally as required in wider College / University meetings.
  • Build and maintain excellent working relationships with academics and professional services staff within the School, and in the wider University as appropriate.
  • Provide technical advice and guidance:
    • to academic and professional services staff in relation to technical implications of strategic and tactical decision making;
    • to academics in the context of planning and undertaking research and teaching delivery.
  • Undertake code reviews with the rest of the team (including Infrastructure as Code reviews). Provide technical and financial advice and guidance to academics in relation to specialist computing resources, in particular cloud-based resources but also specialist physical computing equipment.
  • Keep up to date with relevant technologies and developments to be able to offer appropriate advice and guidance.
  • Identify candidates for tasks / processes to automate in other teams that would increase their efficiency, and either implement these automations or delegate to another team member. Work closely with other teams during this implementation to ensure the automation (whether full or partial) is accurate and efficient, and that the final solution works well for all stakeholders.
  • Identify opportunities for service improvement and propose and develop innovative solutions to enrich the user experience, to enhance service delivery, and reduce costs or environmental impacts. Identify candidates for internal tasks / processes to automate with an appropriate ROI and see through these improvements in collaboration with the rest of the team.
  • Maintain an awareness of technical developments, tools and ideas in in software engineering and DevOps, including attending conferences, networking with industry peers, undertaking formal training and taking part in technical workshops as appropriate.
  • In addition to University provided training and development, the post-holder will undertake sufficient personal and professional development as required, ensuring skills and knowledge are up to date so that the role is performed to the required level.
  • Promote equality and value diversity acting as a role model and fostering an inclusive working culture.

Person Specification

  • Relevant experience developing and deploying software projects
  • Broad and deep knowledge of software development processes, tools and techniques
  • Experience developing software, ideally in TypeScript and / or Go, although prior experience with these languages is not a firm requirement; in addition, the post-holder should be able to learn new programming languages and supporting tooling independently in a reasonable timeframe
  • A self-motivated learner interesting in and capable of continually updating skills – each new project is likely to require learning something new
  • Good communication skills
  • Good personal organisational skills
  • Ability to work as part of a team to deliver software products and services
  • Ideally, experience with one or more of the following:
    • Using git, and GitHub/GitLab/BitBucket or similar tools
    • Developing software in multiple different languages
    • Working with SQL databases, preferably PostgreSQL
    • One or more Agile methodologies
    • Working and developing in a Linux environment
    • Public cloud providers, preferably AWS
    • Experience working with containers
    • Web technologies (SPAs, REST APIs, modern HTML/CSS etc)
    • Working in a software and/or DevOps team
    • Designing/developing, and knowledge of the benefits/challenges of, event-driven microservices
    • Working with and developing appropriate software test suites
    • CI/CD
    • Infrastructure-as-code tools (e.g. CDK, Terraform)
    • Configuration Management tools (e.g. Puppet, Ansible)
    • Any relevant cloud computing certification(s)
    • Using a GitOps pipeline
    • Python data science and AI tools
    • Working for, or with, a Higher Education provider
    • Working directly with software customers and end-users

Informal enquiries to Jack at cs-ecstra-jobs@cs.bham.ac.uk

View our staff values and behaviourshere

We believe there is no such thing as a 'typical' member of University of Birmingham staff and that diversity in its many forms is a strength that underpins the exchange of ideas, innovation and debate at the heart of University life. We are committed to proactively addressing the barriers experienced by some groups in our community and are proud to hold Athena SWAN, Race Equality Charter and Disability Confident accreditations. We have an Equality Diversity and Inclusion Centre that focuses on continuously improving the University as a fair and inclusive place to work where everyone has the opportunity to succeed. We are also committed to sustainability, which is a key part of our strategy. You can find out more about our work to create a fairer university for everyone on our website .

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.