During his PyCon US 2015 keynote, Guido stated that we "[wanted] at least two femail core devs" by PyCon US 2016. Guido, Raymond Hettinger, and myself offered to help mentor women who wanted to be core devs to help make this happen. It may not have happened as fast as we wanted, but today I had the honour of giving commit privileges for Python to our first female core developer. This is a big deal for the core development team as it helps put us on a track to fix our gender inequality issue that has bothered us for a while now (we also welcomed new members from Japan and China last year).
The reason I'm doing this blog post (beyond the fact that I'm happy this has occurred), is to share how my thinking needed to shift in order to make sure I put in the right effort to help see this happen (although I think Guido and Raymond deserve most of the credit on making this happen). Being open to having women on the team wasn't enough, nor was simply being passively welcoming. I think proactively welcoming women was a key here.
Now some have said that simply not discriminating should be enough, and in a perfect world where there's no imposter syndrome and other equality issues I would agree. But we don't live in a perfect world and people's perceptions, no matter how wrong they are, do need to occasionally be overcome with some help. I came up with an analogy to help explain this when it became clear to me that proactively welcoming people was critical to getting a more diverse set of project maintainers for CPython.
Imagine working towards joining the Python development team is like going up a flight of stairs. At the top of those stairs is a door, behind which is a party for the Python development team (although maintaining Python can be far from being like a party). Walking up those stairs is like putting in the work to get to become a Python development team member. Some people bound up those steps with ease, while others take a more methodical approach. Some try to leap several steps and find they have taken on more than they can handle, while others just see how much effort it is to just take a single step and don't even start (which will hopefully change with the GitHub migration).
But for some it's that party at the top that can be intimidating. The intimidation factor of who is at the party can be daunting to people. For others it's the fact they don't know anyone at the party. It's this kind of situation where simply having the door open to invite people in isn't enough to convince people they should feel welcome to the party when they reach the door. This is where Guido, Raymond, and I basically decided we would come to the door of the party and cheer women on who chose to try and tackle the set of stairs. For me I just prioritized reviewing code from women on the days I did open source work. I had already begun to be more outwardly thankful towards people for any work they did -- accepted or not -- thanks to some conversations I had with Yarko. But by simply reviewing code from women first and thus focusing on people instead of what the patches fixed, I ended up engaging with specific women on a more regular basis. This focused attention led to a more engaged contributor who learned faster and felt welcomed (I believe Raymond and Guido did the same thing of being more focused on people than on the patches themselves). This was a shift for me as I would have typically just reviewed patches that touched areas of Python where I'm an expert. But by focusing on specific people more than specific patches I was able to have better engagement with people and help them be more productive which long-term leads to me having more time to review those patches that I'm the most qualified to review (working towards welcoming more project maintainers is playing the "long game", folks).
And I would like to think it helped in the end. Going back to the party analogy, do you like going to a party where you think you don't know anyone or think you will feel out of place? As an introvert I know I have dreaded attending parties like that and avoided those kinds of parties most of my life (if you have met me at a conference you may think I'm somewhat of an extrovert, but I like to call myself an "outgoing introvert" and I'm more like Glyph where I can be outgoing to strangers but I'm utterly drained by it afterwards). But if I were going to a party where I know there will be a friend of mine that I can hang out with all night then a party becomes much more bearable. And when the host of the party is friendly and makes an effort to introduce people that also helps. So by having Guido, Raymond, and myself proactively engaging and being friendly we were trying to be the welcoming, friendly hosts at the party so that by the time someone reaches the open door we're standing there to welcome them as if they already know someone there. And to help make someone feel welcome and that they know someone, you just have to engage with them regularly and in a friendly manner.
So my advice to any project maintainers out there who want to attempt to tackle any inequality issues on their development team is to prioritize people and not patches. You're going to get just as much work done, but hopefully your chances of helping someone develop into a fellow project maintainer will improve which will help alleviate the load on you in the long-term. And by getting more maintainers you can then get more patches reviewed and thus everyone benefits. And by making all groups of people feel welcome to be maintainers you greatly widen your potential talent pool to pull from (I know this might all sound obvious, but when you're drowning in patches you don't always stop to think about how best to tackle the problem of getting more help.)