We are looking for an experienced Python developer for scientific workflows and applications in our team at the Data Management and Software Centre (DMSC) in Copenhagen, Denmark!
European Spallation Source ESS AB
Come join us and develop software solutions for one of the largest research infrastructures being built today, the European Spallation Source (ESS).
ESS is a “Big Science” project that aims to be the most powerful neutron microscope when fully operational in 2027. ESS will enable researchers to study the smallest objects in the finest detail.
We develop open source libraries and tools for staff and visiting scientists who will run neutron-scattering experiments at ESS.
About the team
We are a small team embracing modern software-engineering practices that constantly strives to improve itself. In our team your work counts and your voice is heard.
Our main responsibility is to develop the processing software for the critical step between data acquisition and data analysis of experiment data from more than 15 different ESS instruments. This is the so-called data reduction step that makes acquired detector counts and associated metadata scientifically usable. The software project we develop is named Scipp.
Technologies we use include: Git, GitHub, Sphinx, Jupyter, Pytest, Python, C++, Numpy, Matplotlib, GitHub Actions, Tox, Pybind11, CMake, NeXus, HDF5, Kafka, Dask.
About the job
As the successful candidate and our future scientific software developer you will:
- Collaboratively develop software for neutron-data processing for the ESS in coordination with stakeholders at ESS.
- Take responsibility and lead in subareas of the software in a small team of developers.
- Contribute and develop ideas in an environment thriving on the individual's ability to understand and correctly interpret high-level requirements.
We recommend that interested candidates take a look at the Scipp GitHub pages (https://scipp.github.io, https://github.com/scipp/scipp) to get a better idea of the project.
You will work as a software developer and not as a data scientist, scientific researcher, or machine-learning engineer.
Key requirements for the role include:
- Ability to work in diverse international teams.
- Very good Python knowledge.
- Excellent oral and written English skills.
- Experience with modern software development and engineering practices.
- Understanding of software quality throughout the software lifecycle.
- Experience using the scientific Python ecosystem.
- Ability to take responsibility for delivering scientific subareas. This involves independently working with scientists to gather and distill requirements.
- Background in or interest in, e.g., physics, chemistry, data science, or other natural sciences.
Of the above, only the first two are hard requirements.
Good to have but not essential:
- Experience with development of open source software in the Python ecosystem; dependency management; packaging; CI/CD and software architecture.
- Understanding of performance characteristics of modern hardware and software; performance optimization; parallelization.
- Experience with instrumentation and experimental work performed at photon or neutron sources or similar.
- Experience writing Jupyter extensions.
What we offer
If you are looking for a challenging and rewarding job in a dynamic and diverse work environment, this is the opportunity for you. You will be part of one of the most innovative, ambitious and cutting-edge “Big Science” projects in the world today. We value your professional and personal growth and offer flexible working arrangements and a work-life balance. You will also enjoy an attractive pension programme.
How to apply and join us
Deadline for applications is 26 April, 2023. Please provide your CV and motivation letter in English by clicking on “apply” and following the instructions. Notice that we can only accept direct applications made via the ESS website. Quote the job reference number ESD-28397 in your application.
This is a full-time, permanent position based in Copenhagen, Denmark, and we need someone who can start as soon as practically possible. Our recruitment process typically comprises of a general Zoom interview, followed by a technical interview (remote), and finally a face-to-face interview where you can meet us and see our office.
For further information regarding the position, please contact the Hiring Manager Torben Roland Nielsen, Acting Group Leader for Data Analysis & Modelling Group, email@example.com
For more information regarding the ESS recruitment process, please follow this link https://europeanspallationsource.se/ess-recruitment-process or contact Recruitment Officer Åsa Ander at firstname.lastname@example.org
We look forward to receiving your application soon!
Please write in your application that you've seen the job at Jobfinder.