Chapter 10. Jessica McKellar

Jessica McKellar

Jessica McKellar is an American software engineer and entrepreneur. She is a maintainer for several open source projects and the co-author of Twisted Network Programming Essentials. Jessica is a former director of the Python Software Foundation (PSF) and a former organizer of the Boston Python User Group. She is passionate about growing the Python community and serves as the diversity outreach chair for PyCon North America.

Jessica is the founder and CTO of Pilot, a bookkeeping firm which is powered by software. Previously, she was the founder and VP of engineering for Zulip, a real-time collaboration start-up which Dropbox acquired.

Discussion themes: Python and activism, the PSF, Twisted.

Catch up with Jessica McKellar here: @jessicamckella

Mike Driscoll: Could you give a little background about yourself?

Jessica McKellar: I'm an entrepreneur, software engineer, and open source developer currently living in San Francisco.

I am extremely proud to play a role in Python community initiatives. I joke that I don't ever take vacation because 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.

Jessica McKellar: 'I am extremely proud to play a role in Python community initiatives.'

I'm grateful to have won the O'Reilly Open Source Award in 2013 for my outreach efforts in the Python community. This 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 of an early-stage enterprise software company, where I am delighted to have been using and benefiting from Python 3 from the get-go. Previously, I was a founder and the VP of engineering at Zulip.

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.

Driscoll: So why did you first become a programmer?

McKellar: I had always liked using computers. A famous family photo shows me in front of an Apple IIci, with a bottle in one hand and a mouse in the other. But I didn't have any intentions around learning how to program until I was in college.

My first degree is actually in chemistry. While I was taking my chemistry classes, many of my friends were in the computer science department. I would sort of watch them out of the corner of my eye and think to myself that they seemed 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 in my sophomore year, was immediately hooked and secretly got a summer internship at a software company without telling my chemistry advisor (I don't recommend this tactic). I managed to cram a CS degree into my remaining couple of semesters.

Learning how to program is a profound experience. You become fluent within a system and learn how to break down and solve problems within it in a structured way. You gain confidence as a debugger and as a problem solver.

Jessica McKellar: 'Learning how to program is a profound experience...you gain confidence as a debugger and as a problem solver.'

Contributing to free and open source software projects is also a profound experience. You are instilled with the mindset that if you see something that could be better, in a language, library or ecosystem, then you can work together with other contributors to make that change for everyone's benefit.

Jessica McKellar: 'Contributing to free and open source software projects is also a profound experience.'

Believing that you have the tools to identify a problem in the world, break it down into steps, and work with others to implement a solution is a powerful mindset. It's an activist's mindset. Programming has profoundly impacted how I think about myself and my responsibility to my community. It has motivated my time on initiatives ranging from teaching programming to criminal justice reform.

Jessica McKellar: 'Programming has profoundly impacted how I think about myself and my responsibility to my community.'

So I'd say that I learned how to program because I wanted the problem-solving toolkit that programmers have, but the most enduring effect is that it made me an activist. I have since devoted a lot of my energy to creating opportunities for others to learn how to program because we need as many people as possible, on this planet, to have the activist's mindset that programming encourages.

Jessica McKellar: 'We need as many people as possible, on this planet, to have the activist's mindset that programming encourages.'

Driscoll: Why Python?

McKellar: I learned Python because that was the language used in many computer science classes at MIT. I was a student during a big transition from Lisp to Python at the university.

I've since used Python in every job I've ever had and in every company I've started. One should always use the right tool for any task, but Python has such broad utility and such a mature ecosystem, that it has fortunately frequently been the right tool.

Driscoll: How did your first start-up come about, Jessica?

McKellar: My first start-up was Ksplice, which came out of the master's thesis of our CEO, Jeff Arnold.

The Ksplice team had a ton of collective open source experience, which helped us to interface with the Linux kernel community. The experience and knowledge that we had in open source also shaped how we did software development in what came to be a highly distributed team.

Driscoll: Can you tell us how you became a director for the PSF?

McKellar: My Python community involvement started locally. I was working with the Boston Python User Group to run a series of introductory workshops for new programmers, as part of a diversity outreach initiative. I then became an organizer for Boston Python.

Jessica McKellar: 'My Python community involvement started locally.'

The work became more global when I was invited to the inaugural cohort for the PSF's Outreach and Education Committee, which funded community building and educational initiatives in Python communities around the world.

At that point, I'm grateful that Jesse Noller, PSF's director, encouraged me to reach for an even larger platform for community building. He nominated me to become a director on the board. I was elected in 2012 and served for three years.

Driscoll: What was your focus as a director at that time?

McKellar: My focus was on global community development, including providing financial support, and a lot of organizational infrastructure for user groups, conferences and outreach initiatives.

Driscoll: What lessons have you learned as a core maintainer of Twisted?

McKellar: My first ever open source contribution was to Twisted, which is an event-driven networking engine written in Python!

I distinctly remember that formative experience. I was using Twisted in a project at an internship and I was using some documentation that I thought could be clearer. I said, "Hey, this is my chance to contribute to an open source project. I'm going to go for it."

I probably read through the contribution guidelines three times top to bottom. I was anxious that I might make a mistake and someone would yell at me. I remember idling nervously in the IRC channel, opening a new issue in the issue tracker, attaching a diff and generating and regenerating the docs to convince myself that everything looked perfect. I hovered my hand over the submit button for a solid minute before working up the nerve to click.

The outcome was that Glyph Lefkowitz, the creator of Twisted (and a decade later still a friend and coworker), patiently walked me through the review process. He landed my change and encouraged me to keep participating. I had an incredibly positive first experience of contributing to an open source project.

Jessica McKellar: 'I had an incredibly positive first experience of contributing to an open source project.'

That ended up being a good investment for Twisted and for me, as I went on to contribute many more patches, become a core maintainer and write a book about the library.

The enduring open source lesson from Twisted has thus been about the importance of establishing a culture that welcomes new contributors. This is both because it is the right thing to do and because attracting and retaining a diverse contributor base is critical for sustaining a large open source project, on which many people and companies depend.

Jessica McKellar: 'The enduring open source lesson from Twisted has thus been about the importance of establishing a culture that welcomes new contributors.'

Driscoll: Can you tell me more about Pilot, the company that you founded?

McKellar: Pilot is a bookkeeping firm (http://pilot.com). Unlike existing bookkeeping services, we are using software to automate the heavy lifting and a small team of pros to handle the rest. This results in books that are more accurate (less work and worry for you) and cheaper. It has been a delight to build this company on Python 3!

Driscoll: Thank you, Jessica McKellar.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset