About the company
Scaling Ethereum with Zero Knowledge Proofs.
Job Summary
What You'll Be Doing
📍 back-end migration to the latest version of the ISA 📍Back-end optimizations - better selection patterns, better ISA utilization, peephole passes, etc. 📍Optimizer tuning - zkSync EraVM is different from a typical LLVM target, so passes like instruction combiner need to be configured, and the pipeline itself has to be tuned 📍Front-end optimizations - our front-ends currently produce correct IR, but it lacks attributes and metadata that would make analyses and transformations more efficient 📍Debug information and debugger support 📍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
What We Look For in You
📍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 📍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 📍Fluent written and spoken English 📍Knowledge of common algorithms, data structures, and their computational and memory complexities is critical, as well as experience of implementing them from scratch