Position: Software Engineer - Rendering - Junior
Hiring Range: $75,000 to $95,000/year for a 40 hour work week
Project Contract: 1 year contract
Company Benefits: Extended healthcare from day 1, premiums 100% covered by Image Engine, up to 8 paid Health and Wellness days per year.
*Candidates are required to be based in British Columbia and eligible to work in Canada*
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, debug, and maintain comprehensive documentation for tools, scripts, and plugins.
- 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.
- Minimum of 2 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.
- A Master's or PhD in Computer Science or a related field is 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 (e.g., 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) is an asset.
- Familiarity with modern GPU architecture is an asset.
- Experience developing in a Linux environment.
Core skills
- Team oriented with good communication skills, able to work closely with artists.
- Thrives in a structured environment with clear priorities.
- Expectation of upfront planning before proceeding with final implementation.
- Proactive with proven ability to work both independently and in a team.
- Accepts and integrates direction and feedback from supervisors and peers.
- Excellent communication and organizational 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.