Software Engineer - Compiler (Middle-end)
Furiosa Ai • Seoul, Seoul, South KoreaAbout the Job
The compiler plays a central role in FuriosaAI’s mission to build high-performance, energy-efficient AI systems. Modern deep learning models are evolving rapidly and becoming increasingly diverse, making compilation a challenging problem. Transforming these models into efficient executable programs requires careful reasoning about complex transformations while preserving program meaning and structure.
At FuriosaAI, we approach this problem by building solid abstractions and well-structured compiler logic, rather than relying on a collection of heuristics. This approach provides a consistent foundation for correctness, scalability, and performance across the compiler.
As a middle-end developer, you will play a key role in designing these abstractions and shaping how the compiler operates. This role requires combining rigorous reasoning with creative problem solving to address complex challenges in compilation. You will contribute to building a compiler that is both principled and practical.
Responsibilities
Design and evolve the intermediate representations (IR) and transformations that form the foundation of FuriosaAI’s deep learning compiler.
Define the semantics of compiler representations and generated programs, and establish clear abstraction boundaries across compiler stages.
Develop efficient transformation and optimization strategies for deep learning workloads.
Design analysis and verification mechanisms to ensure correctness and prevent inconsistencies during program transformation.
Develop and maintain a deep understanding of the full compilation stack—from models to hardware—and collaborate with compiler, runtime, and hardware teams to improve both structure and performance.
Minimum Qualifications
Bachelor’s degree in Computer Science, Mathematics, or a related field.
Ability to reason about complex systems and design clean, robust abstractions.
Experience or familiarity with compilers or related systems.
Experience or familiarity with functional programming languages.
Preferred Qualifications
Master’s or PhD in Programming Languages, Compilers, Program Analysis, or related fields.
Demonstrated ability to tackle challenging problems with rigorous reasoning and creativity.
Industry or research experience working on or designing compiler systems, programming languages, or program analysis frameworks, including systems such as LLVM or MLIR.
Extensive experience with one or more of the following languages: Rust, Scala, OCaml, Haskell, or other functional languages.
Contact
recruit@furiosa.ai