Software Engineer
Role details
Job location
Tech stack
Job description
Join our Scientific Information Management Team to develop and support cutting-edge scientific software as part of an international research collaboration., Effective information management is essential for Diamond to conduct its critical work, providing scientists the tools to turn theoretical science into practical and often life-changing discoveries. A critical component of Diamond's software architecture is its Laboratory Information Management System (LIMS). The LIMS is a web application that captures the full lifecycle of experiments at Diamond. The LIMS enables scientists from all over the world to plan and prepare their experiments, facilitates integration and interoperability with data analysis tools and provides visualisation of experimental activity and results. The web application needs extending to support emerging requirements to streamline operations and support automated data collections. The software stack is also undergoing a technical refresh to take advantage of modern JavaScript libraries and frameworks. This would be an ideal opportunity for you to grow and develop with a world leading science facility or utilise the skills and experience you already have in this rewarding role. As a member of the Scientific Information Management Systems group, you will be working alongside a bright and motivated team in an open and collaborative environment. You will be required to interact with Diamond scientists and translate their specifications for scientific capabilities into software requirements. You will also participate in international collaborations within this domain, sharing best practice and supporting other facilities and synchrotrons within the collaboration. Lead a team of minimum 3 highly talented software engineers as they rebuild our existing software stack to meet demanding scientific requirements for the next 20 years.
Requirements
Successful candidates should be able to demonstrate experience in the full Software Development Lifecycle and ideally have,
- Supervising and directing small teams and mentoring/code reviews.
- Software development experience in a technical software environment
- Strong JavaScript skills with experience with JavaScript frameworks such as React or Angular.
- Experience with unit test frames works such as Jasmine or Mocha.
- Knowledge of agile practices (specifically SCRUM).
- Be able to work across multiple projects and systems, and interface with other IT teams delivering other science services.
- Working with and contributing to open-source software to meet the needs of user communities.
- A degree level qualification in science, engineering, mathematics, computer science or equivalent experience is essential to interpret scientific needs into clear software requirements.
- Good commutations skills as you will be talking to the leading scientists in their field (A scientific background is not required but would be a benefit)
- An interest in supporting scientific stakeholders coupled with strong analytical and communication skills is also essential.
We use an open-source development model in a not-for-profit institution, so knowledge of GitHub / GitLab would be useful. The remote systems provide the shop window to all services, so a passion for UX and quality are essential.
Benefits & conditions
Diamond offers an exceptional benefits package to support staff in achieving a positive work/life balance. This includes 26 days annual leave plus Christmas closure, public holidays, 2 annual volunteering days and flexible working hours. We also offer an excellent defined benefit pension scheme. A relocation allowance may also be available where applicable. Our campus-based location, with open green space, offers sports pitches, an outdoor gym, as well as a network of cycle, running and walking routes. Staff also have access to a range of onsite amenities including cafes, restaurants, a daycare nursery and free on-site parking.