Software Engineer (Noir Compiler)
Remote · London, UK
Posted on Friday, June 30, 2023
- Be comfortable with SSA terminology
- Be familiar enough with CraneLift and possibly LLVM to discuss the advantages and dis-adavantages of both approaches
- Have previous experience converting an AST to a SSA IR, preferably using CraneLift as the Noir middle-end is designed after CraneLift
- Be comfortable implementing and owning optimizations
- Have experience with Rust and writing open source Rust cod
Noir is an integral part of the Aztec vision as it is the language that will power the ecosystem.
- Short term; this role will involve fleshing out the SSA generation and optimization passes
- Long term; This role will involve modifying the SSA IR and constraint generation to accommodate Noir smart contracts. This work may involve diving into what is conventionally referred to as the frontend where type generation and program resolution is completed. Enough knowledge to modify this section of the code will be needed but this role will not be responsible for ownership of it.
- 1-3 years of Rust experience
- Have a strong knowledge of compilers (in particular SSA generation)
- Have a firm understanding of how constraints are generated from high level constructs such as arrays, inequalities and integer addition.
- Familiarity with Noir, its purpose and other languages that have similar goals.
- C++ and typescript experience a bonus
- Worked on IDE tools such as a syntax highlighter and language server.
- Developed a toy compiler, preferable a compiler and not an interpreter
- Familiarity with current blockchain tooling and developer experience
- Knowledge of Circom/Zokrates and ZkEVM
- A love for beautiful abstractions while being pragmatic