Search...

Senior Programming Language Engineer, Cadence

Flow logo
Flow

Flow is a blockchain platform designed for building the next generation of apps, games, and the digital assets that power them. It provides a scalable, decentralized, and developer-friendly environment with low transaction fees. The Flow Foundation offers grants to support developers and teams building on the ecosystem, focusing on DeFi, innovation, and public goods.

Distributed
50 Employees
About Flow

Flow is a decentralized blockchain platform designed for building consumer-facing Web3 applications, games, and digital assets. It offers a scalable, reliable, and sustainable infrastructure with low transaction fees, aiming to provide a platform without platform risk. For developers, Flow supports both the Cadence smart contract language and Solidity via Flow EVM, ensuring seamless composability and interoperability. The platform provides a comprehensive suite of tools, including the Flow Emulator, CLI, and various SDKs. The Flow ecosystem is actively fostered through the Flow Foundation, which provides grant programs, builder perks, startup support, and connections to venture capital to encourage innovation and growth in areas like DeFi and public goods.

View jobs by Flow

Skills

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