Overview

POSITION PURPOSE

Your position as a Software Engineer is vital to Image Engine. Your expertise in software development for VFX / Animation production will enable you to become a technical leader and code owner of our  open source and proprietary content generation technology.

Reporting to the Software Engineering Supervisor, your remit will span all departments at Image Engine, often teaming with subject area Engineers or TDs, though you are also encouraged to take charge and become the premier expert in a given field as required.

Projects may include designing and implementing a procedural hair/feather system, enhancing our USD and VDB capabilities via c++ integrations in Cortex and Gaffer, assessing the production viability of emerging technologies (eg Omniverse, Unreal Engine), or optimizing highly parallel computations in Maya / Houdini / Gaffer for speed, stability, and memory consumption.

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
Collaborate with artists, technical directors, and supervisors to determine the studio’s needs for current and future productions
Identify and optimize bottlenecks in algorithms and workflows throughout the pipeline
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 VFX / Animation content generation

EDUCATION AND EXPERIENCE

A university degree in Computer Science, Math, Physics, Engineering, or a related field
5 or more years experience developing software in a VFX, Animation, or Games production environment
Master’s or PhD in Computer Science or a related field an asset

SKILLS AND ABILITIES

Technical skills

Solid understanding of the algorithms and mathematics that drive VFX production workflows
Expert level experience writing software in C++ and Python
Experience developing and debugging multi-threaded code (ie. using tbb)
Experience with software profiling, optimisation, and debugging tools (eg vtune, gdb, valgrind)
Demonstrable knowledge of high-end DCC applications and APIs (eg Maya, Houdini, 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