Software Developer I, Software Platform

Production Technology, Core Services Mumbai, India Chennai, India Bengaluru, Karnataka


Position at DNEG

Software Developer I, Software Platform

Core Services is looking for a Software Developer I to join its Software Infrastructure group, to focus on developing and maintaining the build and runtime environments for the company’s end-user software.

The Core Services group provides fundamental 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 Software Infrastructure group in Core Services is not only responsible for providing foundation software to other teams to develop and deliver their software solutions, but also the means for end-users to utilise those software solutions. We define workflows and rules for software development and distribution, and provide the tools to develop software complying with those rules.

The Platform Management team within Software Infrastructure is responsible for a variety of areas that underpin DNEG as a technology-enabled company. By continually improving our software delivery and runtime infrastructure, the group strives to empower our team of developers to deliver high quality tools to our artists, facilitating their creation of award-winning visual effects and feature animation work.

You should apply for this role if:

        You enjoy building, packaging and configuring complex software systems.

        Your interests extend into both software development and systems administration and you would enjoy the chance to collaborate with a broad range of colleagues in both fields.

        You are interested in identifying opportunities to improve operational efficiency and stability.

Main responsibilities include:

        Providing a stable foundation for all artists' working environments, through:

        Definition, implementation, and optimization of baseline platforms for all digital content creation apps (‘DCCs’) used by artists, such as Houdini, Maya, Nuke, etc.

        Enabling the extension of pipeline-integrated DCCs with proprietary and third-party plugins.

        Enabling faster, more stable development and delivery of software.

        Building, packaging and configuring complex software systems.

        Identifying opportunities to improve operational efficiency and stability.

        Validating your work with methodical and rigorous testing.

        Working collaboratively and proactively while under often tight deadlines.

        Building positive relationships with development, production and artistic teams.

Knowledge, Skills and Experience

Must have:

        Demonstrable programming and shell-scripting experience (e.g. Python programming and Bash scripting).

        Experience building and troubleshooting non-trivial software packages, involving technologies such as C++ (11 to 17), CMake, Make, autotools, setuptools/pip/poetry, and RPM.

        Experience with Linux systems and working with them on the command line.

        A general understanding of systems architecture and software engineering.

        The ability to articulate complex technology-specific information to non-experts.

        A curious and inquisitive nature, a desire to understand, and the drive to devise practical and pragmatic solutions, even in unfamiliar domains.

        The confidence to openly propose and refine solutions, with a focus on collaboration with other experts and stakeholders.

        Confidence in navigating ambiguity and providing solutions when problem solving.

        The ability to be proactive and work with initiative.

        Comfortable working in an agile environment with multiple priorities.

        A logical approach to solving complex problems.

Nice to have:

        Significant experience with a major package management or ports system.

        Experience monitoring, collecting, and analysing diagnostic data to drive systems improvement and resilience.

        Practical experience of version management software (e.g. Git, Mercurial) and issue tracking systems (e.g. Jira).

        Experience or understanding of common operations tooling such as Elastic Stack, StatsD/Graphite/Grafana, Sensu, Jenkins, or other CI/CD tooling.

        An understanding of the responsibilities of a system administrator (e.g. networking, filesystems, environment management).

        Relevant qualifications: e.g. a degree in Computer Science/Computer Engineering/equivalent subject, or systems administration certification such RHCSA/RHCE, etc.

        A demonstrable contribution to an open source project.

About Us
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).