Core Services is looking for a Software Developer to join its Automation project within 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 within 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 modelling, scene assembly, task dispatching, and other utility tasks.
The Automation project is scoped to develop a framework for event based automation within the vfx pipeline. This includes evaluating rules against events and then generating networks of tasks as required, typically evaluated on either a site-specific renderfarm via Tractor or as a global task via Temporal.
You will:
Work with artist supervisors and other teams in Production Technology to gather automation requirements and translate them into architectural and feature specifications.
Together with a software architect, participate in the design and specification of the Automation framework.
Take a leading role in the implementation of the automation framework, including allocating tasks to more junior developers within the team.
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 and update troubleshooting playbooks.
Communicate development plans and complex technical information to colleagues in the development team, to artists, and to the wider business, adapting your style as appropriate.
Coordinate and work with teams in remote sites in different time zones.
Must Have:
5+ years of non-intern experience in professional software development.
Programming experience in Python.
Knowledge of QT framework.
Fluency in areas such as data structures, algorithms, design patterns, data modelling, and schema design.
Knowledge of software development processes including coding standards, version control, automated testing, and CI/CD practices.
Ability to design and develop sophisticated application interfaces that provide an excellent experience.
Bachelor’s degree in Computer Science or equivalent subject or equivalent work experience.
Nice to Have:
Agile development experience using Scrum framework.
Experience with renderfarm queuing software such as Tractor or OpenCue.
Experience with event driven frameworks.
Experience with RabbitMQ.
Programming experience in C++ or GoLang.
Familiarity with development in a Linux environment.
Previous experience working in VFX, Feature Animation or Games environment.
Excellent written and verbal communication skills.
Eagerness to tackle problems head-on.