Research Software Engineer (Advanced Python SW Engineer)

The Swiss National Supercomputing Centre (CSCS) develops and operates cutting-edge, high-performance computing (HPC) systems as an essential service facility for science. The centre enables world-class research through its scientific user lab, which is available to domestic and international researchers in academia, industry, and the business sector. The centre is operated by ETH Zurich and has offices in Lugano (headquarter) and Zurich.

Project background

CSCS is leading an effort to develop scientific software and libraries for HPC platforms that will support complex workflows and simplify access to computing resources. To support this, we develop programs that analyse scientific applications and automatically generate efficient codes for different hardware platforms.

To this end, CSCS has open positions at our offices in Lugano and Zurich for a Research Software Engineer (Advanced Python SW Engineer).

 

Job description

The main goal of this position is to develop software tools for the efficient execution of hardware-independent application code onto varied computer architectures. This will result in performance-portable software for parallel multi-core and GPU-accelerated HPC architectures. You will work closely with application developers and domain scientists, as well as computer scientists, in an engaged team of software engineers. The initial range of application domains includes weather and climate simulations

 

Your profile

You have a sound knowledge of computer science, code optimization and its principles, and knowledge or interest in Python as a language for building high-level abstractions.

Experience with the following is preferred, though there will be ample opportunities to learn and gain more experience with all of these skills on the job:

  • Node-level parallelism, multi-threading, or GPU acceleration
  • Compiler optimization techniques
  • Distributed memory applications using MPI
  • Developing for GPUs using CUDA, HIP or Intel OneAPI
  • Test-driven design and other software engineering methodologies

You should have a bachelor’s degree in computer science, mathematics or natural sciences, preferably with a masters, Ph.D., or relevant industry experience.

 

We offer

As an ETH Zürich employee, you will be working in an international environment. We value the diversity of our team and particularly encourage women candidates to apply.

Working, teaching and research at ETH Zurich

 

We value diversity

In line with our values, ETH Zurich encourages an inclusive culture. We promote equality of opportunity, value diversity and nurture a working and learning environment in which the rights and dignity of all our staff and students are respected. Visit our Equal Opportunities and Diversity website to find out how we ensure a fair and open environment that allows everyone to grow and flourish.