LLVM Compiler Engineer

  • Matter Labs
  • Jun 13, 2022

Job Description

At Matter Labs, we are building zkSync: a blockchain scaling solution secured purely by cutting-edge cryptography. Our mission is to scale Ethereum to billions of users, fully preserving its most valuable properties — permissionlessness, trustlessness, and resilience, — in order to protect and enhance global economic freedom.

We hold a strong opinion that zero-knowledge proofs (ZKP) are the only technology today that can achieve this goal.

We are also proud to be the pioneer of the ZKP tech on Ethereum, and one of the few companies in the world with strong expertise in this field. Our contributions over the last 3 years include the first ZK rollup ever built, the first implementation of recursive ZK proofs on Ethereum, and the world’s first practical FPGA-based ZKP accelerator. Most recently, we launched a zkEVM testnet, making zkSync the first ZK rollup capable of executing native Ethereum smart contracts.

Across all hires we make at Matter Labs, regardless of role or team, we look for signals that a candidate will thrive in a culture like ours, where we value freedom, ownership mindset, and meritocracy.

The Role

Nowadays typical compilers for smart contracts are usually written from scratch. That means reinventing the wheels, poor optimization pipeline, lack of tools, etc. We aim to resolve that issue and deliver product-quality toolchains and a better development experience to our customers. That’s why we use LLVM, follow LLVM development practices, and upstream our fixes. In particular, we generally strongly prefer to reuse well-written and decently tested code.

You will be responsible for implementing our LLVM-based compilers from Solidity, Vyper, Zinc, and other languages to our zkEVM. We are working primarily with C++ (the LLVM part) and Rust (the front-end part). 

We expect you to independently conduct research in your area of ownership, design, implement and document solutions.

Responsibilities

  • zkEVM back-end migration to the latest version of the ISA
  • Back-end optimizations. Better selection patterns, better ISA utilization, and peephole passes
  • Optimizer tuning. zkEVM is different from a typical LLVM target, so passes like instruction combiner needs to be configured, and the pipeline itself needs to be tweaked
  • Front-end optimizations. Our front-ends currently produce correct IR, but it lacks attributes and metadata that would make analyses and transformations more efficient
  • The debug info and debugger support
  • The profiler support
  • Binary format development and linker integration. We currently use a custom linker written in Rust and want to migrate to LLVM one day

Your Profile

  • You are driven by passion, curiosity, and desire to make a meaningful contribution to the world
  • Experience with compiler/toolchain development using LLVM framework
  • Fluency in C++, at least 3+ years of experience in your background
  • Good understanding of computer architecture and ability to work with machine-level representation of a program
  • Deep understanding of software engineering best-practices
  • Ownership mindset and a track record of successfully accomplished projects
  • Good oral and written English
  • Lastly, it is critical that you have knowledge of common algorithms, data structures, and their computational and memory complexities, as well as experience of implementing them from scratch


Working at Matter Labs

You will receive highly competitive compensation and equity options. The roles are fully remote, but you are welcome to sit in one of our offices, or a co-working space of your choice. We operate in small, focused teams, with no time tracking and minimum bureaucracy. Only results matter. We will provide you with anything you need to learn, grow, and be more productive.

Working at Matter Labs it’s critically important that our goals and values (freedom, ownership mindset, and meritocracy) align. Building a potentially globally transformative product, we value diversity of thought, and believe that diversity of thought comes from diversity of backgrounds. We welcome applicants from across the spectrum of all: race, gender, ethnicity, culture, sexual orientation, age, religion, spirituality, identity and experience.

Apply now if this role sounds of interest and we aim to let you know next steps in your applications as soon as possible.