Software Engineer - Compiler (Middle-end)
Furiosa Ai
Posted: April 6, 2026
Interested in this position?
Create a free account to apply with AI-powered matching
Quick Summary
Transform modern deep learning models into efficient executable programs, leveraging sound compiler logic and well-structured abstractions.
Required Skills
Job Description
About 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