PyDev of the Week: Jessica McKellar

This week we welcome Jessica McKellar (@jessicamckellar) as our PyDev of the Week! Jessica is a former Director for the Python Software Foundation and a successful entrepreneur. She is also an author for O’Reilly and has been a core developer for the Twisted framework. You can check out her website or her Github profile to get an idea of what she’s up to. Let’s spend some time getting to know her better!

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

I’m an entrepreneur, software engineer, and open source developer currently living in San Francisco. I’m a former Director for the Python Software Foundation, former organizer for the Boston Python User Group, and PyCon North America’s Diversity Outreach Chair.

I joke that I don’t ever take vacation — I just travel to speak at Python conferences. This has given me the opportunity to speak with and learn from local Python communities around the world. I’m grateful to have won the O’Reilly Open Source Award in 2013 for my outreach efforts in the Python community, which was really recognizing the long-term efforts of many talented people who I am also lucky to call my friends.

I’m currently a founder and the CTO for an early-stage enterprise software company, where I am delighted to be using and benefiting from Python 3 from the get-go. Previously, I was a founder and the VP of Engineering for a real-time collaboration startup acquired by Dropbox. Before that, I was a computer nerd at MIT who joined her friends at Ksplice, a company building a service for rebootless kernel updates on Linux that was acquired by Oracle. These diverse experiences got me onto the Forbes 30 under 30 class of 2017 for enterprise software just in time to age out of the category.

Why did you start using Python?

I learned Python at MIT. I was there during a big transition from Lisp to Python for its introductory classes.

My first degree is actually in chemistry. While I was taking my chemistry classes, many of my friends were in the computer science department, and I would sort of watch them out of the corner of my eye and think to myself “they seem to be learning a toolkit full of tools for solving a broad range of problems in the world…”

I wanted those skills too. I took a couple of CS classes my sophomore year, was immediately hooked, secretly got a summer internship at a software company without telling my chemistry advisor (I don’t recommend this tactic), and managed to cram a CS degree into my remaining couple of semesters.

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

Python is patently my favorite language because it is the easiest, fastest way to solve a broad range of problems. I think it is also the best language for getting first-time programmers hooked on programming. I’ve also been fortunate to use Python in every job I’ve ever had.

I appreciate the time I spent with C and assembly in school and at Ksplice for contributing to really understanding how computers work.

My co-founders and I joke that every time we start a company (we’re on #3 together), the web frontend stack has completely turned over and we have to relearn everything. We thought we were au courant for using jQuery in 2012, and of course today I should be learning React, and I think the super-hip folks have already moved on to Vue? The rate of change in the web frontend stack is so high — I appreciate that other folks are passionate experts on it so I don’t have to be.

What projects are you working on now?

The new company is dominating my time right now, and when I have free time I tend to spend it on community-oriented work like conferences.

I’d like to make the time this year to publish additional video programming tutorials. My PyCon intro to Python and intro to open source contribution tutorials have a couple hundred thousand views on YouTube, and I’ve also published intro and intermediate content through O’Reilly. It’s been one of the most gratifying experiences of my life to get feedback from people around the world. Just today, I got an email from a truck driver in Mississauga, Canada who is learning to program from these videos.

Learning how to program is such a transformative experience — it really changes the way you believe you can interact with the world — so I’m so happy to play a tiny role in more people having access to this experience.

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

My first ever open source contribution was to Twisted, which led to me becoming a core maintainer and writing a book about the library. Twisted will always hold a special place in my heart.

Being able to use some of the Python 3 language and standard library enhancements with this new company has really been a delight. As a small example, just recently we needed single dispatch to solve a problem elegantly, and voila — @functools.singledispatch exists as of Python 3.4.

Where do you see Python going as a programming language?

Programming languages live and die by the employment opportunities available utilizing that language. I believe the easiest way to sustain a programming language and ecosystem is to be the language taught in schools, which ensures tons of new learners and tons of graduating students creating companies with a bias towards the languages they already know from school.

Today, most universities still teach their computer science curriculum in Java or C++. This is true globally as well as in the US, but interestingly, in the US, Python has the strongest adoption trajectory of any language at the university level (and high schools tend to follow university language choices) — more universities are switching to Python than to any other language.

This is a huge opportunity we should tackle proactively as a community. The best curricula, that do the best job of attracting and retaining a diverse audience, should be in Python. Python should be the most delightful language in which to learn how to program, whether or not you speak English.

Thanks so much for doing the interview!