PyDev of the Week: Joannah Nanjekye

This week we welcome Joannah Nanjekye (@Captain_Joannah) as our PyDev of the Week! Joannah is a core developer of the Python programming language. She is also the author of Python 2 and 3 Compatibility. You can find out more about Joannah on here website. Let’s take a few moments to get to know her better!

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

I am Joannah Nanjekye, I live in Canada, Fredericton but I am originally from Uganda in East Africa. I am a CS grad and doing research related to Python in one of the Python IBM labs at UNB. I went to University in Uganda and Kenya where I studied Software Engineering at Makerere University and Aeronautical Engineering at Kenya Aeronautical College respectively. I am also the Author of Python 2 and 3 compatibility, a book published by Apress. I do not have any serious hobbies but I love flying aircraft. Very expensive hobby heh!!

Why did you start using Python?

I started to use Python because I had to in my first programming class in 2009. Like any CS class Python is simple but some professor decided to make the class so hard. After failing a few assignments in the course, I managed to read my first programming book cover to cover which was a Python book– how to think like a computer scientist and managed to pass my final exams. Nevertheless, my real significant use of Python was in 2012 where I worked on a Django project. I continue to use Python because of its simplicity that allows me to focus on solving the problem at hand.

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

I have good command and proficiency in Golang, Ruby and C. I would say my favourite would be C because I write more C code in general.

What projects are you working on now?

I full time work on a project related to Python the language itself and may be one of its alternate implementations that I can not go into detail because of some NDA restrictions. I am currently working on aspects related to garbage collection. I also give my time to Cpython and other open source projects.

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

I think currently am very interested and curious in how subinterpreters in Cpython will evolve and solve some current shortcomings we have in the language.

What portion of code do you take care of in Python as a core developer?

I would not say take care of because am not assigned to these areas as an expert. I plan to look more at subinterpreters and garbage collection as far as Cpython is concerned. During the recent core developer sprints, I was able to get some good mileage on the high level subinterpreters module implementation which is PEP 554 with Eric Snow’s guidance. In the same sprint, I talked to Pablo Salgado about GC and what areas of improvement we can look at. I just pray for bandwidth and good health to be able to help.

Do you have any advice for other aspiring core developers?

Cpython needs help from everyone individuals and companies otherwise, we will be building on top of a crumbling infrastructure. The process of becoming a core developer is a very transparent one for Cpython. For anyone interested, join the discussion on different aspects of the project of your interest
and contribute in any way. There are many areas where your skills can benefit Python.

Thanks for doing the interview, Joannah!