Overview

POSITION PURPOSE

Your position as a Software Engineer is vital to Image Engine. Through your expertise in Rendering, you will serve as the primary developer of our proprietary Look Development and Lighting tools, many of which are built on top of Gaffer, an open source Look Dev & Lighting application framework.

Reporting to the Software Engineering Supervisor, you will become the primary liaison between Software, Look Dev, and Lighting, but you will also work closely with all VFX departments who rely on 3D rendering, be it offline ray-tracing with Arnold, interactively via Arnold GPU, or real-time rendering in any of several DCC viewports.

Projects may include engineering Gaffer/Arnold-native building blocks into intuitive artist tools, optimizing a proprietary post-process denoiser for real-time rendering, implementing novel procedural scene generation algorithms, or writing bespoke shaders to solve challenges on specific films.

Your passion, talent, and ideas will help us bring VFX at Image Engine to the next level of efficiency and performance.

DUTIES & RESPONSIBILITIES

Design, implement, and support a mixture of proprietary, open-source, and third-party software for Lighting, LookDev, and other rendering workflows
Collaborate with artists, technical directors, and supervisors to determine the LookDev and Lighting needs for current and future productions
Identify and optimize bottlenecks in shading, lighting, and rendering algorithms and workflows
Contribute to Image Engine’s open source initiatives: Cortex and Gaffer
Communicate with third-party software vendors to prioritize Image Engine’s feature requests and bug fixes
Design and implement solutions targeting current production workflows, while ensuring they can be generalized for all productions when possible
Document, test, and debug tools to ensure they meet production requirements
Write clear documentation for tools, scripts, and plug-ins
Provide secondary technical support, training, and tutorials to Artists, TDs, and Production Staff
Stay up-to-date with industry trends for Look Development, Lighting, and Rendering, both on the CPU and GPU

EDUCATION AND EXPERIENCE

A university degree in Computer Science, Math, Physics, Engineering, or a related field
3 or more years experience developing software in a VFX, Animation, or Games production environment, or a postgraduate degree (MSc, PhD) with a strong focus on Computer Graphics.
Master’s or PhD in Computer Science or a related field an asset

SKILLS AND ABILITIES

Technical skills

Solid grasp of the fundamentals of rendering, from the mathematics of the rendering equation to an efficient implementation in code
Experience developing tools for a production-ready path tracer (preferably Arnold)
Experience with OSL and GLSL
Experience writing software in C++ and Python
Demonstrable knowledge of high-end DCC applications and APIs (eg Maya, Katana, Nuke)
Experience with modern VFX data formats and APIs like Alembic, USD, or VDB
Familiarity with our open source efforts (Cortex or Gaffer) an asset
Familiarity with modern GPU architecture an asset
Experience developing in a Linux environment

Core skills

Team oriented with good communication skills, able to work closely with artists
Preference for a structured work environment, with clearly outlined priorities
Expectation of upfront planning before proceeding with final implementation
Proactive with proven ability to work both independently and in a team
Ability to take direction and feedback from a supervisor or a peer
Excellent time management and communication skills
Ability to monitor and identify potential inefficiencies with production workflows
Excellent troubleshooting and debugging skills
Ability to adapt quickly to new technologies and applications
Willingness to extend beyond your current specializations to help a larger engineering effort when required