Software Developer - Pipeline and Tools
Technicolor Production Services is the division with Technicolor which contain Technicolor's world leading Visual effects and Animation brands such as MPC, Mr X, The Mill, and Mikros.
Technicolor's brands have worked on the spectacular scenes and tiny details that make movies, advertising campaigns and Animation movies truly mind-blowing. We're the people behind the effects in countless blockbuster films like The Lion King, The Spongebob Movie: Sponge on the Run and advertising campaigns for clients such as Samsung, Audi, Nike and Apple. We are constantly looking for the best talent in the world, enthusiastic people that come in everyday to be a part of some of the best work in the industry. Technicolor's artists are wildly creative, uber talented and passionate about the possibilities of VFX, Experiential, Animation and Technology. When you join the team, you'll be working with and learning from the most skilled people in the business.
About The Team and Our Work
Our status as a world-class VFX facility has been achieved through the development of industry-leading software which empowers our artists to create stunning imagery. We have curated a considerable portfolio of off-the-shelf and in-house software to meet these unique requirements, and continue to evolve and improve our technology as new needs emerge. The Core Engineering team operates within a larger R&D division to provide the business critical infrastructure that enables multiple projects with thousands of shots to be simultaneously completed across the globe efficiently and to the highest quality.
A blend of globally distributed software, systems and operations experts, we are responsible for building and maintaining key infrastructure and services in collaboration with site-local engineering teams and other specialized development teams. With users in all areas of the company, our solution (the Core Platform) is based on a distributed micro-services environment providing capabilities in areas such as compute, storage, sync, and digital asset management. Development and operational support spans the stack from operating system through to desktop/web application front-ends.
In recognition of the flexibility, scalability and maturity of the Core Platform that has been created by the team for MPC, we have been tasked with establishing the Core Platform elsewhere, making it available to other business units that are part of Technicolor's portfolio.
About The Role
The Compute team is responsible for overseeing implementation of the global Technicolor FEV compute initiatives, around the various on-prem and in-cloud compute resources and their use. Compute developers are responsible for the implementation of projects and products that solve the global render and compute problem, providing exceptional business value.
The Core Platform has a broad scope and diverse user group. While there is some expectation of the role to work across multiple aspects of the platform (building features, fixing bugs, general enhancements), some developers do specialise and focus on specific subject areas. This may happen immediately, or after some time having gained familiarity with many areas of the platform.
In this role, your responsibilities will include;
• Work with your colleagues to fix bugs, develop features, and define new services from start to finish.
• Responsible for implementing several concurrent, high visibility projects in a fast-paced environment that may cross multiple business unit and/or divisions but focus on show delivery for Technicolor FEV.
• Communicate tasks, challenges and workflows across a globally distributed team.
• Advocate for professional standards of development.
• Troubleshoot problems across different levels of the stack, and in production environments.
• Take responsibility for code quality, always leaving projects in better state than before you started work.
• Contribute to maintaining an authoritative source of documentation.
• Evangelise use of the Core Platform within MPC and other Technicolor business units.
• Take initiative to improve the developer experience in small or large ways.
• Provide some level of operational support for the platform as required.
To succeed in the role, the following experience and competencies are required;
• Production-level experience using Python for web/desktop applications, service backends or development infrastructure.
• SQL and general database knowledge for query writing and optimisation.
• Degree, or equivalent, in a computer science or related engineering subject.
• Experienced in managing large, complex projects in a high-tech development environment.
• Experience using development best practices.
• Familiarity with source control, in particular Git, and associated best practices.
• Comfortable working in a primarily Linux based development and runtime environment.
• Solid knowledge of testing principles, in particular TDD and/or BDD.
• Proven problem-solving skills around technical, product and business requests.
• Be able to consider a technical solution from different perspectives, including algorithms, complexity, correctness, maintainability.
• Excellent verbal and written communication skills.
• Be self-motivated and demonstrate strong organisational skills.
Previous experience in the VFX industry is not required to be successful in this role.
Nice to Have
The following are not essential to be successful in the role, however prior experience or the desire to grow in these areas will be of benefit;
• ReactJS exposure or any similar framework is an added advantage.
• Knowledge of the various components used to develop micro-service frameworks (such as uWSGI, NGINX, RabbitMQ and Flask).
• Knowledge in k8/Kubernetes and Docker is an added advantage.
• Understanding of CI/CD best practices and advocate for their use and improvement.
• Tractor knowledge is an added advantage.
• Cloud experience.
• Cross-platform development on Windows and OS X.
• Knowledge of Python packages and frameworks such as Flask, PyQt, PyMySQL, etc.
• Experience of Agile and lean methodologies, and an interest in process improvement in these areas.
• Comfortable working in a fast-paced and dynamic environment where requirements change.
• Able to present technical concepts to a broad audience with varying level of technical understanding.
• An awareness of security and keeping content secure.
Jobcode: Reference SBJ-r0ynzm-18-204-227-34-42 in your application.