Senior Software Engineer
|Job Title||Senior Software Engineer|
|Post Type||Full time / Permanent|
|Salary information||Circa £41k - £55k|
Diamond Light Source is the UK’s national synchrotron science facility. Located on the Harwell Science & Innovation Campus in Oxfordshire a 20 minute drive south of Oxford in a designated Area of Outstanding Natural Beauty, Diamond Light Source conducts world-class research in virtually all fields of science and offers rewarding career opportunities covering both technical and scientific disciplines.
We are looking for a high calibre senior software engineer to join our dynamic scientific software group to lead a small team working on visualization and analysis of data from experiments at Diamond. In collaboration with world leading software groups such the Eclipse foundation and our internal software groups the role will share the responsibility for the provision of software applications for advanced data evaluation, analysis and visualization for users of Diamond facilities. These applications exploit the very latest techniques and high performance computing to address the challenging requirements of a broad range of scientific disciplines including macromolecular crystallography through to nanostructures and materials science.
You will operate, and lead a small team, within the scientific software group of experienced software scientists and engineers and will work with our scientists to identify and define requirements for data analysis and visualization applications you will ensure that they are implemented in a timely and effective way. Working with our data acquisition team you will help optimize and record the whole scientific process at a Diamond beamline from data acquisition through to the experimenters leaving with high quality experimental results.
The work will also involve enhancing and supporting the core features of a software data analysis workbench (DAWN) project being worked on in Diamond. DAWN is an Open Source project so there will be opportunities to work with collaborators at other similar facilities worldwide.
To implement, support and enhance software for Data Analysis to all Diamond science. The role holder will work with the software scientists, beamline scientists and users of Diamond to examine their data analysis requirements, available hardware resources, usability needs and establish methods by which this could be implemented, enhanced and streamlined.
- Requirement gathering, management and implementation of scientific analysis software to improve processes across Diamond beamlines. Responsible for ensuring the software is well designed, maintainable and delivered on-time to acceptable quality. Responsible for coordinating input from the team of contributors at Diamond;
- Lead, and where required develop, the technical and detailed software engineering tasks, deployment and support to deliver appropriate software solutions to Diamond;
- Lead the day to day management of software delivery projects using best practice methodology e.g. Agile, often requiring coordination of and delivery from multi disciplinary and department teams;
- Mentor and manage where required the work of one or more software engineer;
- Lead on and develop the technical aspects (both planning and development) of achieving good QA for data analysis tools developed (with emphasis on testing and usability);
- Assist and utilize developments to implement and integrate scientific web and database applications;
- Maintain, continue development, support and training of the analysis framework and ensure the use of appropriate testing systems;
- Collaborate with external groups and contractors in the planning and implementation of cutting edge, robust and user friendly data analysis software as required;
- Train, document/publish and present technical aspects of the work to both internal and external audiences.
Qualification & Experience - Essential
- First degree in engineering, computing or science;
- Use of software development frameworks and applications such as Eclipse;
- Extensive experience of Java and Java GUI programming, including RCP and SWT;
- Experience of software testing systems;
- Background in using software engineering techniques for development;
- Requires significant practical experience in a professional, scientific or technical field;
- Project management experience including using Agile processes;
- Ability to supervise or mentor small teams of more junior technical or administrative roles;
- Good interpersonal, communication and presentational skills;
- Ability to interact effectively with staff at all levels;
- Ability and initiative to get to the heart of the problem and take it effectively through to completion;
- Self motivated.
Qualification & Experience - Desirable
- PhD in appropriate discipline;
- Expert with the DAWN software APIs, design methodology and architecture;
- Experience of programming languages such as C, C++ and Python.
Must be 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 email@example.com