github twitter keybase instagram spotify

Diversity: We're Not Done Yet

Update on September 6th: Finally included the IPython notebooks!

This post is an accompaniment to my Diversity: We’re not done yet first at EuroPython in Bilbao, Spain in July 2015, then as a keynote for DjangoCon US in Austin, TX in September 2015. Slides here, video from EuroPython here, and the IPython notebooks for the data visualization here.

I just recently nerded out saw the San Francisco Symphony play the whole score to the full screening of the 2009 Star Trek movie. It was ridiculously awesome. Side note: I love this rendition of The Next Generation theme by Vitamin String Quartet.

It reminded me that Gene Roddenberry had some great comments on the TV series that are very on-point with regards to diversity:

One obstacle to adulthood needs to be solved immediately:

We must learn not just to accept differences between ourselves and our ideas, but to enthusiastically welcome and enjoy them. Diversity contains as many treasures as those waiting for us in other worlds.

We will find it impossible to fear diversity and to enter into the future at the same time.

– Gene Roddenberry

It was so very comforting to hear this the first time from someone so prominent in “geek” culture. I grew up with my father watching The Next Generation, Deep Space 9, and The Voyager (my favorite is The Next Generation and Captain Luc Picard). My father is the the doppelgänger of Data - whom he dressed up as for one halloween.

But I have a suspicion that having Star Trek in the background of my adolescence has subconsciously influenced me. Looking at the TV series as an adult, its discourse is very diplomatic – something still very novel today. The characters had very altruistic personal views, and applied them in difficult situations. The whole premise of the Starfleet was purely humanitarian and peacekeeping. The series itself was used to reflect current cultural issues including racism, sexism, class warfare, among many others. Roddenberry himself even said “[By creating] a new world with new rules, I could make statements about sex, religion, Vietnam, politics, and intercontinental missiles.”

Some Background

Perhaps you’re new to Python or not involved with the community very much - but to get everyone up to speed, the past few years there’s been a huge movement to improve this community’s diversity. Four EuroPython’s ago, 2012 in Florence, I gave a keynote as a complete Python newbie about how I was working to help increase the amount of women within the Python community. I found it only appropriate to give an “update” for this year’s EuroPython.

But this turns into a bit of an ass-kicking if anything.

Why it’s a problem

To give some context, I could try my best to explain why having a lack of diversity is a problem that we should care about. But in reading some research and a few scientific papers, I found a few highlights that did a better job than I could.

The first one - from Harvard Business Review:

There’s little correlation between a group’s collective intelligence and the IQs of its individual members. But if a group includes more women, its collective intelligence rises.

The next one from the National Academy of Engineering:

…creativity depends on our life experiences. Without diversity, the life experiences we bring to an engineering problem are limited.

As a consequence, we may not find the best engineering solution.

And from Scientific American:

…when groups of intelligent individuals are working to solve hard problems, the diversity of the problem solvers matters more than their individual ability.

Thus, diversity is not distinct from enhancing overall quality—it is integral to achieving it.

Another one from the same article in Scientific American:

…chronic and woeful underrepresentation in the workforce leads to “the inescapable conclusion that we are missing critical contributors to our talent pool.”

It is hard to grow a workforce —let alone get the “best” workforce— when there’s broad underrepresentation of up to 75 percent of the potential talent pool.

One last one from a different Harvard Business Review case:

After 10 years of work experience, 41% of women in tech leave the industry, compared with 17% of men.

But they are not more likely to leave that the women in other industries because of having families.

When you look at actual data from current, popular technology companies, you can see a lack of gender diversity across the board within technical positions:

Gender breakdown within tech fields among major tech companies

No surprise - the leadership for tech companies are lacking diversity. Taking the current top 20 highest-earning technology companies on the Fortune 500 list, of 66 CEOs in the history of these companies (I counted - but it was difficult to find history for some companies), only 7 are women.

What we’re doing right

I mentioned earlier that there has been a large initiative within the Python community to increase diversity. So what are we doing?

Python Software Foundation

I’ve been on the board of the PSF for 2 terms, and just started the 3rd term. In those years, we’ve seen and approved a large influx of grant requests that specifically target diversity initiatives.

Just two board meetings ago - June 23rd - we approved 3 Django Girls funding requests, 2 grants to PyCon UK specifically targeted to getting kids and teachers to their conference, and 2 grants for workshops in low-economic areas, or areas that would have difficulty accessing a computer. From some napkin calculations, we’ve given 19 grants to Django Girls, totaling over $22,000.

We also are trying to be introspective too. This past elections, we made a call to the members list pleading to take diversity into consideration when nominating. Because of those efforts, out of 11 directors on the current board, we have 7 women. That is up from 3 women on the 2014-2015 and 2 women on the 2013-2014 term.


Within the Python-centric conference network, you may have noticed the influx of Code of Conduct adaptation.

There’s a loud opinion that seems to think CoCs are not needed for conferences. Yet a CoC isn’t for those folks. Those most likely affected by harassment or assaulting behavior are often in the minority of the event, less likely to be visible. There’s even a timeline of events (that absolutely can not be exhaustive in it of itself) that’s actively maintained - and it will show these folks that incidents do happen. And when they do, we - as a community - need to show those that are affected by harassment or inappropriate behavior that we care and support them.

As of November 2012, The Python Software Foundation passed a resolution that states it will only sponsor conferences that have or agree to create and publish a Code of Conduct/Anti Harassment guide for their conference.

In the past few years, conferences have also been organizing or supporting women-only events, including PyLadies lunches, Django Girls tutorials, women-attendee cocktail hours, and the like. I’ve led many of these events myself. And every single time, I regularly hear praise for being in a room full of awesome women. At the annual PyLadies lunch at PyCon US/North America, I get women to promote their own talks, tutorials, poster sessions, and lightning talks for the conference. Women may be a bit embarrassed to talk about themselves. Having a forum that is explicitly deemed okay - and encouraged - to do so has had a tremendous effect on confidence.


You may have noticed Guido’s t-shirt yesterday at his keynote - “Python is for girls”. He wears it proudly so often that I’m surprised there are not more holes and coffee stains on it. Maybe he has a closet full of them, I don’t know (If you do - can I have one?!)

Anyways - having the creator of Python publicly talk about the need for diversity within the community - a community that wouldn’t exist without him - has had a significant impact. I am lucky that he lives in the Bay Area, and have certainly abused his close proximity. I first met him after I cold-emailed him, inviting Guido to help me kick off a weekly Python study group. Of course - he wore that Python is for Girls shirt. Since then, he’s been a regular speaker at our meetups, including the yet-to-be-announced PyLadies CPython sprint coming up.

If you take a look at other tech communities, you can see the lack of support from leadership really affecting the respective community. Take the Linux kernel community. I don’t have to say much as it’s been pretty public - but Linus himself has said “all that [diversity] stuff is just details and not really important.” It’s well-known that flamewars are a part of the community. And it has to affect the diversity makeup within linux development: 4.4% of the Ubuntu community are women. 1.8% of the Debian developer community are women.

You can even see lack of leadership support when looking at the Ruby community. In a conversation in response to RubyConf announcing their talk line up and the lack of diversity of speakers, Matz - creator of Ruby - said, “Giving bias to minority does not solve the problem. Just create reverse discrimination.” Ruby-centric conferences have been public about their lack of speaker diversity, one even cancelled their conference over it. Ashe Dryden - a ruby developer and speaker about diversity in tech - said “I’m continually impressed by the Python community and I’m not even a community member.”

The Ruby community has been doing a lot of work to affect gender diversity within the community, including RailsGirls, RailsBridge, and the like. And the fact that these conversations over speaker diversity exist says that the efforts are taking affect. But I can’t help imagine that if Matz was more vocally supportive of the movement, or even if they had a similar organization behind the Ruby language like the PSF supporting diversity movements, it may be a bit better.


Now something that I’m deeply involved with myself: PyLadies. PyLadies started mid-2012 in Los Angeles, with a few women python developers getting together. They essentially said - wouldn’t this be awesome if we did this regularly?

From there, PyLadies expanded to over 70 locations, every continent except Antartica. Each year, we raise tens of thousands of dollars to send women to PyCon US/North America. Of the 70, 44 locations are on meetup, of which have over 10,000 members, and hold events like beginners workshops, talk proposal brainstorming, conference speaking preparations, sprints, hack nights, coffee & code nights - lots of events.

I’m not a statistician, but I like to play one on TV

I actually did some data mining of those 44 meetup groups - thanks to the Meetup API.

I was able to get the amount of new PyLadies joining every month -

PyLadies New Members

And my super scientific regression - I just slapped an arrow pointing up - but you can see the trend of the amount of new members joining.

PyLadies New Members with super scientific regression line

When taken into context, you can see that the annual PyCon in North America may have some effect on inspiring folks to join PyLadies with those immediate spikes right after.

PyLadies New Members with PyCons

And you can see some effect when looking at when the largest 17 chapters (I don’t know why I chose 17) started.

PyLadies New Members and Chapter openings

The effect of PyLadies

So while I’m not a statistician, I do know that correlation does not mean causation, and data is fun nonetheless.

One signal is the growth of women speakers at PyCon North America:

Growth of Women Speakers at PyCon

For PyCon 2013, PyLadies has lead workshops for women to help brainstorm talk proposals with the help of past program committee members, as well as give them the opportunity to practice their talks before the conference. And we’ve been doing that ever since. I’m sure you can relate to this - perhaps you’ve wanted to propose a talk and thought “ah I have a month, I’ll write it later” and suddenly the deadline has passed. So certainly having a dedicated time to get shit done will help.

But I found that a lot of PyLadies wanted to talk, but didn’t have an idea about what topic to speak on. Or actually, they did have an idea but they didn’t think it was a good topic. Having a sounding board of other women accompanied by people who’ve selected talks for PyCon have really given women the confidence to submit a proposal.

So then the talks get accepted, and we all know once a talk is accepted - everyone goes “oh shit…” - but it’s confidence boosting! To have a group of peers select you and your idea — to allot time to you to hear you speak. It’s brilliant!

So I’d like to think that having that resource for PyLadies has had an effect on the % of speakers at PyCon.

You can also see some effect on more regional level, too.

Spotlight: New York

So I took a look at three cities that have a large Python presence - New York, Boston, and San Francisco - to see if the community reflect any difference with the addition of a local PyLadies.

NYC Python Meetup groups

This graph shows the number of new members every month for two meetups - NYC Python which started in mid-2006, and Django NYC debuted in late 2009. Certainly, the communities’ growth is attributable to the popularity of Python as a language over all, as well as the growing tech scene within the area.

But when we see when PyLadies started in mid-2012:

NYC Python Meetup groups where PyLadies started

NYC Python and Django NYC meetups saw sharper growth of new members.

Spotlight: Boston

Boston has been a great hub for Python as well. It has a very active Django Meetup and Python User Group:

Boston Python Meetup groups

However, we don’t see much difference - at least to the Python User Group - in the growth of new members after PyLadies Boston started:

Boston Python Meetup groups and PyLadies

But perhaps you’re familiar - some of PyLadies inspiration was actually from the women-only workshops that the Boston Python User Group started back in early 2011. You can see the large growth rate once a region introduces women-focused events:

Boston Python Meetup groups and women's workshops

Spotlight: San Francisco

Onto San Francisco - home of the largest PyLadies location, the one that I lead as well. We have a bunch of Python-centric meetup groups, and I chose the most active/largest ones:

SF Python Meetup groups

The growth rate of the membership in these meetup groups is pretty noticeable when SF PyLadies started in April 2012, Again with my super scientific arrows I just slapped on:

SF Python Meetup groups

What’s interesting, when switching this to a line graph, you can see when PyLadies SF started, that the rate of new membership for the SF Python Pub Night meetup was not at all affected:

SF Python Meetup groups

I suspect it has something to do with the presence of alcohol and/or the environment that may not attract many PyLadies.

Anyways - this was just me trying to quantify the regional effect of PyLadies on local meetups. Here are the IPython Notebooks to show the process of how I got the data.

What we’re missing

Ok so we’re doing pretty good, don’t you think? We’re not done, though. There’s so much more to do, and just throwing money at PyLadies to host events is not enough. (but please - continue giving us money!)

What is said vs what is meant

A lot of people - recruiters and developers alike - come to me to complain about not hiring women, or about the lack of their corporate diversity in general.

I’ve heard the same excuses all the time when trying to hire more diversely. “I couldn’t find them” or “we’re a meritocracy, gender doesn’t matter!”.

I’m going to introduce a scientific term, maybe you’ve heard of it - “bullshit”. These excuses are bullshit. Let me show you why.

Bullshit excuse #1

what i hear:

Gender equality – that’s not a problem here! Those things don’t matter!

what this translates to:

That is not a problem to me.

This shouldn’t be said anymore. It essentially questions the person’s beliefs. If it’s someone’s concern to increase the gender ratio, it should be treated as a legitimate problem. If you don’t think it’s a problem, then ask questions. “Oh - really? how so? what do you think should be done?” Try to understand why it’s a problem, because - why would anything be said to begin with?

Bullshit excuse #2

what i hear:

We focus on quality, not gender!

Also heard as “We focus on quality, not gender!” or similarly “we’re a meritocracy!”

what this translates to:

Quality apparently means software written by men.

That’s bullshit! What you’re saying to me is that you find quality to mean software written by men.

But quality is not an objective word. Do we encourage uniqueness? or rawness? or authenticity? sensitivity? what other values to we add to “quality”? This excuse is essentially saying “we don’t want to change what we’re doing here”.

Bullshit excuse #3

This can be translated to girls, too:

what i hear:

Women aren’t interested in this.

what this translates to:

It’s their own fault.

This is implying that this is women’s fault. Are women really not that interested? That’s complete bullshit.

At Spotify, we participated in an event called Tekla, meant for secondary-school girls where sponsoring companies held workshops to give a sampling of what the future has to offer in terms of technology. It had robots, computers, gaming, 3d printing, all awesomely geeky things. It proved that this is something girls are interested in, as long as they are invited. PyLadies itself is proof of that too - it provides an invitation for women to join the Python community.

Bullshit excuse #4

what i hear:

We couldn’t find any women.

what this translates to:

I didn’t want to put much effort in.

I put out a single job ad for Spotify once to my local PyLadies mailing list. I got 40 responses from women. 40! I’m not sure there are more than 200 on that mailing list. That’s a super awesome response rate.

So I challenge folks to take a look at your own professional network. For instance, on LinkedIn, how diverse are your connections? How many look like you?

If you reach out to the same network of yours, you’re going to get the same people applying. Yes, it will take work. But “the womenz” are there.

Bullshit excuse #5

I see this kind of thought on the twitter-sphere and on Reddit a lot:

what i hear:

Quotas are bad! That’s reverse discrimination.

what this translates to:

I want to recruit my (male) friends so I can get my referral bonus.

What this sounds like to me is that you just want to recruit your friends - who I’m sure look like you.

It doesn’t help that we have a referral bonus culture that encourages us to hire our friends. I get the reason - hire good people like you. But it has consequences.

So what if we turned it around: “let’s be sure to hire 90% white men!”

There’s incorrect thinking that there is some sacrifice that will be made; that you are lowering the standards. It’s bullshit. I just quoted a bunch of research essentially saying that diversity increases quality. There have been many studies that if you strip away any gender identification from resumes, more women get further along in the recruitment process.

You make sure that everyone that is qualified is being considered.

Lowering standards - ugh - bullshit.

Bullshit excuse #6

what i hear:

We were in a hurry.

Oh goodness - yes - the tech industry is hiring like crazy!

what this translates to:

We don’t care enough to put thought into our process.

What this means is that you don’t actually care enough to put thought in about diversity into your hiring process. It’s as simple as that. Do the work once to ensure that you have appropriate practices in place, diverse networks, maybe remove gender-identifying words in your application process; it certainly doesn’t take much effort to google for local communities to reach out.

The “Bad Guy” Fallacy

This is all thinly-veiled bullshit. I’m sure I’m not the only one to pick up on it either.

And these excuses hint at a larger issue at what I’ve deemed the “bad guy” fallacy.

Certainly, you get why diversity is important. You’re trying, for goodness sakes! (poorly, by the way – see above).

But there’s a notion that there is a “bad guy” behind the lack of diversity in tech. A lot of attention given to someone who says that something bad, and everyone says “ah! there’s the bad guy! get him!”

We didn’t get here because of one “bad guy”. We’re all the “bad guy” – we’re all complicit. We hire our friends, we have a very uniform-looking network. This is something that everyone has to consciously and actively work towards.

Well, shit. What should we do?

Ok so there’s a lot of bullshit. Perhaps you agree on the thinly-veiled bullshit, and that we need to do more. We need to stop being complicit. So what can we do?

let me google that for you

ok folks - have you heard of Google? great? okay. use it.

Numerous amount of times, people come to me to educate them. I am not your teacher. If you want to learn more about feminism, unconscious bias, about privilege, that’s super fantastic! Thumbs up! But I’m not going to do your research for you. I’m not going to give you the TL;DR. I ain’t got time for that - nor the patience for the debates that usually come with it.

I am however - this one time - going to provide you with a set of readings to start you off. Bookmark it:


Alright - after some self-education and some googling, there are micro actions that you can take:


First is super simple - programmers should like it. Switch any use of the word “female” to the word “women”. For example “female attendees” → “women attendees”.

Why, you may ask?

The primary meaning of “female” can be seen more as a term for classification, like studying female lizards:

Female: Of or denoting the sex that can bear offspring or produce eggs, distinguished biologically by the production of gametes (ova) which can be fertilized by male gametes – Oxford English Dictionary

The term “woman” refers specifically to a human, while “female” could refer to any species.

Second reason is it’s dehumanizing. To be reduced to my reproductive abilities, you ignore that I am a human.

Last, when used as a noun, it can imply inferiority. It’s often used in a negative tone. For example, simple search on Twitter, I found:

With the use of the word “females”, we are reduced to a species; we’re separate, we’re other-ed.

Search for the word “females” on Twitter and you’ll see what I mean. Maybe get a drink first.


But along those lines: really think about using a gendered identifier. More often than not, you probably don’t need to.

For instance, at work, I get introduced a lot as “this is Lynn, our female developer”. There’s no need. There is already a word for what I am:

I’m a fucking engineer.

You can call me crappy, lazy, stubborn - whatever. But please – not a “female” or a “woman” developer.

Only when gender is really relevant should you specify it. Like an event specifically for women.

Assume Knowledge

Another micro action is to assume knowledge. Assume everyone has a reason to be at this conference, at this meetup, at this workshop, whatever. Assume that they are not a +1 of someone else, not a beginner, not a recruiter. Allow them to reveal whatever it is they want to, but assume the reason why they are there is the same as yours.

Women-first Design

This probably would sound better if it was “female-first” design for the alliteration - but there’s no reason for it to be other than the alliteration.

Women restroom sign

Women-first design: Make the default pronouns and imagery reflect a woman. Documentation, products, user profiles, form values, whatever.

The reason that this is so impactful is that it’s signaling. It signals to women that - as a developer - you’ve thought about them.

It does not mean patronizing women by painting flowers across your product or adding pink everywhere.

But I doubt that Apple considered how women would react when they first introduced the “iPad”.

Reach Out

The last micro action - this one’s novel I know - but it’s to reach out.

A couple of months ago, Donald Stufft, one of the maintainers of PyPI, pinged me on IRC. He needed help with PyPI - both maintenance &bug fixing, as well as more greenfield projects.

And he actually had a thought: he recognized there were no women that help PyPI behind the scenes.

So - get this - he asked us! He asked PyLadies to help alleviate his workload. To be honest, Donald didn’t think he’d get many takers. But - to his disbelief (and I knew it would happen) - he got 4 volunteers within the first hour of the email.

This shit actually works! mind blowing, I know.

the difficult shit

Micro actions are for the low hanging fruit - small actions we can all do to really help welcome women into Python.

But now onto the more difficult stuff.

Comfortable in the Uncomfortable

It’s very comfortable hiring, working, and hanging out, or co-founding business with people like you. But we must be prepared to get uncomfortable. One way is to take on a sense of “intentional curiosity”.

Ok so remember the let-me-google-that-for-you bit? While I find that annoying, it is indeed commendable. To want to know more about something – that’s fantastic. But it actually takes work. Again, I’m not going to do that for you, but self-education is the key.

One thing that is admirable is a sense of curiosity. Curiosity when meeting people not like oneself within social & workspace. Curiosity about what makes a team work well together, how to make it better. It’s essentially going beyond your comfort zone.

Something that technology companies have been super good at being introspective. It’s embarrassing and uncomfortable to admit mistakes and fuckups. But if a service is down, a company is often very transparent and apologetic about it.  We tend to share what we learn. 

But there isn’t the same level of transparency among the lack of diversity.  We should have post-mortems on the subject - like, “here are our numbers from 2010, here’s what we’re doing, where we are now, etc.” We need to reflect on diversity as a similar problem as when a service go down – our “fail whale” – and then document it for the world.  Open source our diversity.

It’s scary! It’s admitting to fault, it’s uncomfortable! but wouldn’t it be awesome to see that?

Say What You Think

Women: if you are the only woman in the room, say what you really think. Seriously.

I spent a few meetings noticing how often I would be interrupted, unacknowledged, or talked over. God damn it really made me mad!

One meeting it was particularly aggravating, I was supposed to be leading the fucking meeting. And I just got fed up. I literally said - “for fuck sake, let me fucking speak!” It felt good.

Seriously – say what you think. Say what you really fucking think. Rage quit the meeting if you need to. Because otherwise, it will continue; it will get worse.

Your company may be super into diversity with hiring, but if you don’t have a fucking voice at the table, what is the point.

Back to Star Trek

I’ll finish with yet another Star Trek quote – because there are so many awesome ones and it’s a bit more cheery than my above rage:

…humanity will reach maturity and wisdom on the day that it begins not just to tolerate, but take a special delight in differences in ideas and differences in life forms.

…the worst possible thing that can happen to all of us is for the future to somehow press us into a common mould, where we begin to act and talk and look and think alike.

If we cannot learn to actually enjoy those small differences, to take a positive delight in those small differences between our own kind here on this planet, then we do not deserve to go out into space and meet the diversity that is almost certainly out there.

– Gene Roddenberry, The Star Trek Philosophy

Has this article been helpful for you? Consider expressing your gratitude!
Need some help? I'm available for tutoring, mentoring, and interview prep!

comments powered by Disqus