Functional Compiler Engineer

Role Overview

Apply Now

About Heliax

The primary project of Heliax is the Anoma protocol (implemented in Rust). Anoma is a sovereign, proof-of-stake blockchain protocol that enables private, asset-agnostic cash and private bartering among any number of parties. In addition to Anoma, Heliax works on open-source projects which are part of the Anoma ecosystem, including but not limited to research in cryptographic libraries such as the MASP or Ferveo (written in Rust), and tools for high assurance validity predicates and arbitrary zero-knowledge circuits (Juvix, written in Haskell).

Heliax is a remote-first team, currently composed of cross-disciplinary members located around the world. All of our work is open-source. Our work culture is characterized by open-allocation, where team members have a high degree of freedom and autonomy in choosing when to work, what to work on, and whom to work with.

Overview

Smart contracts are not secure enough for finance, law, or systems engineering.

Heliax is working on a dependently-typed smart contract language, Juvix, which utilises recent advancements in type theory to allow developers to write code in a high-level functional language, compile it to gas-efficient output VM instructions, and formally verify the safety of their contracts prior to deployment & execution.

PLT at Heliax focuses on applying the latest research in type theory and programming language design to concrete problems in the distributed ledger space. We are looking for a functional compiler engineer to work on various parts of the Juvix stack, all the way from optimising inlining heuristics in the core compiler passes to using Juvix’s granular linearity information in order to write an efficient LLVM compilation backend.

This role offers the chance to work closely with a small team on compelling cross-disciplinary problems in computer science, PLT, cryptography, and economics, and enjoy a high degree of independence in working conditions and prioritisation.

Responsibilities

  • Produce formal specifications and implementation plans for new language features in collaboration with team members (and optionally submit to academic venues)
  • Evaluate correctness, suitability, and ease-of-implementation of published PLT and compiler engineering research for the Juvix architecture & project aims
  • Implement both in-house and published research in Haskell in the Juvix codebase in collaboration with team members
  • Conduct code reviews and help maintain a high standard of correctness and quality
  • Conduct benchmarks of Juvix output code and adjust both the compiler architecture and details of specific passes to optimise its performance while retaining correctness
  • Comprehensively document both design and implementation choices in the codebase, and assist in writing user-facing documentation for the Juvix language

Primary Project

Qualifications

  • Prior experience in functional programming in Haskell, Idris, Agda, or Coq
  • Prior experience in compiler engineering, especially for a functional language
  • Self-motivated & self-organised
  • Interested in open-source technology and research applied to DLT

Bonus Qualifications

  • Prior academic work in type theory, PLT, or compiler design
  • Prior academic work in cryptography, economics, or game theory

Misc

Remote or local (Zürich/Zug, Berlin). When remote, preferred if mostly located within (+/- 7 hours) Central European time zones. Ideally someone who enjoys nature and hiking 🏔️.