Production Tracking Developer
Sony ImageworksVancouver, BC
Full Time Job
Production Tracking Developer (Shotgun)
Sony Pictures Imageworks is seeking a strong programmer to join the Core Infrastructure team in Vancouver, BC.
What You'll Be Doing:
You'll be extending and maintaining an integrated web based task and time tracking application, and collaborating with users to help define workflows which improve the efficiency and management of large scale visual effects and animation production. All new large-scale applications are being written with a large dose of Python client-side scripting.
• Nice to have: Django, extJS frameworks, Java
• Required: experience with any of the following: Oracle, PostgreSQL, SQLite, MySQL
• Nice to have: Solr, Cassandra, and/or HBASE
• Experience with any of the following version control systems: Git, Subversion, Mercurial
• Strong Unix command line and scripting skills
• Development and testing of applications to enhance user experience of products
• Flexible and willing to do different things
• Experience working in a task driven environment with adherence to strict delivery deadlines
• Working in a team structure and being open to assisting in other tasks (other platform development)
• 3-5 years of commercial experience, preferably in the Visual Effects / Animation or related industry
About the Team:
The Core Infrastructure team is responsible for designing, writing and maintaining three-tier applications and services used by the entire company. Imageworks has a compute farm with thousands of cores and very large amounts of storage to manage.
Some of the problems and issues the team works on include:
• How to write a distributed multi-site asset management system that can handle network outages between locations, and across continents?
• How to use new distributed databases, e.g., Cassandra, to solve multi-facility, multi-master database problems?
• How to manage vast amounts of storage spread over different types of hardware and efficiently and properly assign the correct storage medium to the type of data that is being stored? How to migrate assets created in one location, to another across great distances?
• How to make the best use of thousands of compute cores when there are very disparate requirements for the processes that need to run? Some processes are multi-day and multi-threaded others are only minutes on a single core. How to run all of these processes without disrupting other parts of the infrastructure?
We are interested in self-learners who enjoy developing and using new technologies to solve design problems and have deployed those solutions in production environments, preferably in the Visual Effects, Animation or related industry. Developers who have worked on open-source projects and enjoy writing high-quality code that the entire facility depends upon are encouraged to apply.