Magnet.me  -  Het slimme netwerk waar studenten en professionals hun stage of baan vinden.

Het slimme netwerk waar studenten en professionals hun stage of baan vinden.

PhD Position in Programming Semantics and Category Theory

Geplaatst 7 mrt. 2025
Delen:
Werkervaring
1 tot 10 jaar
Full-time / part-time
Full-time
Functie
Salaris
€ 2.901 - € 3.707 per maand
Soort opleiding
Taalvereisten
Engels (Vloeiend)
Nederlands (Vloeiend)
Deadline
21 mrt. 2025 00:00

Je carrière begint op Magnet.me

Maak een profiel aan en ontvang slimme aanbevelingen op basis van je gelikete vacatures.

We are looking for junior researchers who want to jump-start their careers as PhD candidates in Differential and Probabilistic Programming as a part of the ERC project FoRECAST. In this project, you work both independently and in collaboration with a diverse team. You will conduct research on the aspects of FORECAST relating to Programming Language Semantics. This is a unique opportunity to contribute to the foundations for tomorrow’s machine learning.

Your job

The FoRECAST project aims to develop theory (e.g., categorical semantics and denotational correctness proofs as well as new probabilistic and differential inference algorithms) and systems (e.g., high performance, functional array programming DSLs) to tackle challenging probabilistic and differentiable programming applications (e.g., experimental design, machine learning for science). It will do so by bringing together a diverse team of PhD candidates with a primary focus in three different areas:

  • programming language semantics and foundations;
  • programming language implementation for high performance computing;
  • probabilistic and differentiable algorithms for machine learning.

Your research in one of these three areas should result in successfully obtaining a PhD degree during the appointment.

In one of these positions, your research will develop the foundations and push the boundaries of the field of differential and probabilistic programming. This exciting new field of research combines knowledge from the machine learning, programming languages, scientific computing, and statistical physics communities. Your project could involve

  • developing new differential and probabilistic programming techniques (e.g., techniques for differentiating effectful programs such as gradient estimation of probabilistic programs, implicit function differentiation, compositional Bayesian inference techniques);
  • giving mathematical proofs of their correctness (e.g., by using categorical semantics) and efficiency;
  • building state-of-the-art implementations of these new techniques (e.g., by leveraging data-parallel functional array programming techniques);
  • applying them to solve real-world problems (e.g., gradient estimation challenges in experimental design and reinforcement learning).

The precise focus of the position will depend on your particular interests and strengths.

You will primarily be supervised by Matthijs Vákár with secondary supervisors that we choose to match your interests and strengths. Beyond membership of the FORECAST team, you will also be a member of the wider Software Technology group led by Gabriele Keller. As our research group contains core members of the popular Accelerate and Stan DSLs for machine learning and scientific computing, newly developed techniques could quickly have a large impact and reach a large audience of end users. Beyond Utrecht University, we anticipate collaborating with colleagues from the Center for Computational Mathematics at the Flatiron Institute in New York, the Department of Computer Science at the University of Oxford, the Amsterdam Machine Learning Lab, and the XLA and JAX teams at Google.In a small part of your time, you will contribute to teaching activities within the Department of Information and Computing Sciences. The precise teaching roles depend on the departmental needs and your background and interests. It might include helping with courses such as Functional Programming, Concurrency, Concepts of Programming Language Design, Languages and Compilers, Logic, Probabilistic Reasoning, Machine Learning, or other courses in our BSc and MSc programmes. Teaching activities may include conducting tutorials, supervising student projects and theses, and participating in public outreach. These activities will be designed to help you develop your didactic skills and be well prepared for a longer-term career in academia, should you choose to pursue one.

Your qualities

We are looking for a driven new colleague who meets several or all of the following criteria:

  • holds a Master’s degree with research experience in a relevant discipline like Computer Science, Mathematics, Statistics, or Physics;
  • has a strong interest in research and is motivated to explore the areas of differential and probabilistic programming and mathematical aspects of computer science, more generally;
  • has enthusiasm for, and ideally experience with, one of the following three areas of research: programming languages foundations and/or category theory, implementation of programming languages and systems for high performance computing, algorithm development for statistical computing and machine learning;
  • has strong English communication skills, both in speaking and writing;
  • has the ability and desire for a mixture of collaborative work in a diverse team and focussed independent work.

More than anything, we are looking for candidates who have enthusiasm for science and will take the initiative to develop their own research interests within the scope of this ERC project.

Our offer

  • A position for 18 months, with an extension to the full four years after positive evaluation;
  • a working week of 38 hours and a gross monthly salary between €2,901 and €3,707 (salary scale P under the Collective Labour Agreement for Dutch Universities (CAO NU));
  • 8% holiday pay and 8.3% year-end bonus;
  • a pension scheme, partially paid parental leave and flexible terms of employment based on the CAO NU.

We work on a better future. In order to do that, we join forces with academics, students, alumni, social partners, the government and the corporate world. Together, we look for sustainable solutions to the big challenges of today and tomorrow.

Educatie
Utrecht
7.000 medewerkers