PyDev of the Week: Katie McLaughlin

This week we welcome Katie McLaughlin (@glasnt) as our PyDev of the Week! She is a core developer of the BeeWare project. You should take a moment and check out her Github profile to see what fun projects she’s a part of. Katie also has a fun little website and was a speaker at PyCon 2016. Let’s take a few moments to get to know her better!


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

G’day! I’m Australian, originally from Brisbane, but now living in Sydney. I’ve got a Bachelor of Information Technology, and I’ve been in the tech industry for going on ten years now. I’ve been in a bunch of different roles and technologies, but mostly in web hosting and cloud stuff. When I’m not on a computer or attending conferences, I enjoy cooking and making tapestries.

Why did you start using Python?

To fix a bug in a bit of in-house code! There was a bug in an old script, and I saw the “#!/usr/bin/env python” and learnt from there. I didn’t go back to Python for a few years, but just after I was accepted to PyCon Australia 2015, I thought I should brush up on what little I knew. That’s about a year ago now, and it’s now my go-to language for scripting. I was had previously used Ruby for years, and I only occasionally still automatically type “puts” instead of “print”.

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

Well! Based on just languages that I’ve been paid to do, I know JavaScript, Haskell, Scala, C, Python, Ruby, Perl, Bash/Shell, Powerscript, Powershell, PL/SQL, and probably a few others in there as well. Add a dozen or so other languages from high school and university (mostly Pascal, Lisp, Poplog, Assembly, ActionScript, C#, Java), and there’s a lot.

But what languages do I know? That’s a tough one. Personally I’d define knowing a language has having a working knowledge of it. Put any language in front of me and I could probably work it out, but writing is completely different.

Given that, I’d say I know JavaScript, Haskell, Python, Ruby & Bash. #polyglotLife

But as for a favourite, I know I adored Poplog back in the day, but I really don’t play favourites with languages. I use a programming language in an environment to articulate a solution specific to that environment. Using a favourite language in an environment were it doesn’t belong doesn’t do anyone any favours. The right tool for the job, etc 🙂

What projects are you working on now?

My major open source project right now is BeeWare, of which I’m a core developer. You may have heard of it as that project with the shiny coins. BeeWare is a set of tools and libraries that allow you to write an applications in Python and deploy them anywhere. Not just on the web, but on Android and iOS.

I’m really excited by what Russell Keith-Magee, the founding Apiarist of the BeeWare project, has been able to achieve so far. It’s very much a work in progress, but it has a bright future.

I’m also the core dev on two other projects: octohatrack, an application that shows the total number of contributors to a GitHub project, not just those who contribute code to master; and emojificate, a module and Django template helper that helps to make emoji more accessible on the web.

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

I do enjoy the usability of requests, and unicodedata is also fun. I’ve been spending far too much time with boto3 recently, though.

Where do you see Python going as a programming language?

Python, now 25 year old, has generally been a server-only language. With the advent of Django about 10 years ago, it moved into web. And there’s also foundations of Python in other spaces, such as in data science and education.

However, Python runs the risk of being left behind as more development happens away from the server. A recent IEEE survey of languages puts Python up the top of the list, but without a solution for embedded systems or mobile.

BeeWare can solve the problem of Python on mobile, and Micropython has coverage over the embedded space. Both these projects should be given more attention and work so that Python can continue to be around for many years to come.

Is there anything else you’d like to say?

The Python community is wonderful. I’m only relatively new here, but the community has embraced me with open arms — the django community especially — and I feel at home here more than I have in any other community. It’s wonderful.

Thanks so much for doing the interview!