The Clean Code Blog

by Robert C. Martin (Uncle Bob)

There are Ladies Present

22 March 2013

Oh! I think I get it!

I’m likely to take some heat for what I’m about to write; but I think I finally understand something that’s been bothering me.

Three times in the last few years I’ve been confronted by women who have been offended by something I said during a talk, or a class.

The first time was at a Rails conference a few years ago. I gave a talk entitled “What killed Smalltalk could kill Ruby”. In that talk I referred to C++ as a testosterone language, and I referred to Java as an estrogen language. I meant no harm by this statement. I was mostly making a joke about how seriously C++ programmers take themselves compared to Java programmers. However, some of the women in the audience were offended, and tweeted about their concern. I quickly, and publicly, apologized because I do not want the women in our industry to feel unwelcome. I think we need them. More on that later…

Though I apologized, I was also rather puzzled. My “Tim - the tool man - Taylor” persona was going: “eeeuuuhhh?” What was it that was offensive about that testosterone/estrogen remark? I didn’t know it, but I had already answered that question. I just didn’t get it – then.

A few years later I was giving a talk at ACCU in Oxford. The name of the talk was “Requiem for C”. I started talking about COBOL. And that caused the standard photo image of Admiral Grace Hopper, the inventor of COBOL, to pop into my mind. In the photo she’s standing tall in full dress uniform; including a navy cap. Out of my mouth came the words “in that cute little cap”. I wanted to grab the words back, but…

After the talk Emily Bache came up to me and gently suggested that the statement was not helpful to all the women in the audience. She reminded me that it’s difficult enough to be a woman programmer without someone like me making jokes about other women. I completely agreed, and published yet another apology. I published it because I want women in this industry. I think we need them. More on this later…

Just this week I was teaching a Clean Code course in London. I had 30 students, four of whom were women. I was very pleased with that because it’s among the highest ratio of women I’ve had in class. The class went very well, and after three days I dismissed them all and read their evaluations.

One of the women said she really enjoyed the class and learned a lot, but then wrote “somewhat male oriented, which made me feel out of place”. Tim Taylor: “Eeeuuuhhh?” What had I done? Even now I don’t know what remark I may have made, or what off hand statement might have slipped. I don’t know what her trigger was. But, because of something else that happened this week, I think I get it.

The event I’m referring to is the fiasco at PyCon involving Adria Richards, Alex Reid, Playhaven, and SendGrid. If you aren’t aware of it, there’s a reasonable history in Amanda Blum’s blog. I’m not going to weigh in on the debate about who was right or wrong in this mess, other than to say that the real villains are those jerkwads on the net executing DDOS attacks, and tweeting all manner of obscenities, personal attacks, and illegal threats.

So what is it that I get now? Well, let me tell you a few stories:

When I was in 8th grade, a new kid came to our school. He had been kicked out of his last school in a “tougher” part of the district, so he was an instant hero. A real “hood”. He would greet you for the first time by giving you a big smile with sparkling eyes while enticingly pointing his thumbs to his crotch. As you inevitably looked down to follow his pointing gesture he’s say: “Bagged ya!”. Ha, ha, ha. Hee, hee, hee. Ho, ho, ho. Nothing brightens the day like teenage boy humor.

Twenty years ago I worked as a chief software architect at a network management startup. I was in the mens room one day and two guys in business suits sidled up to the urinals. As they finished one said to the other: “Careful how you shake the dew off that lilly!” As if on cue the other responded: “Any more that two shakes and you’re playing with it!”. Ha, ha, ha. Hee, hee, hee. Ho, ho, ho. Nothing brightens the day like thirty-something urinal humor.

I was watching ER one night a few years back and saw one beautiful young female doctor tell another beautiful young female doctor that she had dropped her recent boyfriend because he was “orally challenged — he wouldn’t go south of the 32nd parallel — he didn’t want to eat at the Y.” Ha, ha, ha. Hee, hee, hee. Ho, ho, ho. Nothing brightens the day like the writers of a once great show succumbing to the temptation to use teenage urinal humor.

My wife has become a fan of Grey’s Anatomy. I’ve watched a few of the shows and don’t get the attraction. It’s all about farting, cheating, screwing on every accommodating surface, pinning panties to bulletin boards, and having your ex-boyfriend teach you how to please your new lesbian lover. Ha, ha, ha. Hee, hee, hee. Ho, ho, ho. Nothing brightens the day like 8 year-old potty humor.

All these things have one thing in common. Locker room humor. I found it all offensive to my intelligence, offensive to my values, and just plain offensive – because of the context. These things did not belong in the school, in the public men’s room, or on TV in my living room. If they belonged anywhere, they belonged in a locker room.

Have we created a locker room environment in the software industry? Has it been male dominated for so long that we’ve turned it into a place where men relax and tell fart and dick jokes amongst themselves to tickle their pre-pubescent personas? When we male programmers are together, do we feel like we’re in a private place where we can drop the rules, pretenses, and manners?

What if the roles were reversed? What if women had dominated the software industry for years, and we men were the ones who were struggling to break into the industry? Men, can you imagine how hard it would be if all the women were constantly, and openly, talking about tampons, cramps, yeast infections, cheating, being cheated on, Trichomoniasis, faking-it, etc? I don’t know about you, but It would make me feel out of place. And there’d be no place to escape it, because the women would be everywhere. I’d want them to save that kind of talk for the ladies room. I’d want them to remember that men were present.

Men, perhaps we need to remember that there are ladies present.

Now that last phrase is going to get me into trouble because too many injustices have been enacted under the excuse that ladies were present. I learned about this from a movie called Dangerous Beauty. The story was of a beautiful young courtesan in 16th century Venice. The important men of the city would take her on all their political and business outings, allowing her to know what their ventures were all about. These men kept their wives entirely in the dark, because you didn’t discuss things like that when ladies were present. So, to find out what was really happening to their husbands and their city, they consulted the courtesan; and they used a phrase that has stuck with me ever since. They said they were consigned to a life of perpetual inconsequence.

Perpetual Inconsequence. That sounds like prison to me. That sounds like hell to me. If that’s what being treated like a lady means, then to hell with that.

I think this explains another experience I had at the Midwestern Ruby conference a couple of years ago. Before I gave the closing keynote on Architecture, I was in the audience listening to a young man give a very interesting talk about GitHub. But the talk bothered me greatly because there was an f-bomb in every sentence. It was effing this and effing that and what the ef here and there and everywhere. Then to top it off he talked about all the code he had written while being “hammered”.

Then someone got up and gave another talk and mentioned that he was happy there were so many women in the audience, and that we needed more. (He’s right… More on that later…).

Then it was my turn. I started the talk by saying: “If we want more women to come to these events, and to participate in our industry, we need to be careful about dropping F-bombs.” Several of the men in the room applauded. But one young woman stood up and yelled: “I totally fucking disagree!

Tim Taylor: “Eeeuuuhh?”

But now I think I get it. If I may paraphrase:

“Don’t treat me differently in a professional context, because I won’t stand for perpetual inconsequence. If you drop f bombs in a professional context, don’t stop just because I’m a girl. But do remember that I’m a woman and there are things that men do that I don’t care to listen to or be part of. Save that for the men’s room because it’s making me crazy when you do it in front of me.”

Now, to pay off my debt.

I had the pleasure of spending an hour with Desi McAdam (@desi) one evening at a function where she happened to be working. I told her that, to me, getting a program to work was like a conquest – killing the beast and brining home the meat. She replied that to her, it was more of a growing, nurturing experience of helping the software come into the world. Tim Taylor: “Eeeuuuhhh?”

But I’ve had some time to think about this. When I think about code, I think about it in terms of killing bugs, molding the code into the shape I demand. I am the master. It is my slave. I have the power to make it be what I want. It’s a huge power trip for me.

I wonder if that isn’t part of the craftsmanship and professionalism problem that our industry has. Why is so much of our software so bad? Is it because we treat it as a conquest? Is it because we don’t nurture it enough?

Don’t get me wrong, for me it’ll always be a conquest. I’ll always be the master of my code. That’s who I am. But perhaps that’s not enough to turn our programming industry into a real profession. Maybe we need the other attitude as well.

After all, in my personal life, I know that the worst decisions I have ever made are the ones I’ve made without my wife. My wife completes me in many different ways. Without her I’d be a shadow of a man walking through a two-dimensional space. My relationship with her transformed me from a boy into a man. She helped me to grow up.

Our industry needs to grow up too. Perhaps the reason we’ve had so much trouble maturing is that we don’t have enough women to help us make the transition from child to adult. Their attitudes, their ways of thinking, different from ours, may be the very things we need to complete us as an industry, and a profession, and as a craft. It seems to me we need these women in order for our profession to become a profession.

So we need to make the women feel welcome. We need to stop considering that the whole of the software industry is our private locker room. We need to treat women programmers as professional peers, while also remembering that there are ladies present.

Of course I’m just Tim Taylor, talking over the fence to Wilson. Women, do I have this right?