Job Title: Software Engineer
Reports To: Head of R&D
Double Negative’s R&D department develop ground-breaking software to ensure that the studio remains at the cutting-edge of global VFX production.
Our R&D Programmers support multiple film projects in parallel, from initial design through on-set supervision and production to post-production, by delivering pioneering tools that enable our artists to tackle increasingly complex challenges, with stunning results.
R&D Programmers at DNeg are tasked with a variety of responsibilities spanning the full software development life-cycle; designing, supporting and maintaining software, integrating tools into our Pipeline, and even further extension as work adapts and new challenges arise.
Needs to Do:
Liaise with artists and project supervisors to understand current and upcoming production challenges
Investigate appropriate solutions and techniques to address challenges
Present ideas to the R&D Lead or Senior Programmer in the team
Plan the development of tools and break-down the plan into tasks
Communicate development timeframes to the Software Project Manager and stakeholders
Develop usable tools that are fit for purpose and integrate into DNeg’s Pipeline
Maintain, revise and extend existing tools
Take responsibility for the testing of your own tools with the assistance of the R&D Software Tester
Support end-users during production
Produce technical documentation and user manuals
Degree in Computer Science, Computer Engineering, or equivalent subject
Proven experience developing VFX-related tools
Solid understanding of computer graphics and mathematics
Excellent knowledge of C++ and Python (other languages a plus)
Solid knowledge and experience of a variety of programming libraries, such as Boost, OpenGL, etc.
Experience with relevant application APIs such as Houdini, Maya and Nuke
Understanding of relevant third-party technologies, such as Alembic, OpenEXR, OpenColorIO, etc.
Experience of development in a Linux environment
Familiarity with other VFX software packages is advantageous
Needs to Be:
Knowledgeable and interested in emerging industry technologies
Smart, driven and adaptable
Logical and practical in approach to solving complex problems
Able to future-plan beyond the scope of the current development task
Team oriented and organised
A strong communicator – both verbal and written
Able to articulate complex technical information to non-technical people