Overview
Your position as a Software Engineer is vital to Image Engine. Your intuition and experience in fast paced production environments empowers you to build tools and interfaces that serve creatively driven artist workflows across a variety of VFX departments.
Reporting to the Software Engineering Supervisor, you will design and develop artist facing tools for data visualization, manipulation, publishing, and rendering of hugely complex 3D and 2D scenes. Common tasks will span DCC application development, asset management, and UI/UX design. You may also be asked to dive deep into particular fields, teaming with subject area Engineers or TDs.
Projects may include designing interfaces that improve efficiency in specific departments (eg Modelling, Layout, Shot Finaling), integrating new technologies (eg Maya-USD, Atoms Crowd, Unreal Engine) into the pipeline, or optimizing and simplifying complex networks of distributed batch processes.
Your passion, talent, and ideas will help us bring VFX at Image Engine to the next level of efficiency and performance.
DUTIES & RESPONSIBILITIES
Design UIs and APIs for authoring, publishing, and tracking data throughout our content generation pipelines
Design, implement, and support a mixture of proprietary, open-source, and third-party software
Collaborate with artists, technical directors, and supervisors to determine the 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
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 generation, asset management, and workflow automation
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 understanding of production workflows and the artist mindset when interacting with proprietary tools and interfaces
Experience writing software in Python and C++
Experience developing for Maya in Python required
Experience developing for Maya (or any DCC) in C++ an asset
Experience designing and developing Asset Management systems an asset
Demonstrable knowledge of high-end DCC applications and APIs (eg Houdini, 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
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