Core Software Developer
Method StudiosVancouver, BC
Full Time Job
Method's Pipeline Department writes and manages software which connects the various technologies and applications which comprise the VFX film production pipeline into a single conceptual whole. Images and data must flow through this system in a way that emphasizes efficiency and control, and the volume of data, highly iterative workflow, and many third party applications involved in project based film work pose special challenges to this goal.
Within the department, the smaller Core team focuses on the foundation of the production system, overseeing the architecture and development of software libraries, in-house applications, and databases. These include tools for asset management, software packaging, production tracking, render farm management, intersite collaboration, and more. Basically, if it's meant to last a long time, or affect a large amount of people, the Core team is mixed up in there somewhere.
We're looking for someone who is:
A friendly team player
Driven to learning new skills and technologies
Committed to contributing their skill set to the team, and learning from others
Dedicated to writing high quality, reliable software
Responsible with assigned project time and resources
Well versed in the fundamentals of computer science
Core developers are responsible to the Core lead for:
Writing and upgrading libraries, applications, web interfaces, and databases
Proactively triage bug fixes and execute scheduled repairs
Regularly review schedules and assess development progress
Additionally, developers also:
Collaborate with artists, managers, and our librarian on new and existing projects.
Conform all code to Method coding standards and conventions (and propose new ones).
Document code itn our internal wiki.
Suggest improvements to any areas of the company to the Core Lead or Head of Pipeline.
Receive feedback from other developers from code reviews and project post-mortems.
No team member needs to know everything about everything we write, so if you can write great applications, say, but don't have strong database skills, there is still a place for you. The team needs to collectively have a certain skill portfolio, so we're looking for new people to fill out our team with various abilities.
Bachelor's degree in computer science from a CICIC recognized tertiary institution, or equivalent if from outside Canada, or a suitable equivalent combination of education and experience.
Fluent in Python and shell scripting, with C/C , SQL, or other language exposure.
Experience with one or more relational database systems such as PostgreSQL. NoSQL experience doesn't hurt either.
Experience developing in Linux.
Familiarity with Git and collaborative development workflows (code reviews, code standards, etc).
Specially considered qualifications:
2 years experience working with visual effects post-production pipelines.
Familiarity with computer graphics applications (e.g. Maya, Nuke, Houdini).
Familiarity with render farm software.