LLVM Compiler Engineer at Matter Labs
CEE - Remote
Applications are now closed
Get more jobs like this straight to your inbox
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) is 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.
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 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.
As a part of our team you might be involved in the following activities (listed according to our current priorities):
- zkEVM back-end migration to the latest version of the ISA.
- Back-end optimizations. Better selection patterns, better ISA utilization, peephole passes.
- Optimizer tuning. zkEVM is different from a typical LLVM target, so passes like instruction combiner need 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 custom linker written in Rust and want to migrate to LLVM one day.
- 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
You will work on a deeply mission-driven project, making a significant contribution to the greater economic and political freedom globally. All of our code is open source.
We are a fast growing startup in the world’s fastest growing industry. We offer highly competitive cash and equity compensation.
We respect every team member as an individual. We encourage healthy work/life balance without excessive overtime. We will provide you with anything we can to help you grow professionally, be productive and happy.
We are a remote-first, results-only organisation. Most of the team is based in Europe, and we currently only consider candidates located between EST (UTC-5) and ICT (UTC+7). You are expected to adjust your schedule, work and communication methods to such an environment.
zkSync is a ZK rollup, a Layer-2 scaling solution that preserves the security properties of the underlying blockchain by leveraging the latest generation of succinct zero-knowledge proofs.
About Matter Labs
Matter Labs is the pioneer of zero-knowledge proof tech on Ethereum. The company has launched the first-ever public ZK rollup prototype in early 2019, was the first to implement recursive ZK proofs on Ethereum, and created the world’s first practical FPGA-based hardware for ZKP acceleration in 2020. Matter Labs recently launched a zkEVM testnet, making zkSync the first ZK rollup capable of executing native Ethereum smart contracts.
Matter Labs’ team is rooted in the belief that cryptography and blockchain are essential technologies for protecting and fostering freedom globally. They enable mutually distrusting counterparts to collaborate without relying on authorities or third parties. Blockchains enabled by zero-knowledge proofs promise a fairer and more efficient global digital economy.
- Project homepage: https://zksync.io
- Our mission, values, and culture
- How and why we work on zkSync: Matter Labs Team Handbook
- Matter Labs Engineering Handbook
- About zero-knowledge proofs: https://github.com/matter-labs/awesome-zero-knowledge-proofs
Applications are now closed