Job Description / Key Purpose of the Job:
We are looking for an experienced software developer to lead our Ziva Realtime team. Ziva character tools bring cutting-edge techniques and workflows to professional 3D character artists, empowering them to create realistic and dynamic animated performances. Ziva Realtime is our technology suite that brings these world-leading characters into games, VR, and other interactive environments. We use a combination of highly-optimized low-level code, GPU compute, machine learning, and clever data compression to make film-quality characters possible in real-time. The product suite includes custom character creation and conversion tools used by 3D artists and character riggers, as well as runtime plugins for Maya, Unreal, and Unity. Our tools are used in AAA game productions, as well as top-level animation work for film and TV. Our goal is to continue pushing the state-of-the-art in real-time characters to even greater heights, and we need a strong Lead Developer to be a driving force behind that push.
Key Responsibilities / Job Duties
As Lead Software Developer, you will drive the success of the Ziva Realtime software suite, including both the character creation toolset and game engine middleware. You will report to the Director of Ziva Character Tools, and collaborate directly with other team leads within Ziva and across DNEG. In partnership with key stakeholders and users, you will help set the direction, priorities, and roadmap for the Ziva Realtime software, and be accountable for successfully delivering the agreed-upon milestones. You will guide and coordinate the work of the Ziva Realtime development team, ensuring high velocity and quality of the software being produced. You will identify opportunities for high-impact contributions, for example from published research or user feedback, and steer them all the way from experimental prototypes to robust features of stable production software. In collaboration with your team, you will continuously improve the speed and memory consumption of the runtime, maintain high-quality integrations into game engines like Unreal and 3D DCCs like Maya, and improve the experience of artists using the creation and conversion tools.
Job Requirements / Must Haves
Expertise in C++ software development
Experience writing performance-sensitive code for 3D game engines or similar
Proficiency in Linear Algebra, Numerical Computing, Data Compression, and Machine Learning
Experience delivering 3D tools for use by technical artists and animators
Ability to lead and mentor a small team of software developers
Proven ability to read, implement, and refine novel techniques from research literature
Experience with all aspects of software development lifecycle
Working knowledge of software quality control processes, e.g. CI/CD
Strategic thinking and ability to drive change
Additional Skills / Nice to Have
Experience developing and shipping middleware and tools for 3D games
Contributed code to Unreal Engine or similar engines, ideally as 3rd-party plugins
Shipped one or more games, contributing to real-time 3D rendering, animation, or similar
Experience coding in Python
Previous successful collaborations with professional animators and animation technical artists, in Games and/or Film.
Experience writing and editing technical documentation for implemented tools and features
About You