Research Software Engineer at Durham University
Durham, England, United Kingdom -
Full Time


Start Date

Immediate

Expiry Date

03 Aug, 26

Salary

0.0

Posted On

05 May, 26

Experience

5 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

Yes

Skills

C++, Python, Fortran, MPI, High Performance Computing, GPU Programming, Code Optimisation, Performance Benchmarking, Linux, OpenMP, Data Curation, Machine Learning

Industry

Higher Education

Description
The University At Durham University we are proud of our people. A globally outstanding centre of educational excellence, a collegiate community of extraordinary people, a unique and historic setting – Durham is a university like no other. We believe that inspiring our people to do outstanding things at Durham enables Durham people to do outstanding things professionally and personally. Across the University we have a huge variety of roles and career opportunities, which together make us a large and successful community, which is a key hub of activity within our region and nationally. We would be thrilled if you would consider joining our thriving University. Further information about the University can be found here. Find out more about the benefits of working at the University and what it is like to live and work in the Durham area on our Why Join Us? - Information Page. The Role and Department This role is for a Research Software Engineer within a High Performance Computing team in the Department of Physics, who will perform activities such as improving the performance of existing codes on large systems, implementing more efficient algorithms, and liaising with researchers to identify their requirements. The research areas for these codes are likely to be in the fields of cosmology, astrophysics, particle physics and nuclear physics. The Department of Physics at Durham University is one of the leading UK Physics departments with an outstanding reputation for excellence in teaching, research and employability of our students. The Department is committed to advancing equality and we aim to ensure that our culture is inclusive, and that our systems support flexible and family-friendly working, as recognized by our Juno Champion and Athena SWAN Silver awards. We recognise and value the benefits of diversity throughout our staff and students. The Institute for Computational Cosmology (ICC) within the Department of Physics performs world-leading research with a high international reputation and is one of the largest groups in Europe dedicated to theoretical cosmology. The ICC operates and maintains a high performance computing (HPC) facility, COSMA, on behalf of DiRAC (www.dirac.ac.uk), a UK national facility. This service constitutes the largest academic system in the North of England and is designed to support scientific workflows which require large RAM volumes, for example cosmological simulation. This role will be engaged with providing Research Software Engineering support for DiRAC and the ICC. Key tasks will be the improvement and development of major scientific codes, and the investigation of code performance on DiRAC services. The applicant will work with leading scientific teams to perform tasks such as code optimisation, porting to different computational architectures (which may include GPUs), and analysis of performance benchmarks. The applicant will have access to cutting edge HPC research facilities including new and novel hardware. The applicant will also be engaged with performance benchmarking on prototype hardware to aid and guide future purchasing decisions, having a real impact on the direction of future UK HPC provision. The applicant should have a good understanding and working knowledge of C/C++ and Python. Some knowledge of Fortran would be helpful. The applicant will be using parallel scientific codes which run on multiple servers simultaneously, using middleware such as MPI. These codes will be focused on subject areas within the STFC remit, namely cosmology, particle physics and nuclear physics and the applicant will be able to work with scientists and other RSEs from across the UK. The applicant will eventually be involved with a wide range of projects across the UK including the use of Machine Learning, data curation and exploiting the capabilities of HPC facilities. The applicant is expected to develop deep technical and appropriate domain knowledge to ensure the ICC provides appropriate research software development expertise to DiRAC communities, enabling strong relationships with researchers at all levels to be formed. The applicant will also be encouraged to develop their own areas of specialism, in line with the overall objectives and activities of DiRAC and have the opportunity to lead areas of activity as their experience grows. Within the application form, the applicant should clearly show evidence for how they meet the different essential and desirable criteria, where such evidence exists. This post is open to applications for part-time positions. Further information about the role and the responsibilities is at the bottom of the job description. Working at Durham A competitive salary is only one part of the many fantastic benefits you will receive if you join the University: You’ll receive 30 days annual leave per year in addition to 8 public holidays and 4 customary days per year – a total of 42 days per year. The University closes between Christmas and New Year. We offer a generous pension scheme, and as a new member of staff you will be automatically enrolled into the University Superannuation Scheme (USS). No matter how you travel to work, we have you covered. We have ample parking across campus, a cycle to work scheme which helps you to buy a bike and discount with local bus and train companies. You can also take advantage of our cost-effective and environmentally friendly Tusker Car Benefit Scheme, allowing you to lease a brand-new electric or hybrid vehicle with savings on tax and National Insurance. We have a genuine commitment to developing our colleagues professionally and personally. There is a comprehensive range of development courses, apprenticeships and access to qualifications and routes to develop your career in the University. All staff have dedicated annual time to concentrate on their personal development opportunities. We provide wide-ranging health and wellbeing support including discounted membership for our state-of-the-art sport and gym facilities and access to a 24-7 Employee Assistance Programme. Our on-site nursery is rated Outstanding by Ofsted, and you can access holiday camps for children aged 5-16. Our family-friendly policies, including maternity and adoption leave, are among the most generous in the higher education sector (and likely above and beyond many employers). We offer all staff the opportunity to take part in volunteering activities to make a difference in the local community. You can access exclusive discounts via our benefits portal including money off at supermarkets, high street retailers, IT products such as Apple, eating out and days out at various attractions. Various salary sacrifice schemes are also available to help you take advantage of tax savings on benefits. If you are moving to Durham, you may be eligible for help with removal costs, and we have a dedicated team who can help you with the practicalities such as house hunting and schools. If you need a visa, we cover most visa costs and offer an interest-free loan scheme to pay for dependant visas. Discover more about our total rewards and benefits package here. Durham University is committed to equality, diversity and inclusion Our collective aim is to create an open and inclusive environment where everyone can reach their full potential and we believe our staff should reflect the diversity of the global community in which we work. As a University equality, diversity, and inclusion (EDI) are a key part of the University’s Strategy and a central part of everything we do. We also live by our values and our Staff Code of Conduct, At Durham we actively work towards providing an environment where our staff and students can study, work and live in a community which is supportive and inclusive. We welcome and encourage applications from members of groups who are under-represented in our work force including people with disabilities, women and black, Asian and minority ethnic communities. If you have taken time out of your career, and you feel it relevant, let us know about it in your application. If you are a candidate with a disability, we are committed to ensuring fair treatment throughout the recruitment process. We will make adjustments to support the interview process wherever it is reasonable to do so and, where successful, reasonable adjustments will be made to support people within their role. What you need to demonstrate when you apply When you apply it is important that you let us know what skills/experience you have from a similar role and/or what skills/experience you have which would make you right for this role. Further information about the role and responsibilities is at the end of this job description. Where a criteria has an asterisk* next to it, it may be given additional weighting when your application is considered. Your application should cover the following criteria: Person Specification Essential Criteria Qualifications/Experience 1. Educated to degree level (or equivalent experience). 2. Experience of participating in internal or external networks to share and discuss good practice and develop strong and productive working relationships. 3. Experience of providing specialist advice and guidance to a range of customers and colleagues, including more senior colleagues, particularly related to HPC 4. Experienced practitioner who has led teaching/research/computing projects working within an educational, commercial or industrial environment. 5. Experience of implementing policies and procedures. Skills/Abilities/Knowledge 6. Excellent spoken and written communication skills including the ability to develop effective working relationships, both internally and externally. 7. Strong digital competence across a range of digital devices and apps including HPC systems. 8. Achievement of recognised industry and professional standards supported by relevant courses or certifications a PhD or close to completion. 9. Committed to continuing professional development to maintain professional recognition. 10. Professional knowledge and experience of compliance and regulations, local and national. 11. Ability to solve problems and decide on and plan appropriate solutions. 12. Expert knowledge and expertise in one or more areas of technical specialism, and the application of skills to create, build, construct and realise new and innovative resources, equipment and research outputs. 13. Knowledge and experience of ensuring compliance with regulatory and organisational policy and guidelines, including health and safety. 14. Ability to teach or train others with specific technical skills. Desirable Criteria 1. Experience with a Unix-based environment (e.g. Linux, Mac OSX), including the command line 2. Experience working as part of a team 3. Experience working in a research or software development environment 4. Ability to self-manage a complex workload and prioritise effectively 5. Ability to network and develop professional relationships within and outside the ICC 6. Ability to understand the environmental infrastructure supporting HPC 7. Experience with a low-level language such as C/C++ or Fortran 8. A good honours degree in a STEM subject or equivalent experience 9. Fluent in one or more scripting languages (e.g. Python) 10. Experience with using MPI applications 11. Experience with end-user engagement including requirements gathering 12. Experience writing documentation and support manuals 13. Experience working with HPC including computing, storage and networking 14. Experience developing MPI and/or OpenMP applications 15. Experience in working to deadlines and dealing with unexpected issues 16. Experience with developing code for GPUs 17. Experience with C/C++ and Fortran 18. Experience with Python 19. Experience leading successful implementation of sub-projects 20. Experience with data interpretation and information processing 21. Experience engaging with researchers utilising large HPC codes 22. Experience with long-term strategic planning 23. Experience with commonly used HPC file formats (e.g. HDF5) 24. Experience with HPC file systems (e.g. Lustre) 25. Experience with data curation techniques How to Apply To progress to the assessment stage, candidates must evidence each of the essential criteria required for the role in the person specification above. It will be at the discretion of the recruiting panel as to whether they will also consider any desirable criteria, but we would urge candidates to provide evidence for all criteria. Please don’t forget to check if there is any weighted criteria (see above). While some criteria will be considered at the shortlisting stage, other criteria may be considered later in the assessment process, such as questions at interview. Submitting your application We prefer to receive applications online. We will update you about your application at various points throughout the selection process, via automated emails from our e-recruitment system. Please check your spam/junk folder periodically to make sure you have not missed any of our updates. What you need to submit A CV A supporting statement or covering letter which outlines how you meet all of the essential criteria within the Person Specification of the job description. Contact details For a chat about the role or any further information please contact rachel.middleton@durham.ac.uk Typical Role Requirements Service Delivery/Development · Contribute to equality, diversity and inclusion and the University’s values. · Provide specialist advice and guidance relating to your professional area of expertise in line with the University’s policies, regulations and values. · Provide the best possible service by continually reviewing what is required from staff, students and others who you work with and contribute to ideas and service improvements. · Provide specialist knowledge and support when interpreting and analysing complex data and information sources. · Look for ways to improve processes, techniques and outputs/results across all areas of your work. · Identify any learning needs that should be met by the service and design activities and arrange any training. · Oversee specialist risk assessments and safety procedures and resolve incidents that require specialist expertise. Planning and Organisation · Provide specialist advice to resolve technical problems, plan projects and continually develop and improve the service. · Seek feedback from staff, students and other key stakeholders so that the service is being adapted to meet customer expectations and to plan future requirements. · Manage budgets and expenditure including buying (and returning) goods and services. Teaching and Learning Support · Design, build and maintain complex, specialist teaching and research apparatus, equipment, instruments, systems and appliances. · Provide advice on digital tools and infrastructure to ensure an appropriate pedagogical approach to developing world-class teaching. · Apply maintenance schedules to ensure the safe and efficient use of technology, facilities and services to teaching, research and learning activities. · Manage the day-to-day delivery of a high-quality technical and/or experimental facility/platform and service to ensure teaching, research and knowledge exchange outputs. · Record, monitor and collate information to analyse patterns and trends as part of teaching and research activities. · Be responsible for the design, set-up, maintenance and integrity of teaching, research and learning facilities, technology and resources within a specialist area. · Supervise [service users] during practical and test teaching and research work activities, projects, and self-directed sessions. · Support the delivery of undergraduate and postgraduate teaching and learning activities, and income generation, where appropriate. · Contribute to the planning, design and delivery of research outputs and prepare innovative teaching/research proposals. Communication/Liaison · Provide specialist advice and guidance on University health and safety and compliance issues. · Use your operational expertise to lead and participate in business meetings, working groups and sub-committees. · Collaborate with internal and external academics, industry and technical specialists to support the delivery of teaching and research projects and to contribute to the generation of external income. · Liaise with internal and external agencies, local authorities, industries and visitors where appropriate. · Meet the development needs of your stakeholders by providing training when required. · Create positive working relationships, including internal and external networks, using your networks to increase your knowledge and skills and swap information with peers. · Contribute to promotional events and presentations at conferences. · Any other reasonable duties. Please note that in submitting your application Durham University will be processing your data. We would ask you to consider the relevant University Privacy Statement Privacy Notices - Durham University which provides information on the collation, storing and use of data.
Responsibilities
The role involves improving the performance of scientific codes and implementing efficient algorithms for cosmology and physics research on HPC systems. The engineer will perform code optimisation, porting to different architectures including GPUs, and conduct performance benchmarking on prototype hardware.
Loading...