I’m a girl. And a programmer. A reasonably experienced one even. There aren’t many of us. Of the few who study computing the majority goes on to do management, or anything other than programming. I’ve always liked this of course. I’m a bit of a male chauvinist to be honest. Even as a child I preferred playing with boys. In many ways I wish fewer women would study computing.
"Don’t be a victim" was one of the most emphasized values I was taught as a child. Complaining and whining never got me anywhere. I suppose that’s why I’ve always found much of the feminist rhetoric annoying. From the start I never complained about it being hard to be a female developer in a male dominated field. Mostly because I didn’t think it was. But in any case I didn’t want people to give me a break because they felt sorry for me. I wanted to earn their respect fair and square. Have I succeeded? Well, sort of. But while I still hate feminist whining, I must admit that I do understand where they are coming from.
Women programmers get treated like foreigners writing in your language. We aren’t expected to do as well as “the natives”. Common errors everyone makes, are seen as proof that you are inherently incompetent. Playful formulations are seen as mistakes. Any deviation from the norm is interpreted as if you have failed to understand that norm. When I suggested to hold a talk at JavaZone about how Hibernate should be avoided, I was met with concern:
"But Hibernate saves you from writing SQL, you see. That’s why we use it."
Oh REALLY? Is THAT what it does? I thought it made USER INTERFACES!
For God’s sake, I’ve got more than a decade of programming experience behind me. I know what Hibernate does. This kind of thing happens all the time. People generally don’t expect me to be any good or to know what I’m talking about up front. They find out soon enough, but their initial expectations are low.
The worst example to date was back in 2004 (when I was still young *sigh*). I felt we needed to reorganize our code and database a bit, so I went to my boss to ask for permission. (Like the submissive female that I am.) I explained the problems we were having and outlined my new proposed solution. But despite my best efforts - and I really did try to be convincing - he didn’t agree with me. I had to shelf my idea. Then a few months later, my boss called me in to a meeting with another programmer. A proper one with facial hair and everything. This other programmer had had a great idea for improving our code base and my boss wanted me to hear it. Yes, you guessed it. It was the exact same idea I had. In every detail. As you can imagine, I was ever so slightly annoyed.
My boss was no sexist old pig. He was a great guy my age. Intelligent and funny. But he had no recollection of me bringing up this idea. He hadn’t been listening. He brushed off my idea without even letting it register. Now it may be that I’m just terrible at presenting ideas. But it is a fact that if people expect you to be crap, they look for - and find - errors in your performance. If they expect you to be awsome, they look for greatness. Experiments have shown that when reports by well known scientists are submitted under a false name, they don’t get published. When crap is submitted under a well know name, it is. Even worse, experiments show that if people think they are disadvantaged in anyway, they perform worse than if they think they have an advantage.
I hate to admit this, but I rarely look at somebody else’s code without thinking “Why, (dear God WHYYY!!!) have they done it THIS way, when it would be SOOO much better to do it THAT way?” If I think the guy who wrote it knows what he is doing, I’ll assume he must have had some good reason for writing it that way, and I’ll ask him about it. But if I don’t think he knows what he’s doing, I - hate to admit it - but I get kind of annoyed. And I’ll probably trust that person less in future. Having low expectations of someone makes it THAT much harder for them to gain the respect of their peers. Just like the foreigner trying to learn a new language - their grammar has to be PERFECT before anyone trusts them to write anything for them.
I have of course always felt welcome as a female programmer. In my experience people really do want more women in computing. In every hiring situation I have felt that being a woman has been an advantage. Few programmers are consciously sexist. But if they see a woman arriving in the team, they don’t expect her to be particularly good. Would you? I know I wouldn’t.
The problem of course is that so many boys have programming as a hobby while still in school. By the time they start studying computing they already have years of experience behind them. Extremely few girls do this. I didn’t. I never did any programming until I started university. The skill-gap between first year students in computing is immense. And while there are also boys with no experience, they are less conspicuous. The girls have BEGINNER stamped on their foreheads in bright pink. And it’s an accurate stamp too. We are clueless. From the very start therefore every computing student knows not to ask a girl for advice. Everyone knows that the boys are better. Not every boy is a good programmer, but all the good programmers are boys. By the time the girls catch up, the damage is done. No one notices. We’ve already been branded.
Would you send your daughter off to study music if she had never touched a musical instrument? Of course not. Even if you would, she wouldn’t be let in. There are entrance exams to pass. Juilliard school of music doesn’t mix beginners with experienced students. The reasons are obvious. They should be equally obvious for us. Like music and sports, programming is a specific skill a significant amount of people learn and have as a hobby. In geology, medicine or anthropology the initial skill-gap among students is negligible compared to computing. I think it would help immensely if students were placed in classes with people at roughly the same level. There are plenty of guys who start studying computing with just as little experience as the girls. In this kind of setting, it would be easier to discover that women’s’ coding abilities are in no way inherently inferior.
Most importantly though we need to get girls into computing WAY BEFORE university. Why not teach programming in school? I think kids would enjoy it. Girls as well as boys. Maybe even more so! Who knows?
In the meantime, I encourage all female programmers who really enjoy coding to keep being awesome! Don’t give up! Take part in as many projects, conferences and other gatherings of programmers as you can. Let more people experience that boobs and coding ability are not mutually exclusive. And guys, take a moment to think about it: A women arrives in your team, what would you expect of her? Your expectation matters.