Sunday, March 04, 2012

A spot of mansplaining

This is bit of rambling, responding to Bethany Nowviskie's terrific "Don't circle the wagons", itself a response to Miriam Posner's "Some things to think about before you exhort everyone to code".

I'm a middle-aged, white, male programmer, so that's where I'm coming from. I can't help any of that, but doubtless it colors my perspective.

First, I have to say that the idea of coding being associated with prestige (as it seems now to be in DH) is rather foreign to my experience, but the rise of the brogrammer is probably a sign that in general it's not such a marginal activity anymore. These guys would probably have gone and gotten MBAs instead in years past.

DH is slightly uncomfortable territory for programmers, as I've written in the past, at least it is for people like me who mostly program rather than academics who write code to accomplish their ends. I speak in generalities, and there are good local exceptions, but we don't get adequate (or often any) professional development funding, we don't get research time, we don't get credit for academic stuff we may do (like writing papers, presenting at conferences, etc.), we don't get to lead projects, and our jobs are very often contingent on funding. All this in exchange for about a 30% pay cut over what we could be earning in industry. There are compensations of course: incredibly interesting work, really great people to work with, and often more flexible working conditions. That's worth putting up with a lot. I have a wife and young kids, and I'm rather fond of them, so being able to work from home and having decent working hours and vacation time is a major bonus for me.

None of that in any way accounts for the gender imbalance that Miriam is highlighting, though it does perhaps work as a general disincentive (in academia) to learn to code too well. I'd also say that there is nothing that can make you feel abysmally stupid quite like the discipline of programming. Errors as small as a single character (added or omitted) can make a program fail in any number of weird ways. I am frequently faced with problems that I don't know ahead of time I'll be able to solve. Ostensibly hard problems may be dead simple to fix, while simple tasks may end up taking days. It keeps you humble. But I would say that if you're the lone woman sitting in a class/lecture/lab, and you're feeling lost, you're not the only one, and it has nothing at all to do with your gender.

As Bethany cautions, please, please don't circle the wagons. It's my contention that most of the offensive things about programmer culture are not intentional nor deeply ingrained but are actually artifacts of the gender/race imbalance.

[As an aside, I was interested in Miriam's remarks about codeacademy. I started working through it with my daughter a couple of weeks ago, and she was finding it incredibly frustrating. It does not fit her learning style at all. She, like me, needs to know why she has to type this thing. She finds being told to just type var myName="Grace" without any context stupid. In the end we gave up and started learning how to build web pages, and I'll reintroduce Javascript in that context.]

Programmer culture is exclusionary though. Undergraduate CS programs have "weed out" courses. I've actually taken a couple of these, and the first one did weed me out—it managed to be hard and extremely boring at the same time. I only came back to it years later. This gets at an aspect of programmer culture though, a sort of "are you good enough?" ethic. It's not without foundation—a lot of people who self-identify as programmers can't program—but it also means that when you start to work with a new group, there's often a kind of ritual pissing contest where you have to prove your worth before you're treated as an equal. This kind of thing is irritating enough on it's own, and it's easy to imagine it taking on sexist or racist overtones.

Programming also tends to squeeze out older folks. Actual age discrimination does happen, but it's also because staying current means almost totally rebooting your skillset every few years. The Pragmatic Programmer book recommends learning a new language every year, and this is crucial advice (my own record is more like one every 18 months or so, but that's been enough so far). If you let yourself get comfortable and coast, or go into management, your skills are going to be close to worthless in about 5 years. And, while your experience definitely gives you an edge, you're not guaranteed to have the best solution to any given problem. The 22-year-old who read something on Hacker News last night might have found an answer that totally blows your received wisdom out of the water.

[As another aside, the speed at which skills go stale means that any organization that doesn't invest in professional development for their programmers is being seriously stupid. Or they expect their devs to leave and be replaced every few years.]

The upshot is that the population of programmers not only skews male, it skews young. Put a bunch of young men together, particularly in small groups that are under a lot of pressure (in a startup, for example), and you get the sorts of tribal behaviors that make women and anyone over 35 uncomfortable. There's not just misogyny, there's hostility towards people who might want to have a life outside of work (e.g. people who have spouses and kids and like spending time with them). And this is both a cause of sexual/racial/age imbalance and a result. It's a self-reinforcing cycle.

But there isn't really one monolithic "coder culture", there are lots of them. Every company and institution has its own culture. Teams have cultures. Basically, any grouping of human beings is going to develop its own set of values and ways of doing things. It's what people do naturally. The leaders of these groups have a lot to do with how those cultures develop, but they aren't necessarily in any position to remedy imbalances.

Once you're in a position to hire people, you realize that hiring good developers is hard. In any pool of applicants, you're going to have a bunch of totally unsuitable people, a few maybes, and if you're lucky, one or two gems (or people you think might become a gem with a little polishing). Are any of these going to be women? Not unless you're really lucky, because the weeding out has already done its work. So once you're in a position to decide who gets hired, it's too late to redress any imbalance. The imbalance is not because leaders don't want to hire women, it's already there.

The only answer I can see is to get a lot more women into programming. If the CS curricula can't do it, maybe new modes like DH can. From what I've seen the gender balance in DH, while still not great, is a lot less ruinous than in programming in general, and a CS degree is far from the only road into a programming career (I don't have one). I think the cycle can be broken. I don't think there's a lot of deeply ingrained misogyny or racism in coding culture. Rather, it's a boys club because it happens to be mostly boys. If there were more women it would adjust. And I don't think that (mostly) it would put up much resistance to an influx of women. So circling the wagons is the exact opposite of what needs to be done.


Miriam Posner said...

Hi Hugh! This is great — thanks! Re. Codeacademy, you might be interested in what Julie Meloni had to say about it, which seemed to ring true for a lot of people. (I never did it myself.)

I've never, ever doubted that the "culture" of programming could change if more women were involved. The trick is getting them there. I wonder how you think we might do that?

Unknown said...

Hi Miriam, thank you for starting the conversation. I don't think there are any silver bullets, but I'd say:

1. Great as efforts like PyLadies are, I don't think they'll be enough on their own. We have to foster productive mentoring relationships between men and women as well.

2. Evangelism: programming can not only help advance your academic career, it will give you an excellent alternative to academia.

3. Education: I do wonder whether the traditional CS curriculum itself needs to be rebooted to be more open to women. I'm not really a product of it myself, though, so I don't have deep insights into it. But I can imagine something like a DH program giving students enough of a start to do well without spending a lot of time in the CS department. When job ads say "CS Degree or equivalent experience" they really do mean it...

Yeah, I'd read Julie's comments before I ever looked at it, and agree completely. The main thing that bugged me about it was that it gives you a REPL, but then discourages you from playing around with it—which is where real learning happens—by giving you an error message unless you type in the exact answer they're looking for. Even if you already correctly answered the question! Madness.

Ben W. Brumfield said...

So once you're in a position to decide who gets hired, it's too late to redress any imbalance. The imbalance is not because leaders don't want to hire women, it's already there.

This is so true. I've conducted somewhere over three hundred interviews for development positions over the last decade. During that time, I've seen a consistent attitude among hiring managers and my fellow interviewers of rooting for female candidates. Women will get the same interview as the men, but quietly we're hoping they'll do well.

But out of a hundred or so positions, I can only remember four of five female hires. How can this be? Women accounted for the same range of stars, competents, and duds as the men did in proportion, but as they only made up single-digit percentages of our applicant pool the number of hires was tiny.

Interestingly, when we interviewed developers in India female applicants made up closer to a third of all applicants, rather than the 3-8% we saw in the US.

Sheila said...

Hugh, Thanks for this post. It actually made me understand our applicant pool better as we are looking to hire a PhP developer and can't find anyone. So it was heartening to hear you say that it's hard to find someone good. I've also heard from others seeking to hire open-source program developers that they think that CS programs haven't quite caught up with the type of needs we have in FOSS development, particularly for federally-funded projects that are increasingly pushing folks to use FOSS. I can't speak directly to what is going on in CS programs, but there may be something to that which also could address some of the gender gaps.

Thanks again to you and Miriam!

Cindy Tekobbe said...

I stumbled into this crosstalk discussion today as someone who used to code and design but is struggling her way through culture shock in a PhD program in the humanities. So, it's been a really good day for me. Thank you.

A contributing factor to the adjustment issues I've had is that I hadn't found productive networks of people with which to engage, and so I'm trundling around fending off approaches from people who think that my role in the room is to design the website. (Yeah, I don't do that. There are experts who do that well, and throwing it at me as if we can all do it, or that there isn't a great deal of finesse and aesthetic, in addition to good practices, required is to marginalize the work of those experts and mine.) So, yes, I sit here eyes ablaze in wonder at what feels like one of my first, "real" conversations.

I haven't written more than a few hundred lines of code in years. I've been, as is in my experience, a relatively typical career track for the rare female coder, spending my time in early phase concept and design team meetings, and in project management at a startup. There are reasons for this - some are inherently perceived as better for business - the conventional wisdom goes if you've got a woman, having her in your management team and putting her in front of the clients at conferences is a good thing. It's progressive. And it wasn't infrequent that I had the best communication and negotiation skill set in the room given the gendered way in which those tend to be honed and assessed.

I find the pissing contest-prove yourself ritual to be genuinely insulting because I do feel that my male counterparts are not asked things like, "and by 'enterprise system,' did you mean accounts payable?" even as my resume clearly lists my work history and quite recognizable employers. It did not, however, occur to me until you made this point, that the gendered tint of the questions about whether or not I know the meanings of the words I'm using could also be construed as an amplification of what is already a hostile cultural practice. That's certainly something to think about. It had me reflecting on the practice of locking everyone in the planning room to debate different approaches to a problem until we come up with one we all agree represents the best game we've got. For a woman, that can be a daunting exercise in interpreting and engaging aggressive discursive strategies. Practices that are inherently masculine, but not intentionally sexist unless the discourse itself takes on a deliberately marginalizing tone. The argumentative nature of the practice is not in and of itself intended to be marginalizing, and at some point, everyone has been crushed by that particular grindstone. It is worth consideration also that there may be other strategies at getting at well-refined solutions that are less alienating for everyone. But then this is not a new issue or one limited to programming given that in my field of rhetoric, feminist critics have well described the cultural consequences of privileging inherently masculine discursive practices - how they play out does matter.

I nodded along with Miriam that standing in for all women in that learning environment is an added difficulty. Especially given the preferred pedagogy is to be as tedious and bland as possible - those days were an exercise in asking myself why I hate myself so much that I would inflict this on myself. Just let me break something and see if I can fix it already!

I applaud your efforts to open different doors for your daughter.

Unknown said...

@Cindy, I'm really glad you're finding this productive. I'd never thought about the gendered nature of the discourse in planning meetings, but you're absolutely right. I came into it from a Ph.D. program, and of course in academia there are well established norms of adversarial debate (ideally aimed at discovering the truth rather than just winning the argument) and I pretty much just deployed those skills without even thinking about it.

The ritual pissing contest is insulting, but it doesn't necessarily have a gender/race angle. The first time I remember being on the receiving end of it, a woman was the instigator. But if you're in the minority, any questioning of your competency is going to feel like a gender or race-based attack. It's a bad cultural practice that develops around a genuine problem: figuring out whether this new person can do the work. The people doing it are I'm sure almost always unaware of how it looks and would be wounded and defensive if challenged on those grounds.

My godfather (a black Barbadian) studied for his MD in England, and used to tell the story of how he once boarded a nearly empty train that wasn't due to leave for some time. This was in the days when trains had compartments that would seat about 6 people. So he sat there in his compartment, on the empty train, and eventually someone else got on board, came and peeped in to his compartment, and then went on. And then it happened again, and again, and again. And he started to feel really creeped out. He thought "Oh, my God, this is racism. They don't want to sit next to a black man."

After while though, the train began to fill up, and someone came and sat in his compartment, diagonally across from him (as far away as you can get), and hid behind his newspaper, and gradually his compartment filled up, and he realized that it wasn't racism, it was the English! An Englishman (or woman), given the choice, will pick first the empty compartment, then the least full one, and will only sit next to you as a last resort. [A Bajan on the other hand, getting on a bus empty except for you, would come and sit next to you and start a conversation.]