Job Position | Company | Posted | Location | Salary | Tags |
---|---|---|---|---|---|
Aztec | remote | $72k - $112k | |||
Matter Labs | EU | $72k - $100k | |||
Aztec | London, United Kingdom | $54k - $75k | |||
Solana Labs | Chicago, IL, United States | $67k - $100k | |||
Learn job-ready web3 skills on your schedule with 1-on-1 support & get a job, or your money back. | | by Metana Bootcamp Info | |||
Status | London, United Kingdom | $27k - $67k | |||
Fuel Labs | Remote | $72k - $110k | |||
Parity Technologies | Berlin, Germany | $63k - $73k | |||
Zilliqa | remote | $72k - $100k | |||
Fuel Labs | Remote | $36k - $75k | |||
Harmony | Remote | $54k - $80k |
This job is closed
The Role:
- 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.
Responsibilities:
- 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.
Qualifications: (Example)
- 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
Nice-to-have:
- 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
What is compiler job?
The job of a compiler engineer involves designing, implementing, and maintaining compiler software
This may include adding new features and optimizations, fixing bugs, and collaborating with other team members to integrate the compiler with other software tools and systems
A compiler engineer is a software engineer who specializes in the development of compilers
A compiler is a program that translates source code written in a high-level programming language into machine code that can be executed by a computer
Compiler engineers typically work on a wide range of tasks, including low-level optimization, code generation, and program analysis
They may also be involved in developing compilers for new programming languages or architectures
Strong problem-solving and analytical skills, as well as a deep understanding of computer science and programming principles, are important for success in this role
The responsibilities of a compiler engineer may include:
- Designing and implementing new compiler features and optimizations.
- Maintaining and improving existing compiler codebase.
- Debugging and fixing compiler issues and bugs.
- Collaborating with other team members to integrate the compiler with other software tools and systems.
- Writing and maintaining documentation for the compiler.
- Performing code reviews and providing feedback to other team members.
- Conducting research on new compiler technologies and techniques.
What is compiler job?
The job of a compiler engineer involves designing, implementing, and maintaining compiler software
This may include adding new features and optimizations, fixing bugs, and collaborating with other team members to integrate the compiler with other software tools and systems
A compiler engineer is a software engineer who specializes in the development of compilers
A compiler is a program that translates source code written in a high-level programming language into machine code that can be executed by a computer
Compiler engineers typically work on a wide range of tasks, including low-level optimization, code generation, and program analysis
They may also be involved in developing compilers for new programming languages or architectures
Strong problem-solving and analytical skills, as well as a deep understanding of computer science and programming principles, are important for success in this role
The responsibilities of a compiler engineer may include:
- Designing and implementing new compiler features and optimizations.
- Maintaining and improving existing compiler codebase.
- Debugging and fixing compiler issues and bugs.
- Collaborating with other team members to integrate the compiler with other software tools and systems.
- Writing and maintaining documentation for the compiler.
- Performing code reviews and providing feedback to other team members.
- Conducting research on new compiler technologies and techniques.