KINGS COLLEGE LONDON

Research Software Engineer / Senior Research Software Engineer

Location
London (Central), London (Greater) (GB)
Salary
£41,386 to £58,421 per annum, including London Weighting Allowance.
Posted
12 Sep 2023
End of advertisement period
23 Oct 2023
Ref
074506
Academic Discipline
Clinical, Pre-clinical & Health
Contract Type
Permanent
Hours
Full Time

Job description

e-Research is a new Department at King’s College London (KCL) which has been created to help enable and facilitate computational and data-intensive research across the university.

A core component of e-Research will be supporting research through a Research Software Engineering capability. A team of Research Software Engineers (RSEs) is being recruited to help elevate the level of computational- and data-science proficiency across campus. The Research Software Engineering team will work to achieve this by:

  1. contributing directly to software development underpinning research projects,
  2. developing and delivering training on computational- and data-science skills,
  3. providing guidance to PhD students and researchers developing their own code, and
  4. establishing a community of developers of research software across the university

The Research Software Engineering team will consist of RSEs with a wide range of different backgrounds and expertise, including both generalists and specialists, to support the full breadth of research across all our faculties.

This post represents a great opportunity to be one of the first recruits into our new Research Software Engineering team, with significant investment planned over the next 3 years. KCL is at the start of a significant reboot of its e-Research function having invested £2,500,000+ over the past 2 years on core platforms for providing Cloud, Data Storage and High Performance Computing (HPC) capabilities to its world-leading researchers. As this post will be joining us near the beginning of our RSE journey, it provides an excellent opportunity for either a new or established RSE who wants to help us build the group and the career path for RSEs at KCL.

KCL is a diverse, research-focused University with an annual research income of around £200 million across nine faculties. We therefore welcome applications from RSEs with a background in any computational or data-intensive discipline. A significant proportion of our research income is for projects within the Health Schools, so experience in a health-related area (e.g. computational biology, bioinformatics, biophysics, medical imaging, clinical data science, etc.) is particularly welcomed, but is not a requirement.

This post will be offered on a full-time, indefinite contract, though we would be open to discussion with candidates looking for part-time roles or job-sharing. All staff within e-Research are entitled to dedicate 10% of their time to personal development.

Interviews will be held remotely via Microsoft Teams within three weeks of applications closing. The interviews will be 50 minutes long and consist of a short presentation from the candidate, a discussion around some example research code, and questions from the interview panel to allow the candidate to demonstrate their knowledge and skills relevant to the role. In some cases we may need to hold a second round of interviews to decide between multiple strong candidates – in this case we will provide you with notice of the format as soon as we can.

This post will be offered on an indefinite contract

This is a full-time post

Key responsibilities

For grade 6 role: Research Software Engineer

Contributing directly to development projects

  • You will contribute directly to research projects, using your experience and skills to develop new software, or extend, improve or optimise existing software. This may be done as part of a larger project team or working directly with the Principal Investigator.
  • You will be responsible for developing the knowledge necessary for the domain/project to which your time is allocated, by engaging with the PI or carrying-out independent background reading or research. You will be supported in this by the e-Research RSE group and any other collaborators as necessary.

Developing pre-project requirements

  • You will contribute to requirements gathering for research primary investigators (PIs), to help scope the work required for the development project.
  • With the support of the wider team, you will be responsible for managing and prioritising your own time, including the direct allocation of your time to funded research projects.
  • You will help to establish relationships with research groups across KCL to promote the importance of good practices in software development and the role of our team.

Providing consultation and guidance to PhD students and research staff

  • In addition to being directly allocated to specific research projects, you will be responsible for providing support and guidance to PhD students and staff who use research software in their work. This will include offering recommendations to improve existing code, helping to identify bugs or errors, and advocating for good practices in software development.

Developing and delivering training in software and data skills

  • You will occasionally deliver training and short courses to PhD students and post-docs in the KCL research community, in topics such as: the fundamentals of scientific computing, HPC, and software development best practices.
  • You may contribute to the development of new training materials where an unmet need has been identified.

Supporting e-Research platforms

  • You may work with the e-Research infrastructure and support team to help install, validate and benchmark scientific software applications on the e-Research HPC platform.
  • You may help to support some of the computational platforms used by the research community, especially where issues relate to bespoke research software.

For grade 7 role: Senior Research Software Engineer

Contributing directly to development projects

  • You will contribute directly to research projects, using your experience and skills to develop new software, or extend, improve or optimise existing software. This may be done as part of a larger project team or working directly with the Principal Investigator.
  • You will be responsible for developing the knowledge necessary for the domain/project to which your time is allocated, by engaging with the PI or carrying-out independent background reading or research. You will be supported in this by the e-Research RSE group and any other collaborators as necessary.
  • You will sometimes be responsible for project managing the technical component of a wider project, working with both technical and non-technical colleagues and coordinating the work of a small team of developers.
  • When working with other developers, you will provide technical leadership, supporting more junior colleagues by taking on responsibilities such as system design and some of the more complex development tasks.

Developing pre-project requirements

  • You will lead requirements gathering for research primary investigators (PIs), to scope the work required for the development project.
  • You will contribute to identifying the time required, and to project costings, which are to be included in the research proposal submission.
  • You will directly contribute text and project plans to research grant proposals, in support of the PI.
  • You will be responsible for managing and prioritising your own time, including the direct allocation of your time to funded research projects.
  • You will build relationships with research groups across KCL to promote the importance of good practices in Research Software Engineering and the role of our team.

Providing consultation and guidance to PhD students and research staff

  • In addition to being directly allocated to specific research projects, you will be responsible for providing support and guidance to PhD students and staff who use research software in their work. This will include offering recommendations to improve existing code, helping to identify bugs or errors, and advocating for good practices in software development.

Developing and delivering training in software and data skills

  • You will occasionally lead training and short courses to PhD students and post-docs in the KCL research community, in topics such as: the fundamentals of scientific computing, HPC, and software development best practices.
  • You will work with groups across campus to align training courses with existing offerings.
  • You may contribute to the development of new training materials where an unmet need has been identified.

Supporting e-Research platforms

  • You may work with the e-Research infrastructure and support team to help install, validate and benchmark scientific software applications on the e-Research HPC platform.
  • You may help to support some of the computational platforms used by the research community, especially where issues relate to bespoke research software.

Leadership and management

  • You will mentor colleagues in both technical and soft skills where you have relevant experience.
  • You may have line management responsibility for a number of Grade 5, 6, or 7 RSEs as the group grows.

Skills, knowledge, and experience  

**For grade 6 role: Research Software Engineer **

**Essential criteria  **

Candidates must provide clear evidence of the following essential qualifications, experience and knowledge, for their application to be considered:  

  1. A Degree, Postgraduate qualification or equivalent experience in a computational or data-intensive discipline (e.g. computer science, bioinformatics, statistics, engineering, physics, data science, digital humanities, etc.).  
  2. Experience with software development in a research context – for example data analysis, numerical modelling, or web development. 
  3. Experience working with at least one programming language commonly used in scientific computing (e.g. Python, C/C++, R, Fortran, Julia, etc.).  
  4. Experience in applying good practices in software engineering to scientific computing (e.g. version control, unit testing, etc.).  
  5. Ability to convey complex technical information in appropriate levels of detail to both expert and non-expert audiences.  
  6. Ability to quickly acquire knowledge in a new domain or with unfamiliar technologies.  

Desirable criteria

Candidates are asked to provide evidence of the following desirable skills, experience and knowledge to further support their application: 

  1. PhD-level knowledge of an academic research domain, whether gained through a PhD or otherwise. 
  2. Experience developing and/or delivering training in computational- and data-science programming methods and best practices.  
  3. Experience working with a High Performance Computing (HPC) environment. 

**For grade 7 role: Senior Research Software Engineer **

**Essential criteria  **

Candidates must provide clear evidence of the following essential qualifications, experience and knowledge, for their application to be considered:  

  1. A Degree, Postgraduate qualification or equivalent experience in a computational or data-intensive discipline (e.g. computer science, bioinformatics, statistics, engineering, physics, data science, digital humanities, etc.).  
  2. Experience working in software development post-qualification as part of a wider collaborative software development or research team.  
  3. Experience of multiple-developer collaborative software development projects including a degree of leadership. 
  4. Experience with software development in a research context – for example data analysis, numerical modelling, or web development. 
  5. Experience working with at least two programming languages commonly used in scientific computing (e.g. Python, C/C++, R, Fortran, Julia, etc.).  
  6. Experience in applying good practices in software engineering to scientific computing and motivating others to apply good practices in their own work (e.g. version control, unit testing, etc.).  
  7. Ability to convey complex technical information in appropriate levels of detail to both expert and non-expert audiences.  
  8. Ability to quickly acquire knowledge in a new domain or with unfamiliar technologies.  

Desirable criteria

Candidates are asked to provide evidence of the following desirable skills, experience and knowledge in their application: 

  1. PhD-level knowledge of an academic research domain, whether gained through a PhD or otherwise. 
  2. Experience developing and/or delivering training in computational- and data-science programming methods and best practices. 
  3. Experience working with a High Performance Computing (HPC) environment. 
  4. Experience in a community leadership role, for example within a research domain, an open source software project, or an organised hobby group 

Apply now

Apply now

 

Similar jobs

Similar jobs