Scientific Software Engineer (AI-based Weather Forecasting)

ETH Zürich
Zürich, Switzerland
4 days ago

Role details

Contract type
Temporary contract
Employment type
Part-time / full-time
Working hours
Regular working hours
Languages
English
Compensation
CHF 208K

Job location

Zürich, Switzerland

Tech stack

Artificial Intelligence
Artificial Neural Networks
DevOps
Distributed Systems
Python
Machine Learning
Software Engineering
Software Systems
Data Processing
Deep Learning
Information Technology

Job description

  • Join the post-processing and verification team at MeteoSwiss as a Scientific Programmer / Software Developer
  • Contribute to the implementation of a state-of-the-art, ML-based forecasting system
  • Focus on data processing pipelines, post-processing, and verification workflows
  • Collaborate closely with scientists, ML researchers, and operational teams
  • Ensure forecast outputs meet the needs of diverse users
  • Support reliable integration of forecast products into production environments
  • Design and implement new forecasting products
  • Develop scalable, maintainable processing pipelines
  • Contribute to the evolution and long-term sustainability of the system
  • Tackle complex problems and collaborate across disciplines
  • Contribute across multiple stages of the workflow as the system matures

Requirements

Do you have experience in Software development?, Do you have a Master's degree?, In recent years, AI-based weather forecasting models have demonstrated impressive speed and skill. However, most existing systems operate at relatively coarse spatial resolutions, limiting their usefulness in regions with complex terrain. Switzerland's topography and the demand for precise, frequently updated forecasts require models that operate at very high resolution and integrate seamlessly into operational forecasting workflows., * MSc or PhD in natural sciences (e.g. physics, meteorology), data science, computer science or a related field

  • Experience in scientific software development
  • Solid understanding of numerical weather prediction and meteorological applications
  • Experience with, or strong interest in, machine learning, ranging from classical methods (e.g. random forests) to modern deep learning approaches (e.g. graph neural networks, transformers)
  • Strong Python skills; experience with Xarray and Earthkit is an advantage
  • Experience with parallel or distributed computing is a plus
  • Familiarity with large-scale or production-level software systems
  • Interest in DevOps practices and sustainable software engineering
  • Willingness to contribute across the full workflow, from development to maintenance and operations
  • A collaborative mindset, with the ability to take ownership of tasks and communicate effectively within a team
  • Motivation to work in a diverse, interdisciplinary, and international environment

Benefits & conditions

  • A unique opportunity to help shape the next generation of AI-based weather forecasting
  • Direct involvement in bringing cutting-edge ML research into operational use
  • Work on production-grade systems at the scale of a national meteorological service
  • A position at the interface of research and operations, bridging academic innovation and real-world forecasting
  • Collaboration with international research groups and European weather centers
  • Use of modern scientific and ML software stacks, including Python, PyTorch, Xarray, and container technologies
  • A supportive, motivated, and interdisciplinary team within a mission-driven public service organization
  • The opportunity to combine scientific impact, societal relevance, and modern software engineering

About the company

In collaboration with Center for Climate Systems Modeling (C2SM) at ETH Zurich and various European weather centers, MeteoSwiss is leading an initiative to develop and deploy a next-generation, high-resolution AI-based weather forecasting system.

Apply for this position