Skip to main content

This job has expired

Senior Research Software Engineer (Pool) - IT Services - Grade 8 - 97324

Employer
University of Birmingham
Location
Birmingham, United Kingdom
Salary
£41,526.00 - £55,750.00
Closing date
Jun 24, 2021
Position Details

IT Services

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

Fixed term contract for up to 3 years

Closing date - 24th June 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 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 the 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 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, and 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 on 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 software engineering 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 with unit testing and continuous integration 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 the latest technology industry trends.
  • Knowledge of Higher Education, Research and its environment.
  • Familiarity with ITIL would be an advantage.


Dimensions
  • No other posts report to this one.
  • This post may involve managing software-related projects involving other group members.
  • The role is a highly specialised and technical one, enabling and supporting the exploitation of software engineering in advanced computing environments to support research. This is complex, diverse, often novel and potentially transformative.
  • Customers are potentially all University research groups and their collaborators (nationally and internationally). Success will enable the delivery of major research outputs and the winning of further research income. The post holder will also contribute to the production of research grant applications which may generate income for research groups.
  • Essential to the effective exploitation of the multi-million-pound BEAR infrastructure.
  • Will bring disparate technology and people together and even devise systems or workflows to support the analysis work of client research groups. This work is hugely varied and challenging; it requires an analytical approach to problem-solving as well as innovation in solution design.

Planning and organising

The individual will have guidance on workload management only and be expected to schedule their own time effectively as well as their interactions with their colleagues and researchers on a day to day basis. Headline priorities will be set and agreement will be reached in discussion with the Group Leader and Head of Section on extended engagements with specific research groups.

Some work will be generated by user tickets in the Service Desk, much will be delegated by the Head of Section or Group Leader following discussions with PIs but some will be self-generated by spotting opportunities/potential and through networking with the research community or referrals from colleagues.

The post holder will be expected to maintain a plan that balances a set of long term goals (perhaps a 2-3 year horizon) with shorter-term interactions (up to one month). They will need to be responsive to technological advances and, in parallel, to maintain existing systems and services on shorter refresh cycles as well as make space to be responsive to the needs of users and troubleshoot and apply emergency fixes. This is a major challenge in terms of balancing competing requirements.

The job is overwhelmingly proactive though the individual will have to work hard to keep it that way. There will be a little pattern to the work and require the individual to be adaptable to establish effective workload management tactics while meeting the demands of the research community.

Problem-solving and decision making

i) without reference to others
  • Devising major proposals for the development and exploitation of platforms/tools/software in accordance with agreed strategies, for presentation to the Head of Advanced Research Computing.
  • the implementation of such proposals or approaches, according to the plan taking into account the wider needs of the service
  • Establishing collaborative relationships with research groups, understanding their needs and proposing solution options.
  • Working with Research Groups to assist with software engineering developments and activities, and dealing with issues that they have been unable to solve (in terms of the computing dimensions) or helping them analyse the data faster or more effectively.

ii) after consulting others

  • Researching and making recommendations for long-term changes to BEAR Services to enhance capabilities, correct failures or performance problems - to be discussed with the Advanced Research Computing Section.
  • Working out how to exploit regional and national services, such as Baskerville for analytical requirements which are beyond the capability of local services.
  • Solutions based on the adaptation of existing BEAR Services.

iii) or that would be referred to someone else.

  • developments which are the responsibility of other IT Services' sections.
  • networking issues in the area of authentication and authorisation and network management, to be referred to the Network Section
  • Security standards (refer to the Chief Architect for policy and the Security Services Officer for practice).

Informal enquiries can be made to Andrew Edmondson - a.c.edmondson@bham.ac.uk

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

Valuing excellence; sustaining investment

Get job alerts

Create a job alert and receive personalized job recommendations straight to your inbox.

Create alert