(Note: updates are at the bottom of the article.)
Nine years ago, when I first started writing for Doctor Dobb's Journal, I decided to do a piece on the object-oriented features that were being added to MATLAB 5. I didn't know much about them, so I called The MathWorks, told the publicity rep who I was, and asked if they could find me a co-author.
A couple of days later I got a call back from a woman who said she had volunteered to help with the article. I explained again who I was and what I wanted; she said she'd be happy to provide me with information and examples. I then said, "Thanks, but I'd rather have someone technical." After a slight pause, she said, "Well, I have a master's degree in Computer Science, and I implemented some of the new features."
The rest of the conversation was short and uncomfortable. The next day, I had an email from a different guy saying that he'd be working with me. I was embarrassed at having put my foot in my mouth, but it was a long time before I thought to wonder how she had felt.
I'm telling this story because I think it's a good way to introduce the single most important working practice for any software development team: respect. If you and your teammates don't respect one another, it won't matter what IDE you're using, what programming language you've chosen, how carefully you take minutes during your meetings, or how accurate your schedule estimates are---by all measures except your final grade, you will fail.
People can be disrespectful on many levels. The most obvious is simple rudeness, which in student teams usually takes the form of interrupting people. I've been in meetings in which no one could get more than a sentence and a half out before someone would cut them off. The signal people send when they do that is that they think their teammates are less intelligent than they are. In fact, the reverse is usually true: if someone isn't smart enough to realize that letting his teammates finish their thoughts is productive as well as polite, he's probably just not smart, period.
I used "he" and "his" in the previous paragraph deliberately. In my experience, men are more likely to be disrespectful than women. They're also more likely to disrespect who other people are, rather than what they're saying or the work they're doing, just like I did nine years ago.
What I see happening today is that the language of deep disrespect is coming back into fashion. Pushing the envelope has always been a key part of showing that you're cool. Kids aren't allowed to smoke cigarettes? To a 12-year-old, that's reason enough to try it. Not allowed to call people "nigger" and "bitch"? That's reason enough for Quentin Tarrentino to use the words twice a sentence in his movies. Rebellion is cool, man, so if you want to be cool, you have to rebel.
For a while, that was a good thing. In the year I was born (1963), being a rebel meant being opposed to racial segregation and big business, and supporting environmental causes and equal rights for women. In short, being cool meant being moral in the "do unto others" sense. Now that those rebels are the establishment, and their causes are orthodoxy, being cool means using "retro redneck" language, or saying things I thought I'd never hear again from anyone under 40 --- things like, "Hey, man, if a woman isn't tough enough to stand up for herself, maybe she shouldn't be in the software business."
Most of the men who act this way would vigorously deny that they're racist, sexist, or homophobic. However, if you're belong to one of the groups that those words were originally intended to bludgeon, how the hell do you tell? What's the difference to Farouk, Ming, or Bruce between someone who really is racist, misogynist, or homophobic, and someone who just talks as if they were? They can't tell that you mean it ironically; they can't tell that it's just a t-shirt to you, not a deeply-held belief. They particularly can't tell it if they've only just met you, and most of their interactions with you are via email or chat.
A second, subtler, problem is the way that casual disrespect gives license to real disrespect. Some people really are bigots; some people really do think the way the guys working in the second-floor lab talk at one o'clock in the morning. Your insincere disrespect legitimizes theirs, because after all, they're only going a little further than you.
Two more factoids, and then I'll wrap up. First, it's easy to see that fewer women go into Computer Science than men. What's not easy to see is that the dropout rate among female students is higher than it is among males. This has nothing to do with intelligence, grades, or ability to do the work (and yes, there's data to back that statement up). Instead, as many studies have shown (see for example Margolis and Fisher's excllent Unlocking the Clubhouse), women are more likely to be made to feel that they don't belong, or that computing isn't for them. Even a small amount of unequal pressure can have a large result: if there's just a 10% chance per year of a female student dropping out because the guys around her are listening to "Slap My Bitch Around" in the lab while working on their assignments, or because the guys on her CSC369 team have grabbed the interesting bits of implementation, and left the testing and documentation for her, then one third (1-(1-.1)4) of women will be gone after four years.
"Well, why doesn't she grab the design stuff? Survival of the fittest, dude." I've heard that argument many times, and my answer is always the same. If a 200-pound Phys Ed student came up to you, whacked you on the head, and took your wallet and iPod, you wouldn't shrug and say, "Survival of the fittest." The fact that what you're doing doesn't involve physical assault doesn't make it any less unfair.
Second factoid: a couple of years ago, Michelle Levesque and I took a look at the gender ratio in open source. It was even more depressing than I expected: while the gender ratio in computing as a whole is about 7 to 1, the ratio in the open source community seems to be something like 200 or 300 to 1. In other words, the forces that are keeping women out of computing are 30 to 40 times more powerful in open source than in the industry as a whole. I don't have any proof, but I suspect one reason is that there's much less face-to-face contact in open source projects than in "conventional" ones. Study after study has shown that people are more likely to be rude by email than in person. You have to guard against this; you have to take a moment not to say some things, especially when you're trying to juggle five different assignments and look for your first real job at the same time.
I've been talking mostly about the effects disrespect has on women, but it's important to realize that the forces that make computing uncongenial for women also make it uncongenial for a lot of men. If you're a guy with a well-balanced life who thinks social skills matter, you're going to be subject to many of the same differential pressures as your female colleagues. I believe this is one of the reasons there's so much bad software in the world: too many of the people who could make good user interfaces, and readable web sites, and elicit real requirements from customers, and provide useful technical support, are choosing to do other things with their lives.
One last story. The first time I taught CSC207, I had my students write a couple of five-line biographies for themselves as a way to get used to checking things into CVS. In the first, they were to describe who they were; in the second, they were to describe who they hoped to be in ten years' time. A quarter of the male students made a point of mentioning their "beautiful" wife in the second bio; a few even specified that she was an actress or a model. Only one mentioned his "talented" wife, and he was already married. When I pointed this out to the class, they laughed; when I pointed out that half a century ago, in a similar exercise, a former teacher of mine had specified that she wanted to have both a Japanese gardener and a Chinese houseboy, because that was how you knew you'd made it in post-war Vancouver, they didn't think it was quite as funny.