Software Engineer - Programming Languages [135’000 - 145’000 CHF]
Updated: 20 Jan 2022
Salary 135’000 - 145’000 CHF per year
Requirements:- > At least 3 years experience building robust, well-tested, production-ready garbage collectors and other memory management components.
> At least 3 years of relevant academic or equivalent experience in programming language theory, type systems, and compiler construction
> At least 3 years of experience in programming with typed functional languages and low-level systems programming languages (C, C++ and especially Rust) and virtual machine environments
> Ability to justify design decisions with metrics obtained through instrumentation/profiling.
> Practical kledge and experience of WebAssembly as a platform and compilation target.
> Practical experience with development of a sophisticated compiler (e.g. Haskell, OCaml or Rust)
> Solid understanding of formal language semantics, calculi, and their theory
> Solid understanding of programming language implementation techniques, including efficient runtime support.
> Working understanding of advanced type systems, ideally including dependent type theories, linear types, or the use of theorem provers
> Ability to work autonomously as part of a distributed team
Responsibilities:- > Work closely with a distributed team of researchers, engineers, and experts in the field of programming languages, blockchain cryptography, and distributed systems
> Participate in the design, formalization, and optimization of new domain-specific programming languages, type systems, and programming models
> Contribute to the implementation of the compilers, runtime systems, VMs, and other tooling for Motoko
> Contribute to documentation, test suites, and tools supporting Motoko
> Participate in scientific publications and engage in conferences in related subject fields
More: The Internet Computer is the fastest and only infinitely scalable general-purpose blockchain — incubated and launched by the DFINITY Foundation in May 2021. A team of over 200 world-rened cryptographers, distributed systems engineers, and programming language experts have taken on the massive technological challenge of building, maintaining, and continuously improving a ‘world computer’ powerful enough to host Web3 dapps, DeFi, games, NFTs, social media, and metaverse projects.
DFINITY was founded in 2016 by entrepreneur and crypto theoretician, Dominic Williams, and attracted interest and financial contributions from early members of the Ethereum community. Later, top-tier institutions such as Andreessen Horowitz, Polychain Capital, and SV Angel backed the Internet Computer in a collective effort to help build out Web3.
We are looking for an engineer who will participate in the implementation design and formalization of Motoko, a general purpose programming language designed for the Internet Computer. The domain of interest is distributed computing and 'smart contracts' running on a blockchain-based computing platform. We are designing and implementing a low-level distributed programming model for this platform with WebAssembly as its code format as well as high-level languages such as Motoko compiling to it. Both need to be scalable, productive, and reliable for potentially hundreds of thousands of third-party clients of the platform.
You enjoy working closely in a distributed team with other researchers and engineers in the areas of programming languages, distributed computing, cryptography, and other related fields. You not only have a strong interest in the design and implementation of programming languages but are also capable of developing and formalising their semantics. You enjoy reading up on the latest research papers from academia and getting hands-on with the practical implementation of new ideas. You have a passion for functional programming and advanced type systems but can pick the right tool for the job.
Stockerstrasse 47, Zürich