Senior Research Software Engineer (Pool) - Advanced Research Computing

United Kingdom
£41,526 - £55,750
Jan 09, 2021
Feb 08, 2021
Organization Type
University and College
Full Time
Position Details

IT Services - Advanced Research Computing

Location: University of Birmingham, Edgbaston, Birmingham UK

Full time starting salary is normally in the range £41,526 to £49,553, with potential progression once in post to £55,750

Grade 8

Full Time FTC up to 3 years

Closing date 6 January 2021

Job Summary

This post is established at the University of Birmingham, where the postholder will join a strong and dynamic group of Research Software Engineers with a particular focus on supporting researchers.

The Senior Research Software Engineer (RSE) will provide a technical software development and support service to academics from a wide range of disciplines. As a senior member of the Research Software Group, the RSE will help shape Birmingham's delivery of research software services.

The postholder will collaborate closely with research colleagues from many different academic disciplines and will provide expert knowledge and skills to develop, improve, maintain and support high quality software solutions and access to services, fulfilling the requirements of research projects. The postholder will contribute to developing the knowledge and skills within the research community at all stages of the research software development cycle, e.g. by providing training and coaching sessions as well as promoting the adoption of best practices.

The postholder will be part of the Advanced Research Computing Team (ARC) in IT Services, a well-respected and highly performant team with a national and international profile. As the postholder develops in this role, they will be expected to collaboratively work with academic colleagues to secure external funding for future software development projects, to meet the growing demand for support in this area and ensuring sustainability of software created for research.

The Senior Research Software Engineer will have a varied and interesting workload that changes with the requirements that arrive from world-class researchers. The postholder will be joining an existing group of RSEs, and as such is likely to specialise in particular aspects of this job description - depending on their skills, the skills of the rest of the group, and the work available.

The Pool of RSEs within Advanced Research Computing has been set up to provide RSEs to work on funded research projects across all five Colleges at the University. A Pool RSE would commonly work on two funded research projects simultaneously, perhaps one at 50% and one at 40%, with the remaining time being used for other tasks in ARC. When a research project finishes, the Pool RSE would be allocated to further projects.

Work context

Central IT services at the University of Birmingham use complex, large-scale architectures based on Unix, Linux, Windows and cloud technologies, coupled with advanced storage solutions. These need to be configured and maintained to the highest possible standards of reliability, performance and quality. Business continuity and high service levels are demanded equally for mission-critical research services as well as for those relied on for teaching, learning and administration.

ARC builds and runs (or buys-in) a range of specialist services for researchers, collectively known as BEAR (Birmingham Environment for Academic Research). Aimed at all disciplines, BEAR covers an increasingly broad spectrum of needs, ranging from the traditional HPC through storage and archiving solutions to collaboration and analytics tools and new 'on premises' cloud HTC offerings. ARC also supports the exploitation of specialist regional and national services, including HPC Midlands Plus and the new Birmingham-based Baskerville supercomputer. Together with the national supercomputer Archer (Tier 1) and Birmingham's own BEAR infrastructure, they form a powerful resource for research.

Main Duties

Provide a technical software development and support service, available to all members of academic staff and researchers throughout the University.
  • Develop and maintain a programme of work and a system for allocating the finite development resource effectively (in conjunction with the Research Software Group Leader).
  • Prioritise tasks across multiple engagements to meet agreed objectives, ensuring effective communication to project leads.
  • Manage the expectations of researchers and research groups.
  • As appropriate, provide advice, support, coaching, coding services; crucially always with the aim of ownership and responsibility remaining with the research group.
  • Engage with researchers at all development stages and disseminate best practices in the development of sustainable research software.

Take responsibility and work collaboratively with research groups from across the University for the definition, documentation, development and satisfactory completion of collaborative software projects:

defining requirements; devising solutions; agreeing timescales and priorities as well as identifying the risks to be managed.

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.

Build and maintain relationships with research communities within the University and beyond, seeking opportunities to contribute to research or funding sources for new projects. Work closely with researchers and contribute to research bids to funding bodies. This will mean defining the scope of work and the associated costs for software engineering support for the grant applications as well as the associated IT infrastructure and support costs. Contribute to research papers to be published in academic literature, and produce case studies.

Originate, source and maintain appropriate documentation to support the delivery of software services. Maintain a portfolio and archive of collaborative software projects, code documentation, release notes and manuals.

Engage with researchers at all development stages and disseminate best practices in the development and sustainability of research software.

Work with researchers to understand workflows and to assist with the porting and optimising of such workflows into BEAR resources.

Contribute to raising awareness of BEAR and Tier2 services for researchers and the profile of the team. Help build active user communities locally and regionally, by contributing to seminars and networking events, encouraging the adoption of best practice, sharing knowledge and expertise.

Deliver training courses, devising content where applicable or, where qualified, delivering externally validated material, e.g. Software Carpentries. Content will vary from introductory to specialized and advanced levels.

Contribute to the support of computational research at the University, within ARC and the wider research software engineering ecosystem. Provide software engineering input to assist the maintenance of the infrastructure and deliver integrated support and services for local and Tier2 research communities.

Liaise and engage with external professional networks within the software engineering sector, such as national RSE networks and the Software Sustainability Institute, to keep informed of the latest developments and sector initiatives.

Identify opportunities for service improvement, such as efficiency, reliability and performance of parallel codes and third-party applications, and propose and develop innovative solutions to enrich the user experience, to enhance service delivery, and reduce costs or environmental impacts.

Maintain an awareness of technical developments, tools and ideas in research computing and in software engineering, including attending seminars, technical briefings, conferences and technical groups.

In addition to University provided training and development, you 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.

Other duties of a similar nature as required by the Director of IT Services.

Person Specification

Formal education to degree level or equivalent, preferably in a subject with a strong computer science component.

A postgraduate qualification in a C&IT related discipline would be an advantage.

Relevant experience in C&IT including a substantial period supporting software and software development environments, ideally in a science environment.

Supporting researchers with complex requirements.

Broad and deep knowledge of software development and analysis processes, tools and techniques.

Broad and deep knowledge of programming and programming languages - including at least one of Python, R, C++ or Fortran.

Significant experience of one Linux and associated software applications.

Experience with version control in git, with either GitHub or GitLab is desirable.

Experience as a researcher is desirable.

Good customer relationship management skills.

Proven ability to work as part of a team to deliver services.

A self-motivated learner with a track record of continually updating skills - each new project is likely to require learning something new.

Excellent organizational/project management skills.

Good communication skills, both written and oral.

Good broad knowledge of C&IT, including latest technology industry trends.

Knowledge of Higher Education, Research and its environment.

Familiarity with ITIL would be an advantage.

Informal enquires to Andrew Edmondson , email:

We value diversity at The University of Birmingham and welcome applications from all sections of the community '

Valuing excellence; sustaining investment

Similar jobs

Similar jobs