Software Developer - Virtual Production

  • DNEG
  • London, UK
  • 15/01/2020
Full time Data Science Big Data Statistics

Job Description

Our Virtual Production department is harnessing the power of real-time technology to empower filmmakers, by bringing visual effects closer to the filmmaking process. We are leveraging game engine technology, virtual reality and mixed reality to give directors, DOPs, and visual effects supervisors more creative control over their visual effects whilst filming.

We are looking for Software Developers to work closely with the Virtual Production department to establish key pieces of technology underpinning a full suite of Virtual Production services at DNEG, including virtual scouting, on-set camera tracking, and motion capture.

Our Software Developers are highly technical and methodical in their approach to solving complex problems. You will be required to:

  • Collaborate with other developers to establish and improve key pieces of technology for the Virtual Production department
  • Take ownership and drive the development of these pieces of technology
  • Be proactive in breaking down large tasks, defining development plans, and communicating these plans to other developers and stakeholders
  • Act as a coach and mentor to junior team members by supporting them in their development with your knowledge and expertise
  • Be flexible to change and eager to learn new tools and technologies

Must Have

  • A bachelors degree in Computer Science or similar subject, or equivalent industry experience
  • Strong up-to-date knowledge and practical experience of C++
  • Practical knowledge of applied mathematics for computer graphics (vectors, matrices, quaternions, linear algebra, etc…)
  • An understanding of software design principles (OOP, SOLID, UML, etc…)
  • An understanding of computer vision algorithms and frameworks
  • Experience in optical camera tracking and/or motion tracking systems
  • Experience in using source control to collaborate with other developers
  • Experience in writing high-performance multi-threaded software

Nice To Have

  • Experience in game engine technology (Unreal, Unity, proprietary engines, etc…)
  • Proven experience in writing tools for computer graphics
  • Proven experience in shipping a software product at quality, and knowledge of quality engineering practises (testing, automation, deployment, telemetry, etc…)
  • Knowledge of other programming languages, especially modern languages that are designed to make writing concurrent software easier and safer (Rust, Go, etc…)