The Gender Gap in Coding

pieterhpieterh wrote on 29 Apr 2013 21:33


My daughter, nine, comes with me to tech conferences like FOSDEM, in Brussels. She's been using a Linux PC since she was two, self-taught and self-motivating. I'd like to teach her to code, and perhaps make a profession in the software industry. But the chances she'll succeed at that are getting lower each year. I think there's a reason for the so-called "gender gap" but it's not any of the usual explanations.

All the Wrong Reasons

Today I was trying to get my little Ubuntu notebook to detect a HDMI cable. When you speak at a conference you really want to be sure your display will appear on the projector. Noemie said, you have to reboot it. I said, "no way, it's Linux, it detects this kind of stuff." Reboot it, she said, trust me, it'll work. (I think), she added parenthetically.

So I rebooted the laptop and yes, it worked right away. See, she said, beaming with joy, that's how I get my laptop to work on the TV too.

Anyone who says women aren't entirely competent to learn technology or solve technical problems is ignorant. But at the same time, anyone who says that women are dropping out of the software business because of sexism is also ignorant. Yes, there's sexism, but that hasn't stopped women from striving for hundreds of years for ever more equality and power in the workplace, politics, on the road, in the family. If my daughter (who is half Congolese) ever comes to tell me she didn't get some gig because of racism, my answer won't be gentle.

I've worked in the software industry for 30 years, and I've seen the disappearance of women from software teams. It's quite visible, and quite astonishing, because the companies I used to work in were sexist, discriminatory, macho, and often caricatures of the unfair workplace. All the managers were white men. But when it came to talent, there was never much fuss. You sought the best young programmers, you trained them, you paid them all (men and women) as little as you could. The only discrimination was on age, mainly because of salary costs.

Yet today, there is little or no sexism in the teams I work most with. Most of the people I work with could be any age, gender, background, it's invisible and it is irrelevant. There is no visible gender on your GitHub profile unless you post a photo, or use your full name. True, globally distributed projects like ZeroMQ are perhaps still rare, but in our open source projects there are still very few women contributors. We've worked very hard in ZeroMQ to remove all plausible barriers to contributors. While overall diversity is growing rapidly (with contributors from across the globe, and literally, no discrimination of any kind I can detect), gender diversity seems even lower in our open source projects than any workplace I've ever seen.

It's the same at open source conferences. There are women speakers and attendees but they stand out by their rarity. And again, I repeat, it's not because of discrimination. You never met more tolerant, accepting, meritocratic people than the bulk of open source developers. We literally don't care about the things that make people racist, sexist, or otherwise prejudiced.

So what the heck is going on here? No lack of talent, no lack of economic motivation (programming does pay well), decreasing, not increasing barriers, and still, female participation is falling.

People seem to blame a number of factors (these are taken from a thread on Reddit):

  • "Women don't tend to think in a way that lends itself to programming"
  • "Programming is one of those professions that has a man stereotype to it"
  • "Employers don't target women in coding jobs"
  • "Being the only woman in a workplace or classroom is INCREDIBLY uncomfortable"
  • "Discrimination is pretty much it. Being the sole girl in a programming class of boys is not very uplifting, and their comments are just ick."
  • "Women are generally steered pretty hard AWAY from those things"

I like many of these answers and they feel intuitively right, but they don't seem to fit the trend of more female coders 20-30 years ago than today. Sexual discrimination and gender stereotyping was much stronger in the past. There were much greater barriers to entry. Boys made the same lewd comments to girls in their classes.

So we should, I think, classify these explanations as accurate, but not sufficient to explain what's going on. Indeed, all of these except the "women don't have the technical brain to code" are as plausible consequences of fewer female coders as they are causes.

In fact the biggest trend in our professional choices over the last 20-30 years has been a dramatic increase in personal freedom: we can learn anything, we can work from anywhere, we can be anonymous. There's infinitely more freedom for young girls to learn to code than ever before. How does more freedom fit correlate with fewer female coders?

A more plausible answer came to me when I watched my daughter playing with other kids today. It's not an easy answer and it will annoy some people. But when all the obvious answers have been eliminated, you have to start looking at less obvious ones.

Let's first ask the basic question, "why does it matter?"

Why Diversity Matters

Diversity is much wider than gender, of course. As a social species we're great at specializing, dividing up work and then collaborating on a grand scale to solve huge problems. But this strength is also a weakness. When too many people have gone to the same schools, eat the same food, speak the same language, read the same papers, then you get something like France, if you're lucky, and World War One, if you're unlucky: an elite that makes insane decisions because they have no diversity.

It's a basic tenet of collective intelligence: diverse crowds think better than homogeneous crowds. The wider your net, and the more different the backgrounds and thought patterns of your crowd, the smarter decisions they make. When it comes to diversity, there's age, background, education, and sitting like a basketball on a table of oranges, is gender. Whatever other differences you can see between individuals, gender is the main one. I think this is something most of us can agree on, though I've seen loud disagreement about the causes, and the consequences of gender differences.

Let's open this can of worms. Some people argue that gender roles are learned, others argue that they're innate. As the father of three kids I'm amused when people tell me we taught our daughter to be female, or my sons to be male. (For what it's worth, our youngest boy has long hair and people treat him like a little girl. Last weekend he chose to wear a pink hat. Let's see how this works out.) It's also confusing how the same people can argue that gender roles are learned, but homosexuality is not. Anyhow, I am getting off track here.

The point is, wherever they stem from, gender differences are real, big, and I think they're incredibly important. To imagine that men and women should somehow resemble each other seems like wishing all people had the same skin color, features, language, culture. It seems an extremist agenda, to want to wipe out individuality in this way, when as I've explained, it's our very differences that make us valuable.

It's no surprise to me that a key sign of a repressive society is gender separation. Women and men need each other not just to make babies, or be friends, or fight, but to think accurately. If Mars is action, then Venus is knowledge, and one without the other is crippled.

I'm by far not the first person to argue that gender diversity is necessary for a healthy software industry. It's not about being competitive since this industry outgrew national borders some time ago. It's simply about ensuring that as a society we're working on the right problems and building our digital economy with fewer wasteful mistakes.

Why Women are Dropping Out

OK, here's the meat of my argument.

Many years ago I observed that men and women tend to have different communication patterns. It's quite striking once you notice it. These are gross generalizations but I think necessary ones if we want to really understand and then fix the problem. Men tend to fit into a stand-up-and-talk-loudly dialog (publish-subscribe), while women tend to talk in a more peer-to-peer manner (credit-based flow control). In the caricature, one guy is telling a group a story, and convincing them to go off on some adventure. Meanwhile two women are catching up on what's been going on.

It's a systematic, repeated distinction. Men and women seem to form distinct types of social network. Facebook vs. Twitter. Sharing photos and stories vs. sharing jokes.

I realized that I've stopped using Facebook and rely on Twitter more and more. Why? Because it's easier. Sharing stories and keeping up with the endless stream of photos and comments that my female friends on Facebook post is so much work. I'd much rather just make another patch to the code.

And here we have it. From men's point of view, women are in fact rather anti-social. And I'm sure it's the same the other way around. As male software developers get more freedom to create the social networks they really enjoy, they build them to be increasingly hostile to women. It's not conscious discrimination but it becomes a powerful barrier just as the flow of stuff on Facebook or Flickr becomes a barrier to me.

I'm as guilty of this as anyone when I arrogantly try to build communities, only to realize that every pattern that works so successfully for male programmers also becomes a barrier to female programmers. It's taken me a long time to figure it out.

Put this another way: in the old offices, female programmers were competing on more equal terms. HR decided who got hired. As programmers, we came to work, sat down, attended meetings, talked to clients, wrote code, wrote docs. Any socializing was separate. It happened, but was not how we worked. But today if you want to join a community like ZeroMQ, the socializing is critical.

Put this yet another way: the female programmers I've worked with in the past weren't just great programmers, they were noticeably better than the men. They however didn't see the business the same way. They focused less on status and visible success, and more on other values. They were more geeky than geeks, which is weird but how it seems to me. And as the tech business opened up and came online, it became harder and harder for them to feel attached to the competitive sport that software has become.

Perhaps I'm reaching here, but bear with me. The one comment on that Reddit thread that made sense to me was, "even though it's behind a computer screen, it's still a community, and being the only female in a predominantly male community is uncomfortable".

Suggesting that even anonymously, it's as hard for a woman to feel comfortable talking to a group of men as it is for a man to feel comfortable talking to a group of women. I've only a vague idea what this "discomfort" could be, but perhaps simply the way men talk to each other, which can be quite brutal, direct, even rude and impersonal.

Consequently, and this is a vast generalization, self-organizing groups will tend to move towards one gender or the other. If the starting point is mostly male, women will drop out. If the starting point is mostly female, men will drop out. It doesn't take social stigmatization, discrimination, or gender-biased talent. Simply comfort and discomfort and ever expanding freedom of individuals to move away from groups they don't feel they belong, towards those where they do.

Closing the Gender Gap?

If we can accept that men and women think differently, and that with freedom, they'll tend to congregate in discrete groups, and that we're seeing the results of freedom, not sexism or discrimination, then this changes the discussion.

There's a good argument to make for putting freedom of choice above other outcomes. In the Soviet Union, programming was as much a woman's profession as it was a man's. Similarly, most workplaces were very mixed. But perhaps that was because people had no choice. We accept gender-biased groups in many other professions such as taxi driving, hair dressing, nursing, teaching, certain sciences, marketing, human resources, music, and so on.

Alternatively, why not create comfortable zones deliberately? By this, I mean literally, some degree of gender separation by default, as we have in many sports. There are some "women only" coding circles. This doesn't seem offensive or patronizing. As a real concrete step, how about programming workshops for girls only? Sure, men can come and teach or help, but they'd be kept in a strict minority and would not come to learn.

In any case, if the reason women don't code as much as they use to is that working in male communities is uncomfortable, there's no point in trying to bring individual women into male workgroups like adding blue dye to water. Until you hit a certain mass, which could be as much as 30-40%, the women will move away to more comfortable groups as soon as they can.

Sexism, racism, and discrimination of all forms is still loud, present, and something to quash. Intolerance of difference is a bad thing. Ignoring difference doesn't work, because it isolates large chunks of your potential participants. Trying to eradicate difference leads (in the least horrid cases) to weirdness like South Korea or Sweden, both model societies that seem to have high suicide rates and alcohol abuse.

Diversity means difference, and that is valuable. But it's quite plausible that the gender gap doesn't represent a social failure, but rather an expression of growing individual freedom and choice. If so, we should work with this, not try to fight it.

I don't have an answer to why the gender gap exists, how to fix it, or even if we have to try to fix it, only guesses based on too little data. But it's good to throw spaghetti at the wall to see what sticks. If we can even start to identify the right problem, that would be a significant improvement.


Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License