Today, we meet Matthew Shaw, Python Developer and Pipeline Engineer at Boulder Features, who will be tutoring our Winter Evening Course: Programming in Python 101.
Hi Matt! Can you tell us a bit about yourself and how you got into animation?
I always loved movies, particularly the big epics, like Lord of the Rings. It was actually watching the behind the scenes of it and seeing the “big-atures” (big miniatures) they used for sets when I had the amazing realisation that it was possible to do that for a living. I knew I wanted to work on movies like these, but it was quite a winding road to get to where I am today.
I originally studied modelmaking, doing physical props and prosthetics for film and tv, but moved into digital modeling in the final year of the course. From there I took up an Escape studios course to learn the full vfx workflow, and was able to move from my job in architectural visualisation to a compositor position in Boulder Media. The studio didn’t have a dedicated pipeline team in those days, which is to say they didn’t have any programmers making tools for the artists, and I realised there was a lot of repetition in our day to day work. I’d taken up python as a hobby, and was able to make a few tools to speed things up. It turns out that technical knowledge is extremely useful in the animation industry! Since then I’ve been lucky enough to help design and build the pipeline used here in Boulder on Ireland’s first ever CGI movie.
What was the hardest thing about learning on your own?
Programming is a fun, but daunting thing to learn. There’s a huge amount of online resources that focus on teaching how to write the language, but there’s a lot more required for setting up and integrating what you’ve written. When I first started I wrote a sudoku solver as a challenge but had no idea how to go about making that a tool people could use. Similarly, there’s a lot of very specific terms in programming that are easy to mix up or not realise the significance of, so searching for help online was pretty hit and miss to start, but thanks to supportive friends in computer science, and being incredibly stubborn, I was able to get there in the end.
Do you find that creative people and artists can be a little reticent about learning code?
For the most part, yes. Programming has an aura of mystery for a lot of people that can be a deterrent, but truth be told, it’s actually quite straightforward. Most people’s first thoughts when asked if they would learn code are of maths, or screens filled with 1s and 0s, but programming languages are designed to be very human readable, and maths is not required at all because the computer does it for you (certain graphics jobs are an exception to this).
Can you give us examples of the practical uses of code in an Animation Studio or in a specific animation role?
Every studio runs on a pipeline, which is the code that handles moving data between departments. Some common examples would be services such as databases for tracking the status and progress of assets and shots, or tools which artists use every day, such as publishers for submitting their work into the database so that other departments can pick it up. Obviously most of these tools are studio managed, but there is plenty of opportunity for artists to make tools for their own workflows. TDs (Technical Directors) write department tools, but artists with technical knowledge are by far the most valuable in a team. They are able to help decipher issues with tools, or even write some of their own.
Can you please briefly tell us a little bit about the software you will be using during the course?
We’ll be using an IDE (Integrated Development Environment) called PyCharm. It’s specifically designed for writing python, and has a lot of features for detecting and debugging errors that make it great for learning in. Unfortunately, python is such an expansive topic that we won’t be able to cover how to work with any particular animation programs, but we will cover how to access and get started with their APIs (Application Programming Interface) for those who want to delve further into it. Python is used by nearly all the software used in animation, eg, Maya, Nuke, Houdini, Katana, etc… and so is perfect for animation workflows.
Are there any changes or improvements you would like to see in future versions of the software?
Thankfully, a major change is coming up over the next couple of years. The current version of python used in animation is version 2 which was released in 2008. It officially is no longer supported from 2020, and the vfx industry is upgrading to the newer and much better python 3. This forces a lot of the software used to update their code, which means we’re hopefully going to see a lot of nice changes. This is a big time for the industry and a great time to be learning python 3.
What was your favourite learning/upskilling experience in recent years?
Honestly, starting here at Boulder was a great opportunity to work on ideas that wouldn’t have even occurred to me before. Working on GoJetters, I was able to explore Blink script for making graphical tools like sandstorms and fog effects. I find that there’s always something more to learn in any job, and lots of opportunities to upskill if you’re willing to have a go at something new.
Finally, is there some links you would like us to discover ahead of the course?
I have a lot of useful links for python learning, but they might be a bit daunting as this course is aimed to teach those with no previous knowledge. One great resource that I used to start learning python is codeacademy. They have a lot of different courses, and although parts of it aren’t free anymore, it’s still a great resource. What’s particularly useful are the discussions related to each topic, as there’s a whole community of people who are also learning or able to help.
If you would like to attend Matt’s course, please send an email to:
and register before Friday 25th of October at 5pm.