Although it's easy to become accustomed to it, it's pretty obvious the software development world has some serious issues in diversity. By this I mean that we have some notable differences in proportions of people compared to the general population. One of the most obvious differences is the low proportion of women, which is true all over the world (albeit noticeably less so in China). In the US, where I spend a good chunk of my time, the lack of African-Americans is also obvious. There's a lot been written on why such imbalances might exist, and what might be done about it.  But here I want to concentrate on a more fundamental question - does it matter?
One point of view I hear fairly regularly is that these diversity imbalances are natural - because women don't have the aptitude or inclination for programming. This point of view upsets a lot of people but I think it's important to treat it seriously. I think of it as a hypothesis, which I'll call the natural balance hypothesis. It needs to be treated seriously because there's plenty of people who feel it explains the current situation - but I argue that it has two serious flaws, which mean that I must vigorously reject it.
The first flaw is a simple one of evidence. There are (roughly) 50% women in the world, so we should expect the ratio for women in computing to be 50% - unless there's real evidence that some other ratio is natural. So far there's no such evidence. Sure, it's obvious that there are biological differences between men and women, and there is evidence that there are differences in brain function between the sexes. But there is no evidence that indicates that the skills that make people better programmers are more common in men.
The only evidence that seems to occur to people who promote the natural balance hypothesis is the fact that there are less female programmers. Personally I find it troubling when software professionals, who ought to be good at logical thinking, can reach so easily for such circular logic.
It is the second flaw in the natural imbalance hypothesis that brings the heat into the discussion. Men have spent centuries using this kind of argument to deny women equal rights in all sorts of fields. Over the last century we've seen tons of evidence that this isn't true elsewhere, so why should it be true in software? As far as I'm concerned this shoddy history should make us doubly wary of the any suggestion that a diversity imbalance is natural. Unless someone comes up with decent evidence that there is a relevant biological difference, we must operate on the assumption that women are equally well suited to programming.
You'll notice above that I said "inclination or aptitude". I've noticed a lot recently that advocates of the natural-balance hypothesis say less frequently that women have less aptitude than men for programming, instead they say that women don't want to do programming. But making statements with inclination is little better than with aptitude - there's still no evidence and it has just the same shoddy history.
So, accepting that there is no good reason for a diversity imbalance, does such an imbalance matter? That is, given we have a unnatural imbalance, is it a problem that's sufficiently serious to spend energy on fixing it? I think there are many reasons why it matters to tackle our imbalances. First and foremost, there's a moral argument. I'm a strong meritocrat, who believes that we should strive for a society where everyone has an equal opportunity to fulfill their potential. A diversity imbalance suggest that there are many women, who would have good careers as programmers, who are not getting the opportunity to do so. I agree with Eric Ries's view that diversity imbalances suggest we are not as meritocratic as we like to think we are.
This waste hurts our profession too. We need more and better software developers to produce valuable software that improves our lives. By not bringing enough women into the profession, we are handicapping ourselves. This will only become more serious as the demand for talent increases in the future. How can we say we are hiring the best people when we ignore significant chunks of our population. Critics of efforts to fix the diversity imbalance often fret that we risk failing to hire a well-qualified male, when we habitually fail to hire well-qualified females.
Lack of diversity is itself a problem. Different people think differently, and consequently come up with different ways to solve problems. If you have a bunch of people with the same background, they miss lots of ideas - leading to inefficiencies and lack of innovation. A diverse group is usually more effective.
This lack of diversity also contributes to our marginalization as a profession. We are already in the situation where the opinions of programmers aren't taken as seriously as they should be by people outside our profession. We see this regularly in our discussions with business people who dismiss us as mere nerds. A diversity imbalance makes us look even more like some marginalizable outsider.
Left to themselves, these kinds of imbalances tend to get worse. People have a natural, often sub-conscious, tendency to be around people like themselves. Consequently as a group becomes a smaller minority, they get excluded more. A warning sign is when people are turned away because they "won't fit in".
There is a great deal of good potential in the software profession. We have a strong tendency towards meritocracy, a natural first position with exploiting the power of computers to enhance our lives, a lack of historical baggage in how we organize ourselves and our work. As a result I think we could provide a model to influence other social groups and lead the way in demonstrating how humans can collaborate. Diversity imbalances are a cancer to that position - how can we claim to be forward thinking when our diversity looks it comes from where the rest of the world was a couple of generations ago?
1: I started writing this bliki post over two years ago but have been stuck because I don't have any profound things to say about how we can fix the diversity imbalance. As a rule I try to ensure that everything I write provides information that readers can act on, so this post sat in limbo. Eventually I decided that I'm just so tired of people saying things like "there aren't many women programmers because women don't have the aptitude/inclination" that I decided that this bliki was worth posting - just so I could give that argument both barrels.
2: I find it makes the discussion flow rather better if I use a concrete case, so I'm using the male-female diversity imbalance. The same arguments apply to other diversity imbalances involving HistoricallyDiscriminatedAgainst groups.
3: Although female programmers are rare now, that wasn't the case in the past. That shift is another argument against the natural balance hypothesis.