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 distributed compute, production tracking, and content review technologies, as well as the core software infrastructure that keeps the studio running day to day.

Reporting to the Software Engineering Supervisor, you will drive an ongoing effort to improve and modernize our core software infrastructure, increase the throughput of our compute and storage processes, and provide a solid technical foundation for others to build upon.

Projects may include designing and implementing a generalized task automation toolset in Gaffer;  optimizing and improving our proprietary review plugin on top of RV & ShotGrid; or partnering with IT to build out and test new cloud-native data infrastructure.

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
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 content tracking and review, asset management, workflow automation, and any other topics that may be well suited to improving efficiencies at a VFX/Animation studio.

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.

SKILLS AND ABILITIES

Technical skills

Solid understanding of the applications, backend infrastructure, and APIs that keep a VFX/Animation studio running smoothly.
Experience writing software in python required (c++ or webstack an asset)
Experience with both SQL and NoSQL database technologies required
Experience with Shotgun / ShotGrid API & UX configuration required
Experience with RV (or similar content review tool) API & UX development required
Experience developing task automation and monitoring tools for a production capable render farm (eg Tractor, Qube, Deadline)
Experience with cloud rendering (eg AWS, Azure) an asset
Experience with Qt / PySide an asset
Experience with build, CI, and deployment systems (eg scons, cmake, jenkins, rez, docker)
Experience with modern VFX data formats and APIs like Alembic, USD, or VDB an asset
Familiarity with our open source efforts (Cortex or Gaffer) an asset
Experience developing in a Linux environment required

Core skills

Team oriented with good communication skills, able to work closely with less technical colleagues
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

*Candidates are required to be based in British Columbia.