(Senior) Scientific Software Support Officer
|Job Title||(Senior) Scientific Software Support Officer|
|Post Type||Full time / Permanent|
|Salary information||£32,480 to £38,211 (Discretionary range to £43,943), or £41,878 to £49,268 (Discretionary range to £56,658) for Senior level|
The Scientific Computing team is a group of specialist and enthusiastic problem solvers dedicated to enabling the highest quality science. They develop and support the best computer, storage and networking hardware available today to provide the world-class computing infrastructure the science demands.
We are looking for a Scientific Software Support officer who will contribute to the overall programme of Scientific Computing activities within Diamond. This will be achieved through pro-active engagement between the Scientific Computing team and those supporting scientific software developments especially in the Data Analysis Group. The post holder will ensure our software and systems work together efficiently and reliably. More broadly the post holder will take a lead in engaging with STFC and the newly developing Ada Lovelace Centre activities to ensure that there is a consistent approach to and adoption of best practice in the use of scientific software and its deployment across Diamond and other similar facilities.
Working as an integral part of the Scientific Computing team, the post holder will contribute to the delivery of a strategic, Diamond wide Scientific Computing agenda. The focus of the post is on providing specialised technical support to assist users of the Diamond facility in their optimal use of scientific software applications on HPC (High Performance Computing) and HTC (High Throughput Computing) computing platforms.
The main responsibility of the post is the provision of effective, specialist, technical computing solutions to the research communities within Diamond. The post holder will work together with the rest of the Scientific Computing team and the Data Analysis Group to provide coordinated user support. This is a growing function and the post holder may be required to manage a small team of technical experts.
- Configure, install and test scientific software, working closely with the Data Analysis Group;
- Provide guidance to users in the preparation of optimal parallel job code execution;
- Provide guidance to exploit efficiently a diversity of research codes, especially using Python, but with ability to support codes written in other languages such as C, C++, Fortran, Java;
- Provide specialist advice to users concerning parallel programming (principally using MPI and OpenMP) and parallel debugging and profiling;
- Respond to user requests, resolving queries, providing specialist HPC advice and troubleshooting user problems or software errors;
- Develop techniques to identify and optimise processing load related issues on the HPC clusters. Optimise use of cluster scheduler;
- Evaluate new hardware to determine its suitability for deployment within Diamond;
- Engage with the research community in order to capture requirements to define future application support and IT infrastructure requirements;
- Write and update user documentation;
- Act as key point of contact between the Scientific Computing group and software developers within Diamond (senior level only);
- Responsible for managing junior members of the team (senior level only).
Qualification & Experience - Essential
- Honours degree or BTEC HNC/HND + relevant experience;
- Ability and initiative to take the lead in problem solving and take it effectively through to completion;
- Proven ability to work independently, prioritise tasks and respond positively to changing user priorities and requirements;
- Enjoys team work;
- Self-motivated, interested in keeping pace with software development best practises;
- Ability to interact effectively with staff at all levels;
- Demonstrable good interpersonal skills, the ability to communicate effectively and engage in a collaborative effort;
- Experience of modern programming languages such as Java, C, C++ and Python;
- Knowledge of modern Linux system administration;
- Experience or understanding of scientific data analysis;
- Practical experience in a professional, scientific or technical field;
- Working knowledge of computer hardware and modern PC architecture. Understanding of future trends in computing architecture.
Qualification & Experience - Desirable
- Higher Degree in an appropriate discipline;
- ITIL foundation qualification or similar experience of working within a set of best practices;
- Ability to supervise or mentor small teams of technical or administrative staff (Essential for senior level);
- Background in using advanced mathematics and software engineering techniques for application development (Essential for senior level);
- Experience of data management, describing data and exploiting databases for scientific work;
- Experience of software development frameworks and applications such as Eclipse;
- Experience with development of applications to support data intensive science;
- Experience of using novel architectures, particularly GPGPU technology and the NVidia CUDA libraries;
- Experience with the utilisation of HPC systems (building and installing parallel code, configuring job schedulers, parallel file systems);
- Project management experience;
- Available to travel occasionally in UK and overseas including overnight absences.
Applying for employment
For further details on applying for employment at Diamond, please visit our 'Application Form' page.
Appointments will be made depending on the skills and experience of the candidate. Electronic Diamond application forms in MS-Word are preferred. These should be emailed to firstname.lastname@example.org