PyDev of the Week: Susan Shu Chang

This week we welcome Susan Shu Chang (@susan_shuc) as our PyDev of the Week! Susan is a game developer and speaker as well as a data scientist. She regularly gives talks at multiple conferences. You can learn more about her on her website.

Let’s take a few moment to get to know Susan better!

Susan Shu Chang
Susan Shu Chang

Can you tell us a little about yourself (hobbies, education, etc):

Hi there! My name is Susan and I’m a data scientist and game developer.

I work at Clearco (a fintech unicorn) as a Principal Data Scientist leading the ML initiatives and infrastructure, and on the weekends I run my video game studio, Quill Game Studios.

On behalf of Quill Game Studios I’ve spoken at Pycon US, India, and Canada, about using Ren’Py for game development. You might catch me at another conference in the future!

Formal education wise I have a bachelor’s degree from the University of Waterloo, and a master’s degree from the University of Toronto, both in economics.

As to how I stumbled into game development and data science it started like this:

In undergrad, I had been learning programming outside of my formal education, just for fun. I started working on ideas for my first game, building some prototypes.

As I wrapped up my bachelor’s degree at the University of Waterloo, I was accepted to the University of Toronto for my master’s in Economics.

At this point, I had no idea that there was a whole industry called data science. I had done a full undergrad and was partway through my master’s, when a friend mentioned to me: “Hey, you know programming, and you’re good at stats. You could probably check out data science jobs!”

I googled “what is data science” that day. It was a light bulb moment – “woah, there is a field where I don’t need to discard one of my two skill trees!”

Now, I do both!

Why did you start using Python?

I started self-learning Python and some JavaScript to make games when I was in university.

Though, I actually started using Python initially following the free book, Automating the Boring Stuff with Python.

After I took a university elective which used Racket (which was surprisingly good at helping me understand recursion, etc.) Python started to make a lot more sense.

What other programming languages do you know and which is your favorite?

I self-learned and have used C++ in the context of making video games in Unreal Engine – my engine of choice for game jams – hackathons but for game dev. Unfortunately the main bottleneck for me making commercial (for sale) games with Unreal is the budget and scope for custom, 3D assets. Hackathons are fine because I use free assets.

JavaScript, mostly in the context of building Node.js apps during a previous full-stack developer contract role.

I do a decent amount of shell scripting for my full time work, as well for some simple server admin for my own websites.

During my master’s, I insisted on typing most of my assignments up in LaTeX – I just love how it looks. I still use LaTeX for some documents here and there.

Python remains my favorite since I use it for both data science and game development (for commercial games). There’s just something about how versatile it is.

What projects are you working on now?

I’ve started work on my studio’s second game, Death Becomes You, a mystery whodunit novel with multiple endings. For this game I made the decision to contract out part of the writing, which I did 100% myself for the first game, so I was mostly sitting back and relaxing, until recently. I have to write out any remaining scenes and edit, before I can start programming.

Full time work wise, I’ve been working a lot with Kubeflow, an open source machine learning platform, and have contributed some small improvements to the onboarding experience.

On an ongoing basis, I enjoy being involved in the open source community (issues, PRs, helping folks out on Slack…) and I think it’s a great way for folks to learn to collaborate in different software environments. It’s also how I primarily learned git well early on in my career – by making mistakes that notify thousands of people…

Which Python libraries are your favorite (core or 3rd party)?

I almost always answer this with the standard library.

Even though as a Data Scientist / Machine learning engineer I am heavily using the ML frameworks, but still… There’s something endearing about how the standard library is always a constant, calming presence in everything I build.

Is there anything else you’d like to say?

Thank you for reading! I write weekly about data science, game development, career and productivity over at my blog, You can also subscribe to my newsletter for new posts.

Thanks for doing the interview, Susan!