Compiler Jobs in Web3

40 jobs found

web3.career is now part of the Bondex Logo Bondex Ecosystem

Receive emails of Compiler Jobs in Web3

Software Engineer Noir Compiler

Aztec
$72k - $112k estimated

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:

  1. Designing and implementing new compiler features and optimizations.
  2. Maintaining and improving existing compiler codebase.
  3. Debugging and fixing compiler issues and bugs.
  4. Collaborating with other team members to integrate the compiler with other software tools and systems.
  5. Writing and maintaining documentation for the compiler.
  6. Performing code reviews and providing feedback to other team members.
  7. 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:

  1. Designing and implementing new compiler features and optimizations.
  2. Maintaining and improving existing compiler codebase.
  3. Debugging and fixing compiler issues and bugs.
  4. Collaborating with other team members to integrate the compiler with other software tools and systems.
  5. Writing and maintaining documentation for the compiler.
  6. Performing code reviews and providing feedback to other team members.
  7. Conducting research on new compiler technologies and techniques.