Software Developer II (DNA)
Core Services is looking for a Software Developer to join its DNA project in its Show Development Frameworks domain.
The Core Services group provides foundational technologies to other technology groups within DNEG. We are a team of software developers who architect, build and provide geographically spread, enterprise-level, mission-critical infrastructure. We create services, frameworks, and products that other teams rely upon to build and deliver their technology solutions. We are the core of all things technology at DNEG.
The Show Development Frameworks domain @ Core Services provides libraries and frameworks to be utilized by software products to provide end-user functionality. The libraries we provide include SDKs and APIs for asset data modeling, scene assembly, task dispatching, and other utility tasks.
DNA is our in-house next-gen data modeling framework for scene description. As a Software Developer in the DNA project, you will be helping to design and implement key components of our data model, leveraging USD as a core technology of our VFX and feature animation production pipelines. You will be working in all aspects of the software development life-cycle, designing, building, and maintaining software as well as integrating tools into our existing pipeline.
- Participate in the design and implementation of the data model which underlies our Assets and Shots pipeline.
- Develop and support tools specifically for scene composition and exchange across production departments and stages.
- Develop new software and tools which integrate into DNEG's pipeline.
- Provide sprint-based updates on tasks’ progress.
- Ensure that bug reports and escalated support requests are dealt with swiftly and efficiently.
- Write documentation for developed software, create / update troubleshooting playbooks.
- Coordinate and work with teams in remote sites in different time zones.
- 4+ years of non-intern experience in professional software development.
- Strong experience in modern C++ and Python programming.
- Experience writing modular software using appropriate libraries in C++.
- Practical knowledge of programming libraries such as Boost and the C++ standard library.
- Fluency in areas such as data structures, algorithms, design patterns, data modeling, and schema design.
- An understanding of performance considerations such as multiple processor usage, runtime optimization, and memory management.
- Knowledge of software development processes including coding standards, version control, automated testing, and CI/CD practices.
- Excellent analytical and debugging skills.
- Experience working as part of a development team using source control (git) and build (cmake) systems.
- Familiarity with development in a Linux environment.
- Agile development experience using Scrum framework.
- Bachelor’s degree in Computer Science or equivalent subject or equivalent work experience.
Nice to Have
- Previous experience working in a VFX environment.
- Experience developing software in a multi-threaded environment.
- Experience exposing C++ code to Python using packages such as boost python or pybind11.
- Understanding of relevant third-party technologies such as Pixar’s USD, Qt, TBB.
- Familiarity with other relevant VFX software packages.
- Excellent written and verbal communication skills.
- Eagerness to tackle problems head-on.
We are DNEG, one of the world’s leading visual effects and animation companies for the creation of award-winning feature film, television, and multiplatform content. We employ more than 10,000 people with worldwide offices and studios across North America (Los Angeles, Montréal, Toronto, Vancouver), Europe (London), Asia (Bangalore, Mohali, Chennai, Mumbai) and Australia (Sydney).