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 on to build and grow. 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 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 specs.
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 complex developers within the team.
Provide sprint-based updates on work that is in progress.
Ensure that bug reports and escalated support requests are handled with attention.
Write documentation for developed software, create and update troubleshooting playbooks.
Develop solutions that are complex and well aligned with security.
Communicate development plans and complex technical information to colleagues in the development team, to artists, and to the larger business, adapting your style as appropriate.
Coordinate and work with teams in remote sites in multiple 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 promote refined software that is well-designed and user-friendly.
- 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.
