Hiring is done on a rolling basis. Specific openings will be posted here, but general inquiries are also welcome. Read carefully the instructions before applying: we like to give proper consideration to each serious candidature, but in order to do so we need to quickly sift through the many mass-applications that we receive and that have no connection with individual projects or the general research program of the laboratory.

Please consider that in order to perform a preliminary screening, all the inquiries that do not follow these guidelines might be silently ignored.


Scientific Machine Learning Software Engineer

TLDR: In the context of the NCCR MARVEL we are looking to hire a Scientific Machine Learning Software Engineer, to support the software development efforts for application of ML techniques to the field of atomic-scale modeling, that involve multiple laboratories within the Center. The position will be based at EPFL, with a 1+1-year full-time contract with potential for a permanent position. Applicants are invited to send a one-page cover letter, a full CV including publication list, and contact information of two references to [email protected], using “HIRING MARVEL” as subject line. Evaluation of candidates will start immediately, and continue until the position is filled.


The National Center of Competence in Research MARVEL (, head-quartered at EPFL, is a centre funded by the Swiss National Science Foundation to develop and apply cutting-edge modeling techniques to accelerate the computational design and discovery of novel materials. The NCCR supports in particular infrastructural efforts aimed at providing long-lasting impact on the Swiss and international research landscape in its field.

Machine-learning for atomistic modeling

One of the thrust of the NCCR MARVEL involves the development of software tools to perform accurate and efficient simulations of the microscopic properties of materials based on machine-learning techniques. This effort is led by the groups of Profs. Ceriotti ( and Prof. Corminboeuf ( at EPFL, but underlies many of the research lines of the NCCR. In line with the long-term goals of the project, it is essential that these tools are well-documented, have established CI/CD pipelines, have a clear architectural design, and follow good software engineering practices. In order to support this broad effort, we advertise a position for a Scientific Machine Learning Software Engineer at EPFL.

Job description

The main goal of this position is to contribute to the development, deployment and maintenance of a scientific software stack for atomic-scale machine-learning. Some of the current software projects are collected in the m-stack organization (, and include tools to evaluate geometric descriptors, construct shallow and deep-learning models, analyze and visualize results and datasets. Contributions will include both participating in the implementation of new scientific features, and coordinating packaging, documentation and continuous integration of the different modules. Usability, robustness and efficiency, on both multi-core and GPU-accelerated HPC architectures, will be key goals in the development effort. You will work closely with application developers and domain scientists, as well as computer scientists.

Your profile

You have a sound knowledge of computer science, code optimization and its principles, and an understanding of the application domain, i.e. atomic-scale simulations in chemistry, condensed-matter physics and/or materials science. The software stack is Python-centric, but also includes components in compiled languages (e.g. C, C++, Rust), as well as utilities that rely on web components written in javascript/typescript. 

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:

  • Machine-learning developments in Pytorch 
  • Collaborative software development, including e.g. git, continuous integration, and documentation using Doxygen/Sphinx
  • Node-level parallelism, multi-threading, or GPU acceleration
  • Developing for GPUs using CUDA

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

Your workplace

As an EPFL employee, you will be working in an international environment. We value the diversity of our team and particularly encourage women candidates to apply. In line with our values, EPFL 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.