Jobless Developer
FuriosaAI logo
FuriosaAI

Posted 2 months ago

Open

Software Engineer - Compiler (Middle-end)

SeoulOn-siteFull-time

AI Summary

Middle-end compiler engineer designs abstractions and transformations for the compiler stack, focusing on IR, semantics, and optimizations for deep learning workloads.

About this role

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

  • recruit@furiosa.ai

Skills

Compiler Transformations And OptimizationsDeep Learning Compiler StacksFormal Reasoning About Complex SystemsFunctional Programming LanguagesHardware-aware OptimizationHaskellIntermediate Representation (IR) DesignLLVM Or MLIR FamiliarityModel-to-hardware Stack UnderstandingOCamlPerformance Tuning For CompilersProgram Analysis And Verification TechniquesRuntime And Hardware CollaborationRustScalaSemantic Definition Of Compiler Representations

Explore related jobs

Browse these categories