TO BE ELIGIBLE FOR REMOTE WORK YOU MUST RESIDE IN QUEBEC
The Moving Picture Company (MPC) has been a global leader in visual effects (VFX) for over 25 years and counting, with established facilities across the globe. We are renowned for adding visual wonder and creative expertise to the film, advertising and entertainment industries, with some of our most famous projects including the blockbuster movies Blade Runner 2049, The Jungle Book, The Lion King and The Martian, and advertising campaigns for Channel 4, Sony and IKEA.
MPC is part of Technicolor's premiere portfolio of VFX brands and services, working alongside Mr. X and Mikros to provide offerings tailored to the specific creative and storytelling needs of each project. Within this collective, MPC has built a reputation for industrial-scale production of images, and the software development to enable this.
As an Infrastructure Engineer in the Core Engineering team, your role is to further the development of the Core Platform to meet the needs of our users and the wider business.
You will draw on your skills and experience to both extract and modernise the Core Platform for use by other Technicolor companies, and to maintain ongoing use by MPC. You will focus on developing the primary infrastructure for the platform, specifically the micro-services platform and associated monitoring.
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 extend capabilities, fix bugs, and improve performance from start to finish.
• Define and develop services that form part of the 'batteries included' offering of the micro-services platform.
• Advocate for professional standards of development.
• Review events that impact availability and performance to guide future improvements.
• 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.
• Coordinate with leadership to define and prioritise projects.
• Support the introduction of new technologies where and when appropriate.
• 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.
• Mentor and pair with others in the team to encourage the professional and technical growth of others.
• Take part in the hiring process by screening applicants, participating in interviews or posing interview questions as required.
• Own your personal development plan and identify training opportunities for others in the team.
• Provide some level of operational support for the platform as required.
• Work with the product owner and stakeholders to establish requirements and report progress.
To succeed in the role, the following experience and competencies are required;
• Strong knowledge of microservices architecture, design and implementation.
• Knowledge of the various components used to develop micro-service frameworks (such as uWSGI, NGINX, RabbitMQ and Flask).
• Expertise in k8/Kubernetes and Docker.
• Production-level experience using Python for service backends or development infrastructure.
• An understanding of concurrency as it applied to CPython, and writing code that scales gracefully.
• Experience administering and gaining insight from monitoring tools (such as Prometheus, Alert Manager, Grafana and Graylog).
• A working understanding of HTTP and JSON.
• Familiarity with source control, in particular Git, and associated best practices.
• Comfortable working in a primarily Linux based development and runtime environment.
• A 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.
• Collaborative and team oriented approach to product development, working with teams across locations, timezones and cultures.
• Excellent verbal and written communication skills.
• Be self-motivated and demonstrate strong organisational skills.
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;
• SQL and general database knowledge for query writing and optimisation.
• Engage in engineering practices that avoid incidents and share knowledge of best practices for monitoring, alerting, etc
• Understanding of CI/CD best practices and advocate for their use and improvement.
• Familiarity with web frameworks and/or full-stack development.
• Cross-platform development on Windows and OS X.
• Knowledge of Python packages and frameworks such as Flask, PyQt, PyMySQL, etc.
• An interest in the architectural perspective - contributing to architectural decisions and other technical documentation.
• 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.
• Experience working with large, legacy code bases; from maintenance and refactoring through to end-of-life support.
• An awareness of security and keeping content secure.
Jobcode: Reference SBJ-d5kqm1-3-233-219-62-42 in your application.