Position Overview
SideFX is seeking an exceptional senior software developer or technical director to join its Toronto-based compositing R&D team.
We are developing Copernicus, a next-generation procedural image processing architecture to provide the backbone for compositing, texture synthesis, machine learning, real-time 2D simulation, seamless 3D integration, and motion tracking. You will be developing Copernicus’ compositing toolset for Houdini, our flagship software, which has proceduralism, openness, and flexibility as its core philosophies. The new compositing system will embody these principles, scaling to massive task graphs and supporting both out-of-the-box operations and user-generated algorithms. Compositing will work seamlessly with other parts of Houdini, including the 3D viewer, the Solaris/USD environment, our Karma renderers, physical simulations, and geometry processing.
As a member of the compositing group, you will be working with some of the brightest minds in the industry and interacting with an outstanding artist community. Our R&D team members have received prestigious industry awards, including several Academy Awards and Emmy’s from the National Academy of Television Arts and Sciences. Everyone here shares a drive for excellence and a passion for innovation in visual effects, image processing and compositing technology. Providing digital artists with the most advanced tools for their craft is, and has always been our single focus.
What you will be working on
- Develop, maintain and support our new compositing toolset for Copernicus.
- Research and implement compositing algorithms such as keying, grading, deep workflows, feature detection and removal, colour correction and much more.
- Explore motion-tracking solutions.
- Optimize image algorithms for top performance on CPU and GPU devices.
- Optimize procedural networks of image operations to run efficiently within memory limits.
- Work toward bridging the gap between 2D and 3D in Houdini.
- Collaborate with other R&D staff, technical directors and artists.
- Other duties as assigned.
What you need to be successful
Compositing Software Developer and Technical Director candidates:
- Industry experience with OpenCL, CUDA, SyCl, Vulkan, or similar compute-based API.
- Solid production experience with image processing and compositing techniques.
- History of delivering innovative, robust and scalable solutions.
- Ability to learn independently, use solid judgment and develop at a fast pace.
- Keen understanding of compositing artists’ needs.
- Excellent verbal and written communication.
Compositing Software Developer candidates only:
- Computer Science degree or equivalent.
- Strong knowledge of C++ programming in a multi-threaded environment.
- Extensive experience with algorithmic optimization for memory and performance.
- Proven experience with image-based hardware acceleration techniques.
- Ability to do independent research on execution graph optimization.
- Uncanny ability to uncover and remove bugs in a large software base.
Compositing Technical Director candidates only:
- Extensive production experience with Python programming.
Not required but great to have
- Knowledge of other GPU computing and rendering APIs.
- Knowledge of OpenFX, OpenImageIO, OpenTimelineIO, and OpenColorIO.
- Knowledge of Qt.
- Knowledge of texture synthesis techniques.
- Experience with Machine Learning applications to image processing.
Sample R&D Projects
- Create node operators for a wide range of compositing tasks.
- Interface with other parts of Houdini, such as the 3D viewer.
- Design workflows for complex operations such as feature tracking and keying.
- Integrate the compositing module seamlessly with the rest of Houdini.
- Design 2D and 3D handles and interactive workflows for an artist-friendly UX.
- Implement image motion analysis for feature tracking.
- Integrate robust OpenColorIO support for image file I/O.