The idea behind this blog post has always been to make peace between two things. One of these is my honest belief that sexism is unwise and disgusting, and all human beings are equally smart regardless of their gender. The other thing is dismal amount of women in programming profession I observed at that time and place. In 2010, some discussion on the web finally gave me the idea that an easy mathematical construct can demonstrate how these two things can be true at the same time, so I wrote a provocative and--as one of the commenters puts it--"needlessly argumentative" post about it. Here it is, slightly, rewritten.

Are women worse developers than men?

There are slightly more women than men among humans. However, there's just a small amount of women in software development, as observed and acknowledged by us daily. I observe this in the place I work, and I hear a lot from others that they observe the same at their workplaces. If you're a software developer, take a look who surrounds you: how much of them are women? Not much I guess, much less than 50%.

So does this mean that women are somehow inherently worse in programming? No.

I used to dismiss participation rates in countries that do not completely satisfy the definition of "free" (Qatar, Singapore, Malaisiya.) A better question to ask, what is happening in the free world they are doing worse on this than Quatar?

A survey of participation of women in computing over the world demonstrates that it varies dramatically from country to country: from 6% in Denmark to 55% in Thailand (anecdotal evidence reports 60%+ participation in Qatar). If somehow women were worse at this, these rates would have much more similarity. This seems to somehow depend on the culture.

The thing, however, is that whether women are worse or better at it is completely irrelevant for most situations that occur in practice. That's right: even if you are somehow sure that women are inherently worse at programming, this does not warrant any kind of different attitude towards them in the workplace, and here's why.

Why shouldn't one just fire all women if one thinks they are inherently worse at programming?

Short answer: because conditional probability. Longer answer follows.

Assume you are doing an interview, and assume also that you are sure that women are worse programmers than men. Does that mean that the probability that a woman who comes to your interview is a good programmer is lower than the probability that a man in similar position is a good programmer? No, and the reason is that the group your interview candidates come from is no longer "all women" or "all men." Instead, these are "all women who chose their careers in computing" and "men who chose computing".

Conditional probability demo

Demonstration that the skill of job applicants or of those women who chose software development as their career had nothing to do with how good of a programmer an average woman is.

The probability that "a woman is a good programmer" (A) given that "a woman chose programming as her career" (B) is not equal to the probability that "a woman is a good programmer" (A). This probability can be both greater or less than this, according to conditional probability definition (see illustrations):

P(A given B) = P(A and B) / P(B)

The definition of conditional probability.

And something tells me, that this very particular group "women self-selected as professional programmers" will have more good programmers than general population. In any case, no matter how small the ratio of good programmers among all women you believe is, it tells you nothing about women in the profession. Any kind of unfair treatment of female peers can't be justified by reasoning about general population, and understanding of conditional probability gives us a mathematically solid proof why.

Why is there a debate about whether women are good at programming in the first place?

Because many people believe that participation of women in software engineering and the skills of women in general are correlated, while in reality these numbers have absolutely nothing to do with each other. Yes, lack of participation is still a problem, that is worth addressing, but the innate skill levels is not factual. The correct application of basic probability theory should settle this for anyone who has doubts.

Some see low participation of women in engineering as a sign of their inferior skill, and therefore reason that women should not be hired, or should be not taken seriously. This line of reasoning is mathematically wrong, as shown in the previous section, even if it somehow turns out that women are indeed worse programmers, which I do not believe is true.

Others believe that women and men have equal programming abilities (which is a completely justified belief), and make a conclusion that they must be equally represented in the workplace regardless of other factors, thus interpreting the disparity we observe as deliberate diminishing of women's programming skills. This line of reasoning is as unjustified as the previous example because, again and again, skill and participation may have nothing to do with each other. It's still a problem that needs to be addressed, but the issue is not the lack of innate ability.

Instead of trying to eliminate bias in prior perceptions, I offer to focus on fixing what is easier to fix. Math has a certain appeal that other ways of persuasion don't have.

There still exists this vicious cycle when female programmers are considered uncommon, and this wards off women by itself, making them uncommon, again. People stop caring about women because there are none on their team, and there's simply nobody to care about; they forget--or even never learn!--that programming is something people of all gender can do. Feminist websites like this have a lot of advice to offer to mitigate this.

Comments imported from the old website

Noon ("silky") on 04 May 2010 commented:

FWIW I think your post is needlessly argumentative. The reason there are useless flamewars on this topic is not because of a lack of understanding of math, it is due to the way it is framed.

Even your mathematically framing is not great. Consider that if you select, from the group of all male programmers in the industry for more than 6 years, and the group of all females of the same range, and compare. You may find that on average the female is better. Why? Because they've had to be more dedicated to stay in the field.

It's easy to bias the selection to get any outcome you want, really.

The question is more readily addressed by clarifying down to points. For example, who has better ability in maths? Who has better ability in translating desires (specs) into code? Who has a better problem-solving and debugging skills? Only this way can you get to specifics, and get useful metrics. Arguably useful anyway.

Pavel Shved on 04 May 2010 commented:

Come on, that was a joke, about math! When men think about girls, math is the last thing they're concerned about! :-) Anyway, I tried. Most people don't bother with framing, and just go with the way they believe. Both male and female, to be fair.

It's easy to bias the selection to get any outcome you want, really.

That can't be more true, but would any bias be sane? You can select female programmers and male persons with "F"s in math class, but such selection doesn't make sense.

You demonstrate a great example of a sane selection, and indeed it may be true what you say about such women. But, at the same time, women in general are still worse programmers. That's what the post is about!

As for specific points, such dissociation of programming into partials is argumentative itself. And if we introduce into this equation another variable, sex, it won't be any easier...

noon on 05 May 2010 commented:

But what my comment is about is you can claim anything; the problem is that people disagre over definitions. I disagree with you about women being "worse" because your "worse" isn't defined in a way I like.

Pavel Shved on 24 July 2010 commented:

Recently on The Stack Overflow was linked The Male Programmer Privilege Checklist. Very nice view on view on female in programming (yes, a meta-view of sorts).