At a Glance
- Tasks: Join a dynamic team to develop software for meteorological data encoding and decoding.
- Company: ECMWF, a leader in weather predictions and environmental monitoring.
- Benefits: Flexible hybrid working model, competitive salary, and opportunities for professional growth.
- Other info: Collaborate internationally and contribute to open-source projects in a diverse environment.
- Why this job: Make a real-world impact on climate science with cutting-edge technology.
- Qualifications: Degree in computer science or related field; programming skills in C, C++, Python, or Rust.
The predicted salary is between 70000 - 90000 £ per year.
Your role at ECMWF is to contribute to the development, maintenance and evolution of our core data encoding and decoding capabilities. You will be part of a dynamic team of scientific software engineers who contribute to key activities at ECMWF. In this role, you will focus on software, algorithms and workflows for handling meteorological, climate and geoscientific data formats. There will be a strong emphasis on the WMO formats GRIB and BUFR, as well as other widely used scientific formats such as NetCDF.
This work will include leading the development of key ECMWF libraries and tools, notably the open-source package ecCodes, and contributing to software packages that handle meteorological data. You will help ensure that ECMWF and its Member and Co-operating States continue to benefit from robust, efficient and sustainable software for handling operational and research data across a range of meteorological and environmental workflows. You will contribute to both the reliability of production-quality software and the longer-term evolution of ECMWF’s data-handling capabilities, helping to meet the needs of internal users, external partners, and the wider meteorological community.
You will work closely with colleagues across software engineering, data governance and scientific development teams, and also with technical representatives of other organisations such as our Member States’ meteorological services. The role sits in the Foundational Software Services team in the Development Section in the Forecasts and Services Department. The team is responsible for fundamental software packages developed at ECMWF that handle data encoding, decoding, processing, and visualisation. These open-source packages are available both within and outside ECMWF and provide the foundation for numerous research and production pipelines.
Your responsibilities include:
- Developing, maintaining and enhancing ECMWF software libraries and tools for encoding and decoding meteorological and environmental data.
- Supporting and improving workflows involving relevant data formats with attention to correctness, performance and usability.
- Working with scientists, analysts and software developers from ECMWF and its Member States to understand requirements and translate them into robust technical solutions.
- Using and contributing to software engineering best practices, including version control, code review, automated testing, continuous integration and release processes.
- Preparing technical documentation and guidance for users and developers.
- Investigating and resolving relevant issues reported by users and collaborators.
- Contributing to community engagement, user support and collaboration with external partners and standards bodies.
About ECMWF: The European Centre for Medium-Range Weather Forecasts (ECMWF) is a world leader in Numerical Weather Predictions providing high-quality data for weather forecasts and environmental monitoring. As an intergovernmental organisation, we collaborate internationally to serve our members and the wider community with global weather predictions, data and training activities that are critical to contribute to safe and thriving societies.
What we are looking for:
- Excellent analytical and problem-solving skills with a proactive, continuous improvement approach.
- Ability to analyse complex technical problems and deliver reliable, maintainable solutions.
- Ability to work effectively both independently and as part of an international, multidisciplinary team.
- Ability to explain complex technical concepts to users and collaborators.
- Passion for delivering technical solutions that have a real-world impact.
- Dedication, passion, and enthusiasm to succeed both individually and across teams of developers.
- Highly organised with the capacity to work on a diverse range of tasks to tight deadlines.
Your profile: Candidates should have an advanced university degree (EQ7 level or above) or equivalent experience in computer science or engineering, computational science, physics or natural sciences, mathematics, or a related discipline.
Required or highly desirable experience and skills include:
- Proven experience in developing and maintaining scientific or technical software in a collaborative environment.
- Strong programming skills in one or more relevant languages such as C, C++, Python or Rust.
- Experience with software engineering practices such as testing, debugging, version control and continuous integration.
- Knowledge of data encoding/decoding concepts, metadata models, schemas, validation and data conversion workflows.
- Experience working with structured scientific or technical data formats and metadata, especially WMO formats such as GRIB and BUFR.
- Knowledge of NetCDF would be an advantage.
- Experience of working with developers and users to gather feedback and plan developments.
- Experience of working and scripting in UNIX environments.
Desirable experience and skills include:
- Knowledge of software lifecycle maintenance.
- Familiarity with performance, memory and scalability considerations in data-processing software.
- Experience in developing cross-platform libraries, command-line tools or APIs for technical users.
- Experience in contributing to large-scale software projects, preferably open-source and/or involving multiple software components.
- Experience with ECMWF or comparable software libraries and tools for working with scientific or meteorological data, such as ecCodes.
- Familiarity with data compression algorithms.
- Experience supporting users through documentation, issue triage, training or technical guidance.
- Ability to work effectively with legacy code while contributing to modernisation and long-term maintainability.
You are very welcome to apply even if you don't feel you precisely meet all the requirements listed above but think your profile and experience would make you a great fit for this role.
Other information: Grade remuneration: The successful candidates will be recruited according to the scales of the Co-ordinated Organisations. Details of salary scales and allowances are available on the ECMWF website. Starting date: as soon as possible. Candidates are expected to relocate to the duty station, either Bonn, Germany, or Reading, UK. As a multi-site organisation, ECMWF has adopted a hybrid organisation model which allows flexibility to staff to mix office working and teleworking, including away from the duty station (within the area of our member states and co-operating states).
Who can apply: At ECMWF, we consider an inclusive environment as key for our success. We are dedicated to ensuring a workplace that embraces diversity and provides equal opportunities for all, without distinction as to race, gender, age, marital status, social status, disability, sexual orientation, religion, personality, ethnicity and culture.
Research Software Engineer - Scientific Data Encoding and Decoding in Reading employer: ECMWF
ECMWF is an exceptional employer, offering a dynamic work environment that fosters collaboration and innovation in the field of climate science. With a strong commitment to employee growth, ECMWF provides opportunities for professional development through engaging projects and international networking, all while promoting a culture of inclusivity and respect. Located in a vibrant European setting, employees benefit from a hybrid working model that supports work-life balance, making it an ideal place for those passionate about making a meaningful impact in atmospheric monitoring.