Compiler Engineer

The Rendering department at Weta Digital is seeking a Compiler Engineer to advance the state of the art in shading language compiler technology and related systems. Extensive experience in compiler design is required, including parsing, typechecking, intermediate representations, and code generation.

The ideal candidate will have a strong academic background including program analysis, program transformation and optimization, and programming language design. Familiarity with shading languages and computer graphics is desirable. Experience with high performance systems that include multi-threading, vectorization, and GPU acceleration is a plus.

Responsibilities:

  • Accelerate shading performance in Manuka, a world-class renderer for cinematic visual effects and animation.
  • Work with shading department to develop new shader authoring techniques.
  • Improve compiler infrastructure, including intermediate representation and code generation.
  • Extend the shading language with advanced features (e.g. templates)
  • Investigate vectorization and GPU code generation.
  • Improve and maintain existing code to improve quality, reliability, and maintainability.
  • Find and fix bugs. Proactively test new and existing features to ensure the highest levels of quality.

Requirements:

  • A degree in Computer Science and a strong foundation in object-oriented programming.
  • Extensive experience writing compilers, including parsing, typechecking, and code generation.
  • Extensive programming experience in C++.
  • Ability to work independently on a self-directed team in a rapidly changing, deadline-oriented environment.

Desirable qualifications and skills:

  • A masters or Ph.D. in Computer Science.
  • Understanding of static single assignment and other intermediate representations.
  • Familiarity with advanced program transformations like specialization.
  • Hands-on experience with the LLVM compiler toolkit.
  • Thorough understanding of CPU architecture and the memory hierarchy.
  • Knowledge of vectorization is a plus.
  • Familiarity with GPU programming.
  • Hands-on experience with shading languages
  • Knowledge of various rendering technologies, including path tracing, geometry processing, etc.

If this sounds like you – please get in touch – we would love to hear from you!

Location: Wellington - New Zealand

arrow-right