PyDev of the Week: Shauna Gordon-McKeon

This week we welcome Shauna Gordon-McKeon as our PyDev of the Week! Shauna runs her own consulting business, Galaxy Rise Consulting and is a Django enthusiast. She has also spoken at several Python conferences! If this interview isn’t enough for you, you can learn more about Shauna over on the Django Girls blog.

Let’s spend some time getting to know her!

Why did you start using Python?

Right out of college I was working in a neuroimaging lab. We used Matlab to present our stimuli and to do the bulk of data analysis, but there was a lot of data cleaning and other odds and ends that needed doing. There were two experienced programmers in our lab, one who favored Perl and one who favored Python. My desk was right next to the one who favored Python.

I might not have kept on with Python after I left that lab, but then I moved to Boston, which has a vibrant Python community. There were a lot of events where I could learn new skills, people I could ask questions of, etc. That’s really what brought me from “knowing a bit of Python” to making it my primary programming language.

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

Other than Python, right now I’m most fluent with JavaScript. In the past I’ve also been immersed in PHP, Java, R, and as I mentioned Matlab, and there’s a couple other languages like Lisp and Ruby I’ve played around with a little. I’ve found that if I’m not actively working in a language I grow rusty pretty quickly, which is only a good thing if the language is Rust. 😉

There are things I like about all the languages I’ve tried. I kind of resent Matlab for being an expensive proprietary language, but working with data in the Matlab development environment was really nice. JavaScript also has its challenges but you can make such pretty websites with it. I think of all the non-Python languages my favorite is Lisp, because even using it just a little introduces so many interesting concepts I hadn’t encountered before in other languages.

What projects are you working on now?

My main project is Concord, which is a governance library I’ve been working on for a couple years. The goal is to enable developers to build sites which empower communities to democratically self-govern. I’ve learned a ton about Python and about software architecture and of course about governance from working on it.

I’m a freelance developer, and one of my gigs right now is helping build the Parsons project and community. Parsons is an open source data tool designed specifically to help progressives with their data workflow. It’s a fun community, great for newcomers and new coders, and I’m thrilled to be a part of it.

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

My favorite core library is inspect. I’ve thought about proposing a PyCon talk on it just to share my love for it. I mentioned before that I like Lisp because it introduced a lot of programming concepts I hadn’t thought of before, mainly around treating code like an object to be manipulated. The inspect library enables you to do some of that kind of programming in Python.

There are so many 3rd party libraries that I use and love, I can’t pick a favorite. But I’ll shout out Django and DRF, the Jupyter team and SciPy/NumPy/Pandas, Splinter, Mako, and BeautifulSoup to name a few.

What is your favorite thing about the Python community?

I appreciate how seriously it takes inclusivity and, even more simply, kindness. There are technical communities which are very unpleasant to be in. I feel for folks who need to be in those spaces for career reasons, or because it’s the only way to do the work they love. Life is too short to have to be constantly dealing with cruelty or bigotry.

There’s a ton of work that goes on behind the scenes to help the community thrive. I gave a PyCon talk a couple years ago about the governance transition when Guido stepped down as BDFL. A friendly, welcoming, happy community doesn’t just happen, it’s due to the hard work of lots of people establishing norms and building structures to resolve conflict, provide accountability, etc. Python still has a long way to go – most communities have a long way to go – but I think we’re on the right track.

Is there anything the Python community could do better?

Yeah, of course. No community’s perfect.

One long-running issue is diversity. The PSF and the community as a whole have put a lot of work into gender diversity and into geographical diversity – you can see this in support for PyLadies and for regional conferences and meetups, for instance. Jessica McKellar’s work as diversity outreach chair has been stellar. I’m glad PyCon Charlas, the Spanish-language track, exists and want to shout out Marciela Sanchez Miranda, Mario Corchero, Mabel Delgado, and Naomi Cedar who have been the Charlas chairs/co-chairs the last couple years, and the whole team of people behind them who’ve made that happen.

That said, despite this effort, there’s still a gap between the demographic makeup of the Python community and the world at large, and that means there’s more we can do. I’d especially like to see more targeted support for people of color, particularly Black people, who want to learn Python or who are already part of the community. It’s not for me to decide what the support should look like, but I hope that’s something we can collectively work towards.

Something else I’d like to tackle is our relationship to industry. Many of us are employed in the tech industry, and many of the big tech firms sponsor PyCon and the PSF, but sometimes these companies are engaged in deeply unethical behavior. My hope is that as a community we can draw some lines in the sand and say, you know, if you make money from separating children from their families, you can’t have a table in our expo hall. If you illegally fire workers for organizing to improve their workplace, we don’t want your donation. That’s a discussion we need to have as a community, and I hope we have it.

Thanks for doing the interview, Shauna!