Senior Programming Language Engineer, Cadence
Remote, USA Remote, Canada
Engineering /
Full-time /
On-site
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 a layer one blockchain designed from the ground up as a platform for a new generation of Web3 apps, games, and the digital assets that power them. Flow is home today to millions of users and apps from top tier creators including Dapper Labs (NBA, NFL, Disney) as well as industry leaders such as Mattel (Barbie, Hot Wheels), LiveNation / Ticketmaster, and many more.
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.
Flow is a remote-first team of seasoned technologists dedicated to our mission of mainstream Web3 adoption. Founded in Vancouver, Canada, Flow’s team is now spread primarily across the US and Canada – with small presences in Europe, Asia, and the Middle East.
At Flow Foundation, we prioritize recruiting top talent and cultivating an empowering environment for our team. This entails fostering a workplace that is characterized by diversity, inclusivity, and open-mindedness. We enthusiastically welcome applicants from all walks of life, regardless of race, color, religion, sexual orientation, gender identity, national origin, or disability.