Lead Software Developer - AMS
8 days ago
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
As a Software Developer 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 services and APIs that encapsulate the business logic of the platform, in areas such as compute, storage, digital asset management and digital resource management. You will be building internally facing interfaces to our platform and production data.
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 develop features, fix bugs, and define new services from start to finish.
- 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;
- Production-level experience using Python for desktop applications, service backends or development infrastructure. An understanding of concurrency as it applied to CPython, and writing code that scales gracefully.
- Strong knowledge of microservices architecture, design and implementation.
- SQL and general database knowledge for query writing and optimisation. 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.
- 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.
- 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;
- Knowledge of the various components used to develop micro-service frameworks (such as uWSGI, NGINX, RabbitMQ and Flask). Knowledge in k8/Kubernetes and Docker.
- Knowledge of monitoring tools (such as Prometheus, Alert Manager, Grafana and Graylog).
- Understanding of CI/CD best practices and advocate for their use and improvement.
- C++ knowledge will be the added advantage.
- 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.
The details above provide an outline of the key requirements for candidates to apply for a role in this department. We have a number of job classifications within our team structure. Based on your skills we will assess your suitability for a particular role during the application process.
Please click here to review our privacy notices for job applicants.
If you require assistance applying, please reach out to email@example.com and we'll be happy to assist.
TECHNICOLOR IS AN EQUAL OPPORTUNITY EMPLOYER
Technicolor complies and prohibits against discrimination on the basis of race, religion, creed, color, national origin, ancestry, medical condition (including genetic characteristics), mental and/or physical disability or handicap, marital status, sex, age, veteran status, citizenship status, sexual orientation, gender identity, political party preference, political belief, socioeconomic status, familial status, registered domestic partner status, military service, pregnancy, childbirth and related medical conditions and any other characteristic or activity protected by federal, state/provincial or local law.
Technicolor Creative Studios shares are admitted to trading on the regulated market of Euronext Paris (TCHCS)
Technicolor Creative Studios is a creative technology company providing world-class production expertise driven by one purpose: The realization of ambitious and extraordinary ideas. Home to a network of award-winning studios, MPC, The Mill, Mikros Animation and Technicolor Games, we inspire creative companies across the world to produce their most iconic work.
Create Your Profile — Game companies can contact you with their relevant job openings.
Our global teams of artists and technologists partner with the creative community across film, television, animation, gaming, brand experience and advertising to bring the universal art of storytelling to audiences everywhere.