Saturday, April 21, 2007

Women in Computer Science

Having been in academic computer science for a number of years, I can say, at least anecdotally, I know something about the topic.

In particular, a recent NY Times article laments the number of women in computer science. Informally, a colleague and I did some checks and found that there was maybe 20% women in computer science, which is smaller than engineering or mathematics. There's a a book that covers research done on this topic.

Most guys I know would be thrilled if more women were interested in computer science. But there are plenty of things that seem to favor men in the field. First, it takes someone who's a bit obsessive compulsive to be good at computer programming. It's not surprising many CS majors are geeks, who are more accustomed to studying on their own, then interacting with others.

To be good at programming, you need to pay attention to a lot of detail, and be patient enough to spend gads of time trying to debug stuff. Once, I met an undergrad taking his first programming course. He complained he had spent twenty minutes looking for a bug! I almost had to laugh. People can spend days looking for a bug. This kind of fastidiousness is tedious, but some people enjoy the challenge. Still, it's not for everyone.

The real problem with getting good at programming is that it takes times, and lots of it. You make stupid error, then again, then again. Many CS majors recall spending, ten, twenty, thirty, even a hundred hours on a project. Real world projects may take thousands of hours to complete.

Now think of that. Most classes expect you to spend maybe 10-15 hours tops out of class. But programming is best learned if you spend 20-25 hours, and with that kind of number, it begins to interfere with other courses, and it really begins to interfere with sleep. This kind of obsessiveness is mostly associated with video games. More on that later.

Oddly enough, if you look at most CS departments, you find women are from groups you wouldn't entirely expect. Asians. Many women are Chinese, Korean, Indian. Heck, you're more likely to find an African woman than an African-American woman in computer science.

Do you need to be good at video games to be good at programming? Not exactly, no, but the skills to be a good programmer has some similarities to being good at video games. In particular, those who like video games play it for hours. And for some reason, there are more guys willing to do this than girls. Second, many video games have a puzzle like aspect to it, and being able to figure out what's going on with little information is like programming too.

My guess is that guys are more disposed to be obsessive-compulsive than women. Add to the fact that geeky guys aren't highly desirable by women, and that geeky girls aren't (necessarily) highly desired by men (though geeky men are likely to find geeky girls pretty darn cool).

Indeed, many of the women I knew in computer science tended to gravitate to areas like human computer interaction or artificial intelligence. Many fewer women were interested in the heavy math or heavy coding areas like systems programming or programming languages. Oddly enough, more mathy areas, like algorithms are likely to attract more women.

I found that of the few white women I met in computer science, at least at the undergrad level, many of them were math-inclined. Most of the women were coders, usually were Asian. I don't necessarily think Asian women have that much of an advantage over white American women. I do think, oddly enough, the pragmatic attitudes of Asians living in the US (don't major in English! major in science or engineering) overcomes traditional dislikes of math/science.

What this suggests is that white American parents are more likely to tell their daughters they can major in anything, but tell their sons they should be doctors, engineers, etc. There's some social pressure to this end too.

There are other theories too. Geeks can be sometimes insular, shunning women, even as they later complain they can't meet women, or boys who dominate the use of computers. I've noticed women are more careful programmers, and guys more cavalier about errors. It tends to help, as a programmer, to be somewhat reckless, to code it up even if it goes wrong, and be fearless about finding errors.

Part of our problem, really, is that we simply don't teach programming very well. We know how to teach syntax, but not the thinking process of debugging, looking up stuff on the Internet, and simply thinking about what's going on. It's going to take a while before we can re-think how to teach programming so that it may have greater impact on women as well as men.

Also, it's intriguing how people focus on women in computer science, instead of, more generally, minorities in computer science. There may be some stereotypes involved in that as well, that the field is predominantly Asian and white, and that going for traditionally disadvantaged minorities might be less successful, and that, comparatively speaking, there should be no reason why women, who grow up in similar social economic upbringing as men shouldn't be as successful.

Of course, there are things like "women simply aren't good at computer science" that drive women's groups crazy, but may have some physiological basis. I don't know if that's so or not, but certainly, it's harder getting women interested or any good at computer science. It happens, but numbers aren't where most people would like it to be.

1 comment:

Jess said...

"Of course, there are things like "women simply aren't good at computer science" that drive women's groups crazy, but may have some physiological basis."

No, it really doesn't. At all. Psychological, sure, but physiological is ridiculous.