Senior Programming Language Engineer, Cadence

About the Role

You will design and implement features for the Cadence smart contract programming language, taking language ideas from conception through implementation. You will work on compiler components such as parsing, semantic analysis, type checking, optimization, and code generation. You will integrate the language implementation with the on-chain execution environment and core protocol and build developer tooling and tests to ensure high coverage. You will apply knowledge of multiple programming paradigms and general purpose languages to solve language and runtime problems and prioritize the most impactful tasks.

Requirements

  • Practical experience designing and implementing compilers including parsing, semantic analysis, type checking, optimization, and code generation
  • Diverse exposure to different programming languages and programming paradigms
  • Experience with one or more general purpose languages such as Go, Rust, C, C++, Swift, or Python
  • Strong emphasis on test coverage and testing practices
  • Comfortable prioritizing tasks and adapting plans as needed
  • Bonus: experience with blockchain technologies
  • Bonus: familiarity with functional languages (Haskell, OCaml, Clojure, Lisp)
  • Bonus: experience with smart contract languages such as Solidity
  • Bonus: experience contributing to open-source projects

Responsibilities

  • Design and implement Cadence language features
  • Implement compiler components including parsing, semantic analysis, type checking, optimization, and code generation
  • Integrate the language implementation with the on-chain execution environment and core protocol
  • Develop developer tooling to facilitate Cadence development
  • Write and maintain comprehensive tests to ensure high test coverage

Skills

Apply Now