Skip to main content
Back to jobs

Software Engineer - Compiler (Middle-end)

External
furiosa-ai logoFuriosa-ai · Seoul, South Korea
Full-timeOn-site2mo ago
Deep LearningHaskellScala
Cover LetterConnect

Prepare for this interview

Elite

AI-generated questions, company research, and talking points tailored to this role


About the role

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.

Requirements

  • 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.
  • 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

Your Match

How well this role fits your profile.

Company Intel

What employees say

Worked at furiosa-ai? Share your experience

Interested in this role?

Apply on the company's website.

Cover LetterConnect