Compiler Performance Engineer
Azul · Belgrade, Serbia
Tailor my CV for this job — freeAs the only company focused 100% on Java, Azul is building the Java platform for the modern cloud enterprise. We are reimagining how customers use Java, bringing them the tools and insight they need to deliver faster, more performant, more dependable, and less expensive Java services. Come join one of the most influential members of the Java and OpenJDK community and help influence the future of Java.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 Compiler Performance Engineer to make Falcon generate even faster code. This is not a compiler front end role and not a compiler built from scratch: the compiler exists, runs in production at large enterprises, and your job is to find where the generated code is slower than it should be and fix it in the optimizer and code generator.You will join a distributed team of compiler experts and work on real workloads with direct, measurable impact on customer performance.What You Will DoAnalyze performance of Java benchmarks and customer workloads, find gaps in generated code and trace them to their root cause in the compilerImplement and improve optimizations in Falcon's middle end and back end: inlining, loop optimizations, vectorization, redundancy elimination, speculative optimizations and their interaction with the runtimeImprove code generation for x86_64 and AArch64Write tests and benchmarks that prove the improvement and protect it from regressionsContribute changes upstream to LLVM where it makes senseMinimum Requirements2+ years of professional experience in compilers, JIT compilers or low level performance engineeringStrong C++ design and coding skillsSolid understanding of compiler optimization theory: SSA, data flow analysis, loop transformationsAbility to read assembly and reason about why one instruction sequence is faster than anotherNice to HaveExperience with LLVM IR and LLVM optimization passes, or with another optimizing compiler such as HotSpot C2, Graal, GCC or V8Experience with profilers such as perf, VTune or async profilerKnowledge of x86_64 and/or AArch64 microarchitectureExperience with Java, Scala or Kotlin, or with JVM internalsMSc or PhD in Computer Science with a compiler or performance focusWhat We OfferOpportunity to make a high impact at a growing, global companyWork alongside top experts worldwide contributing to the Java ecosystemReferral Program — help us grow with great peoplePremium IT equipment — MacBook Pro or hardware of your choiceCompetitive paid holidays and sick timeFlexible working hoursRemote first OR Prague / Limassol / Belgrade city center offices OR hybrid - UP TO YOU!Competitive compensationWe may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.