The DiRAC Research Software Engineering (RSE) team supports the DiRAC scientific community with bespoke scientific software assistance. When it comes to scientific computing, access to cutting-edge hardware is only half the story — making optimal use of it via your software is the other half. Done well, this can achieve dramatic improvements in runtimes at a fraction of the cost of new hardware, opening the road to more novel science and faster results.
We are a team of professional RSEs with varied scientific backgrounds. As an integral part of DiRAC, we already have familiarity with many of the codes running on DiRAC systems, as well as the systems themselves. We are trained in software engineering methodology and best practices, and in scientific algorithms and numerical methods. Our exposure to a wide range of scientific domains means we can offer unique insights into your code and be valuable collaborators in your research.
We are here to help you make the best use of your software on DiRAC infrastructure:
We also participate in the DiRAC training programme, delivering training sessions and developing materials in collaboration with technology vendors.
Access to RSE effort is provided via the same annual Resource Allocation Committee (RAC) process as compute resources. [Link to latest call]
You can apply for RSE effort on its own or alongside compute resources. We recommend requesting a realistic amount of RSE time for your task — factoring in onboarding, implementing good software development practices, documentation, and handover at the end of your project. If you need help planning your RSE project, please get in touch — we’re happy to help.
The RSE team also provides Technical Assessments for all RAC proposals, supporting applicants to request the appropriate resources on the appropriate facility. As part of this process, we may recommend applying for RSE effort alongside compute resources.
The particular RSE or RSEs allocated to a project are decided by the RSE team, taking into account your proposal and the expertise and availability within the team. We always prioritise the best outcome for the research project when making this decision.
While we strive to accommodate all RAC requests for RSE time, the exact start date and amount of effort available will vary according to team capacity. We’ll be in touch once allocations are confirmed.
Project length can vary from 3 months to 3 years according to the RAC. For projects longer than 3 months, we typically allocate more than one RSE — for example two RSEs at 50% effort — to ensure resilience and continuity, so that important projects and codes are not left without support if circumstances change.
DiRAC RSEs work collaboratively with the scientific groups they support. We strive to understand your science well enough to contribute meaningfully to the software, developing it in close collaboration with you. Regular meetings with your assigned RSE are a minimum expectation, and we’ll also use other approaches — pair programming, hackathons, site visits — wherever they make sense.
Sustainability is central to what we do. We’ll work with your group to develop software in a sustainable and reproducible way, covering source code management, unit testing, code validation, performance monitoring, documentation, and version control. The goal is a codebase your team can maintain, expand, and hand on to future collaborators.