Research Software Engineer
The Research Software (RS) Engineer will work in a variety of different research domains, and in a variety of different teams. They will be a flexible technical specialist capable of designing and programming high quality research solutions (from algorithms to web applications), and may have significant domain knowledge.
The RS engineer’s primary task is to produce high quality code to support product specifications and requirements defined in collaboration with research leads and (where applicable) other members of their RS team. They will be an expert in at least one programming language, have solid proficiency in others, and a deep interest in software development generally. They may be capable of full stack development, from the operating system, through database, application layer, and user interface, but might have one or more technical specialties such as machine learning, parallel programming, or web development. They have a deep commitment to producing high quality code and keep up to date with the latest technical innovations. They often have deep knowledge of a research domain and contribute to research projects on an intellectual as well as technical level.
It is essential that they have a command of these technical aspects of the role but understand the challenges of producing code in research-driven higher education environments. RS engineers need to collaborate and communicate with researchers who are often unaware of the processes and technical requirements necessary to produce high quality digital outputs, as well as technical colleagues in IT, industry, and the wider RS community.