Work In Tech

Find your next role at Canada's fastest-growing tech companies

Senior Programming Language Engineer

Dapper Labs

Dapper Labs

United States · Remote
Posted on Thursday, July 27, 2023
We're looking for a creative Senior Programming Language Engineer to partner in the design and implementation of Cadence, a new smart contract programming language being introduced as part of the Flow blockchain. Cadence is designed around “resource-oriented programming”, a new programming model that pairs linear types with object capabilities to create a secure and declarative model for digital ownership.
You will help shape the future of Cadence and will be involved with all aspects of the language, taking language features from conception to implementation. You will be responsible for understanding the interaction between the language implementation, the on-chain execution environment, and the core protocol, helping with a variety of tools to facilitate development in this exciting new programming language.
A little about us:
Flow is the blockchain for builders. Created by Dapper Labs, the team behind CryptoKitties, Flow will be the foundation for the next generation of decentralized applications with notable partners including Warner Music Group, Ubisoft, and Animoca.
The Flow team is a humble and curious bunch of builders and scientists who share a passion for blockchain technology and the new kinds of software it enables. Our people are our greatest strength: our diverse team flourishes in an environment where personal autonomy and professional growth are encouraged. We value our culture above else; regardless of where you came from or what you studied, your role here will necessitate both a high level of creativity and strategic thinking on complex issues.

A little about you:

  • You have practical experience with the design and implementation of compilers including parsing, semantic analysis, type checking, optimization, and code generation.
  • You have a diverse exposure to different programming languages and programming paradigms.
  • You are capable of applying your skills across a variety of use cases; inflexible specialists need not apply.
  • You understand the power of planning, but you are comfortable improvising and can prioritize the most impactful tasks on the fly.
  • You are adamant about test coverage.
  • You have experience with one or more general purpose programming languages including but not limited to: Go, Rust, C/C++, Swift, Python.

Bonus points if you have the following:

  • Experience with blockchain technologies.
  • Familiar with at least one of the functional programming languages: Haskell, OCaml, Clojure, Lisp, etc.
  • Experience with smart contract languages, e.g. Solidity.
  • Experience working on open-source software projects.