Software Developer - Core Engineering
- Bengaluru, India
With offices all over the globe, MPC is one of the world's leading visual effects studios, creating high-end VFX for the advertising and feature film industries. We are constantly looking for the best talents in the world,
enthusiastic people that come to work every day with the desire to be a part of some of the best work in the industry.
We are hiring for our globally distributed Core Engineering team who are a blend of Software, Systems and Operations experts. We are responsible for building and maintaining the key infrastructure services - the engines and glue for our Software and Site Engineering teams. This is an exciting role to play a part in evolving the platforms at MPC.
As a Backend 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 modernize 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 specialize and focus on specific subject areas. This may happen immediately, or after some time having gained familiarity with many areas of the 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;
- Production-level experience using Python for desktop applications, service backends or development infrastructure.
- SQL and general database knowledge for query writing and optimization.
- 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 organizational skills.
- 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.
This is an exciting opportunity to work in the dynamic world of visual effects. If you are a passionate technologist, interested in solving hard problems, producing quality code and looking to work in a multi-discipline team at a world-class company - then get in touch and apply soon!
All your information will be kept confidential according to EEO guidelines.