DFINITY is hiring a Web3 Software Engineer - Programming Languages
Compensation: $63k - $90k estimated
Location: ZH Zurich, Zürich, Switzerland
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.
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
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 knowledge 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
- Experience in writing scientific papers and giving presentations a plus
- Experience of open source development and build management a plus
- Ability to work autonomously as part of a distributed team
All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.
Apply Now:
This job is closed
Compensation: $63k - $90k estimated
Location: ZH Zurich, Zürich, Switzerland
This job is closed
Benefits: Distributed Team
Receive similar jobs: