About this role
Falcon is the optimizing just in time (JIT) compiler in Azul Platform Prime. It compiles hot Java bytecode into highly optimized machine code and delivers Java performance that standard JVMs do not reach. Falcon is built on LLVM.
We are looking for a Staff Compiler Performance Engineer to set the technical direction for Falcon performance. This is not a compiler front end role and not a compiler built from scratch: Falcon is mature and runs in production at large enterprises. You will decide where the next significant performance gains come from, lead the design of the optimizations that deliver them, and make sure the compiler architecture supports the product roadmap.
You will be the senior technical voice on a distributed team of compiler experts and a key partner for runtime, GC and product teams.
What You Will Do (aka Responsibilities)
- Define the performance strategy for Falcon: identify the largest opportunities across benchmarks and customer workloads and turn them into a technical roadmap
- Lead design of complex, cross cutting optimizations in the optimizer and code generator, and of the interfaces between the compiler, the runtime and the garbage collector
- Make architectural decisions on the Falcon optimization pipeline, compile time budget and tiering strategy
- Lead enablement of Falcon on new hardware platforms and new Azul products
- Mentor senior engineers, review critical designs and code, and set standards for performance methodology and validation
- Represent Azul in the LLVM community: drive upstream design discussions and contributions that benefit managed language compilers
What You'll Bring (aka Experience, Skills)
- 8+ years of professional experience developing optimizing compilers or JIT compilers
- Track record of technical leadership: owning the design of major compiler components or optimization frameworks used in production
- Expert C++ skills and experience in large, long lived codebases
- Deep expertise in compiler optimization and code generation, with a clear view of the tradeoffs between peak performance, compile time, warmup and code size
- Expert performance analysis skills down to the microarchitecture level
Nice to Have
- Recognized contributions to LLVM or another major compiler: code owner, maintainer or author of significant upstream work
- Deep experience with JIT compilers for managed languages: HotSpot C2, Graal, V8, .NET RyuJIT or similar
- Experience working closely with runtime and GC teams on speculation, deoptimization and barrier design