DFINITY is hiring a
Web3 Senior Software Engineer - Programming Languages: Garbage Collection and Runtime Systems

Compensation: $80k - $105k *

Location: CA Palo Alto, California, United States

We are looking for an experienced engineer who will participate in the implementation and design 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

  • Ownership of the runtime system for Motoko, including garbage collection and other facilities such as serialization and intrinsics.
  • Work closely with a distributed team of researchers, engineers, and experts in the field of programming languages, blockchain cryptography, and distributed systems
  • 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 (if desired)
  • Community engagement (on forums etc.)

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++, Rust) and virtual machine environments.
  • Ability to justify design decisions with metrics obtained through instrumentation/profiling.
  • Practical experience with development of a sophisticated compiler (e.g. Haskell, OCaml or Rust)
  • Practical experience with virtual machines, LLVM or assembly code.

Bonus Points

  • Practical knowledge and experience of WebAssembly as a platform and compilation target.
  • Solid understanding of formal language semantics, calculi, and their theory.
  • 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.
  • Experience of open source development and build management.
  • 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: $80k - $105k *

Location: CA Palo Alto, California, United States

This job is closed


Benefits: Distributed Team


Receive similar jobs:

Cover Letter / AI Interview