Category Archives: Feminism

Surprise! Feminism.

So yesterday’s article on it being OK to write shitty open source has had thirty thousand views. Most of these came from it hanging out at the top of r/programming for nearly 24 hours.

Which… wow. Another four thousand (which it will probably manage today) and it will be twice as popular as my next most popular articles, which have respectively had a nation wide referendum and years of being a wikipedia link from a popular article to drive up their traffic.

Of those thirty thousand, I’d bet you decent money that twenty thousand minimum thought it was purely about software aphorisms like “release early, release often” and “worse is better” (it’s not about worse is better. Stop trying to make it about worse is better) and didn’t notice that it was not even subtly coded feminism.

“Wait, what? How was it feminism? You didn’t even mention gender!” says my old friend, the suspiciously convenient anonymous voice, currently acting as an expy for a whole bunch of dudes who would have been happy to do the job.

You are correct, suspiciously convenient anonymous voice. I did not mention gender, and in a perfectly egalitarian feminist utopia the piece could have stood on its own without any feminist undertones to speak of.

But we don’t live in that utopia.

As I mentioned, there are two things that you need in order to produce quality software for free:

  1. Time
  2. Money

Anyone want to take a guess what women on average have much less of? Anyone? Anyone?

Did you guess “Both of these things”? Well done!

In our society, a far greater burden of free labour is placed on women (Terminology note: I think everything I say about women in this piece also applies to people who are not women but are perceived as such). They are more likely to be expected to do child care, more likely to be expected to do house work, more likely to be expected to provide free emotional labour in the form of support and favours to others.

And, as we established, labour takes time. So all of this extra labour women are being expected to do cuts into the time they have to do other things, like open source.

But wait, there’s more! Women are also paid less (exact reports for how much differ, so I’m not going to mention a figure for people to derail the point by quibbling about). The freedom to take time off to work on a thing is a lot easier to have if you’re actually paid enough to be able to afford it.

It’s OK though. In order to make up for the lack of these two things, women do have a few things they have more of to offset it.

  1. Dudes who think they are entitled to their time for free
  2. Standards of quality they are expected to meet

…wait, that doesn’t make it better at all, does it?

The sad fact is that women with a public presence get given a much harder time than men do, and this transfers entirely to the open source world: People are extremely ready to police the quality of your work already. Being a woman turns this up to 11.

So with less time and less money to achieve quality in and higher standards they are likely to be expected to adhere to, is it any surprise that the percentage of women in open source is a lot lower than it is in tech overall (where it’s already bad)?

Open source culture in general, and this problem in particular, are not exclusively feminist issues. You absolutely can and do experience these problems as a man, and these problems could easily still exist in a fully gender equal or genderless society, but any understanding of how these problems manifest in and interact with the society we actually have will be incomplete without the structural analysis of privilege and its interaction with gender that feminism brings to the table.

If you want to read more about this subject, I recommend this great piece by Ashe Dryden: The ethics of unpaid labour and the OSS community. A lot of my thoughts and opinions around this were informed by it.

 

This entry was posted in Feminism, programming on by .

The false proxies of mirror images

A while back Tim Chevalier wrote a post called “Hiring based on hobbies: effective or exclusive?” that I seem to feel the need to keep signal boosting. It’s about the problems with using hobbies as a factor when hiring people. I recommend reading the whole thing, but allow me to quote a relevant section:

[…] if you decide someone isn’t worth hiring because they don’t have “interesting” hobbies, what you’re really saying is that people who didn’t come from an affluent background aren’t interesting. That people with child care or home responsibilities aren’t interesting. That disabled people aren’t interesting. That people who have depression or anxiety aren’t interesting. That people who might spend their free time on political activism that they don’t feel comfortable mentioning to a stranger with power over them aren’t interesting. That people who, for another reason, just don’t have access to hacker spaces and don’t fit into hobbyist subcultures aren’t interesting.

Essentially the point is that hiring based on hobbies selects for people who are from a similar background to you.

You see, the problem is that the answer to the question of whether this is effective or exclusive is that it’s both. Hobbies are in many ways a really good signal of an active mind which will engage well with the job.

The problem is that they are also a signal that the person has the time and energy to pursue those hobbies.

Amongst people who have the lack of commitments and routinely have the mental energy for it, it may be that there is a very strong correlation between hobbies and competence (I’d actually place bets that it’s significantly less strong than we like to believe it is, but I have no data so I’m not going to speculate too wildly on that front. Lets assume for the sake of the argument that popular wisdom is correct here).

The problem is that hobbies are a form of false proxy. We’re unable to perform the test that would really allow us to determine someone’s competence (that is to say: Hire them and work closely with them for a couple years in a variety of different scenarios), so instead we pick something which we can easily measure and appears to be a good signal for it.

And how did we learn that it was a good signal?

Well, by looking around us. Look at the people we know that are good. If we’re feeling very virtuous we can look at the people we know are bad and actually compare differences rather than just falling into the “good people do X. Therefore X is good” fallacy.

The problem is that you’re looking at a very small population, and when you do this you’re necessarily massively over-fitting for the data. When you create tests based on your observation of your current in-group you end up creating tests that work very well for people who look like the data you’re modelling and at best perform more noisily for people outside it, but more likely actively penalise them.

Why? Because this is where privilege comes in. (Note: Privilege in this context is a technical term. If you feel the need to comment something along the lines of “How dare you call me privileged? I worked hard to get where I am!” etc just… don’t. Please).

The problem is that the advantages you have are mostly ones you don’t see. Because most of society’s advantages don’t come in terms of people giving you a leg up (certainly some do, but we tend to be more aware of those), they come in the form of things you don’t have to worry about. You may not have to worry about the constraints of chronic illness, of dependants, of currently being in a position where money is tight. It’s hard to notice the absence of something you’ve never experienced, and consequently you often don’t notice these group advantages. This is especially true because even if some people experience it at the individual level, as a group we’re a fairly privileged lot and so most of our group behaviours will lack these constraints.

There’s another way these false proxies can creep in. There have been a bunch of discussions about the myth of the 10x engineer recently. I also had some interesting conversations about various biotruthy beliefs about programming on Twitter (mostly with tef and janepipistrelle I think). Underlying both of these is a common question: What do we mean by programming ability?

Well, it’s obvious of course. Programming ability is being good at the things that I’m good at. Those things I’m not good at? Yeah I suppose some of them are kinda important, but not nearly as much.

This is a less egotistical viewpoint than you might think it is. Certainly some people believe this because they’re full of themselves, but it’s entirely possible to accidentally finding yourself believing this with the best intentions in the world.

How?

Well, what are the things you work at getting better at?

Right. The things you think are important. So it’s not just that people think things they are good at are important. It’s also that people work to get good at the things they think are important.

So what do you do when you want to decide how well someone will contribute to a team? You look at how good they are of course.

That is… how much they’re good at the things you’re also good at.

Or how much they look like you.

Oh, you’ll still choose people with complementary skills. I don’t think many of us fall into this trap so overtly as to only hire people with the exact same skill set as us. But step up a level, there are the meta qualities. Things like mathematical ability, passion about technology, reliability, being able to think through problems quickly, ability to communicate well and confidently, etc. Certainly these are some of the things I value. Coincidentally they’re things I also think I do quite well in. Funny that, huh?

These don’t necessarily contribute to a group diversity problem. Some of them do – it’s easier to talk confidently when you’re not socially punished for doing so, it’s easier to be passionate when you’ve got the energy to spare – but even when there’s little between-group variation in them (e.g. mathematical ability) they contribute to a personality monoculture. We don’t all look the same, we also all think rather more similarly than sheer chance would suggest.

Ultimately what we’re selecting for when hiring isn’t actually about the individual we’re hiring. What we really want to know is if the addition of this person to the team will make us better in ways we need to be better. This doesn’t necessarily mean they have “cultural fit” or that their abilities align well with the team – it might mean that they have a slow, methodical approach that will provide the necessary damper on the team’s mad rush to ship regardless of how broken. It might mean that they provide a calm, mediating voice. It might simply mean that they’re good at programming in ways that we wouldn’t expect because they’re different from our own. The point is that we don’t actually just need to hire people who are like us, we should hire people who augment us. People from across the spectrum who will make us better in a myriad different ways.

But we can’t test for that, because we don’t know how. So instead we invent these tests which we think provide good proxies for it.

But many of these tests are false proxies which are really testing how similar they are to us.

And then we act surprised when our whole team looks like us, and we claim that well it’s just what the tests show all the best candidates looked like and we have to accept the reality.

What a lovely meritocracy we work in.

This entry was posted in Feminism, Hiring, How do I computer? on by .

Designing a tech meet-up for inclusiveness

A while ago, shortly after attending Nine Worlds, I found myself very impressed with their code of conduct and wondering why more software development meetups don’t have a similar thing – an increasing number (although I think still not a large percentage) of our conferences do so it’s not that we’re completely ignorant of the need, but none of the London tech meet-ups have one. Some recent conversations reminded me of this question, and I think it’s an idea that might have legs.

One tech meet-up in the USA (I’m afraid I don’t remember which one and can’t find the relevant tweet right now) told me they had adopted the Hacker School Code of Conduct, and that it had worked well for them, so we’ve at least got an existence proof that such a group can work.

So it seems like the answer to the question “Why isn’t there a tech meet-up in London with a code of conduct?” is simply “We haven’t created one  yet”. It seems like it might be worth fixing that.

So I set about sketching a meet-up group that would satisfy the criteria “Have a code of conduct”. Of course you can just do this by taking any meet-up group and slapping a code of conduct on it, so this is mostly some thoughts around a) designing an interesting meet-up group and b) supporting that code of conduct slightly better.

Initial design goals:

  1. A code of conduct. I don’t know exactly which one. I like the specific hacker school guidelines, so those should be stolen. The Geek Feminism sample anti-harassment policy is also good. Some hybrid of these two should be made and continually refined as we figure out what works. (As a minor bugbear, and because much of the meet-up will probably happen in a bar because that’s how these things usually end up happening in London, one thing that should be explicitly on the CoC is that pressuring people to drink is not OK)
  2. This explicitly should not a “$SUBGROUP in tech” meet-up. Those are totally worthwhile and I’m glad they exist but, well, you may notice that I look rather a lot like the dominant group in tech. As a result it would be a bit problematic for me to organise such a group. I would hope to promote a diverse group, but I would hope to do that by talking about interesting things whilst not being arseholes. If there are other things we can do to promote it within our group we should do them, but fundamentally this should be a meet-up group who get together to talk about interesting tech things where everyone can be themselves rather than be singled out as a being a specific type of person in tech.
  3. It should be interesting for more than just being a room full of interesting people drinking
  4. People should come away from it improved in some capacity, even if it’s just “Hey I learned a thing”
  5. I like democracy. It’s a good thing. The group should evolve from its initial conception, and it should do so under the guidance of its membership rather than some benevolent dictator (though said dictator may be useful for getting the initial concept up and running).

So here is the design I settled on. Some or all of it may be terrible and liable to change if it hits reality, so consider these more a sketch of an idea than a concrete proposal:

The theme of the group is “Making software development better”. It’s a deliberately loose theme which can cover a multitude of topics. In particular it includes both “making better software” and “making it better to work in software”. Over time the group can decide what precisely we want this to mean – how much we want to focus on technologies, on process, etc. My assumption is that initially most of the talks will focus on “Here’s this thing we’re doing at work. It seems to work pretty well” or “Here’s a problem we’re having at work. Can you lot help me solve it?” – the point being that the focus is on software development rather than programming. This is true both in the sense that we’ll be talking more about “Here’s a neat debugging technique” than “Here let me teach you Haskell”, but also in the sense that non-coders who are part of the process are decidedly welcome. Indeed, while we definitely don’t want to be afraid of advanced technical content, we should try to make sure that a good chunk of what’s talked about is also about the larger process of development.

The rough structure would be:

  1. People arrive and mingle for about half an hour
  2. We have a half hour talk or discussion group, everyone sits
  3. Anyone who wants to get up and talk for < 5 minutes may. These can be lightning talks or they can just be “hey, this is my company, we’re hiring”.
  4. We have a 15 minute break
  5. We have another talk/discussion group
  6. Formalised fun ends. People can now hang around for as long as they like

One talk should be technical (here’s a tool we’re using and how it helps. Here’s a debugging technique. Let me teach you a bit more about security than you probably know), one should be non-technical (here’s a change we made to our sprint process that’s really helped. Here’s one weird trick to make meetings less painful. Here’s how we run our hiring process). Which one goes first will alternate.

The discussion groups are worth highlighting. In these the speaker would basically be acting as a moderator rather than talking for half an hour. Their goal would be to frame the discussion by asking questions and try and direct what’s on topic. The group would probably use something like Occupy movement hand signals (I used these recently, so they’re on my mind) to discuss these points without it just becoming a free-for-all. Basically the goal is to have a productive group discussion around a subject. This is also helpful for people who would like to speak but are nervous about it because they have to do an awful lot less speaking.

Speakers come from within the group rather than external. Everyone is encouraged but not required to speak. Initially I’d imagine that the process for talk selection would be “Whomever we can get to speak”. Eventually when there are enough people prepared to speak something else can probably be decided on – e.g. priority to people who haven’t previously talked, then randomly select a speaker amongst those left. A soft goal here is to provide an environment in which people who might otherwise be reluctant to speak feel comfortable doing so because they know a lot of the people around them and know that they’re in a supportive environment where people will behave decently.

Membership of the group would be closed, but with an aim of bringing ever more people into it: Ideally in any given session about a fifth (I made this number up and it might not be the right balance, but something in that region) of the group should be new. I’m not quite sure how that would work. My default here would be to have a list of people who are interested in joining and select from it by lot to fill a newness quota each session (though I expect that initially there will be trouble finding enough people rather than too many people joining at once). I’d also probably suggest that after someone has been to one session as a newbie there’s an option for a “this person was kinda a jerk and we’d rather they didn’t come back” vote amongst the existing group.

It’s also possible to be expelled from the group. The main way to do this is code of conduct violations – except for extreme violations (sexual harassment, full-blown racist ranting, etc) this isn’t a zero tolerance policy, but people who violate it will be asked to moderate their behaviour and if they don’t then they will be expelled.

There probably needs to be another mechanism for removing people from the group for people who are technically not violating the code of conduct but are making the group a worse place. Best mechanism I can come up with right now is “quietly have a word with the organisers. They’ll quietly poll to get consensus as to whether this is a real problem. If they think it is, they’ll have a word with the person in question about their behaviour. If this continues to be a problem they’ll ask them to leave”.

Anyway, that’s most of my thoughts for now. I’m aware I’ve spent far more on the details of organising the group than on the actual content, but that’s mostly because those are the bits that are novel and because I have a reasonable amount of faith that if you put a bunch of interesting, intelligent and pleasant people in a room they’ll find good things to talk about. One thing developers aren’t short of is opinions, and giving people a non-prejudicial place to speak about those opinions seems like a great way to get a different set than normally dominate heard.

Right now this is just an idea. I do not have a good history of follow-through on ideas. If you want this to happen I recommend shouting excitedly at me until I do it, or stealing the idea for yourself. I’m mostly putting it out there to see if people are interested. Are you?

Update: OK. I’ve got some initial interest. I think I’d like to define acceptance criteria which will cause me to try to organise such a thing. I may adjust these later, these are just an initial attempt at it. I will run an initial attempt at this if I get interest from:

  1. At least 15 people able and interested to attend such an event in London. This number is arbitrarily chosen and I might relax it, but it doesn’t feel like an unreasonable amount.
  2. At least 5 of these people must not be personally known to me. For a concrete criterion lets say I haven’t met them in person. This is mainly to stop this turning into a David’s tech friends all get together event.
  3. At least 5 of these people must not be white cis men. I dislike quotas in general, but this shouldn’t be a hard condition to satisfy and if 2/3rds of the initial audience for this group are just like all the other tech meet-ups in London it feels a little pointless. TBH I’d hope to do a lot better than this, I just want to set a lower bound.
  4. Someone puts forth a technical talk they’d like to do (I’ll hijack the non-technical talk slot for the first one to do a “What do we want out of this?” discussion group). If the first three conditions are satisfied I’m sure I’ll be able to pester someone into doing this.

(I’m indifferent as to whether the 5 in those two conditions overlap or not)

If you’re interested, drop me a tweet or an email (@DRMacIver or [email protected] respectively) to let me know.

This entry was posted in Feminism, How do I computer? on by .

I am angry too

Hilariously, not 6 hours ago I published a post mentioning how I try not to swear on my blog these days. I’ll try to stick to that, but I’m currently so angry that I’m holding onto my rage by my fingernails. Some (much) profanity may slip through.

For those just joining us at home. Shanley is a woman who works in tech and who writes about her experience as such, often from a feminist perspective. Recently she wrote Things I Never, Ever Want to Hear Again which is basically “Here are some of the ways in which men behave awfully in response to the things I regularly talk about. Please stop”.

Twitter is currently exploding with men doing all those things in response to it. Here are some examples.

You see, apparently the problem with Shanley’s post is how angry she was. Honestly, it’s so unproductive. We men are just telling her to be less angry because we want to help her achieve more constructive results. Don’t you know that you catch more flies with honey? Anger is harmful and we don’t like it.

This is, of course, complete and utter fucking rubbish.

The tech community loves anger. We rant all the time. It’s a wonderful spectator sport! People find things they don’t like and they complain about them. And the rest of us chuckle along at home and nod sagely at the the person who is clearly venting and is expressing the rage we also feel in an entertaining manner.

Think of our angry tech celebrities. What happens when you say “Linus Torvalds is a very smart man, but I wish he’d be less angry about it”?

Of course what happens is that everyone nods and agrees with you and says how they’re very impressed by all the things he’s done but boy his attitude is destructive isn’t it?

Wait. No. That’s not what happens at all.

Instead they tell you that he’s just blunt and direct and he gets things done. What are you, some sort of politically correct corporate weenie who is shilling for Microsoft in order to sabotage our beloved open source utopia? How very dare you!

There are plenty of other examples of lesser fame. There’s Zed Shaw, who we all love to hate and sure we think he’s obnoxious but hey why don’t you read this post by him it sure hits the nail on the head.

Hell, way down at the bottom of the scale there’s even me. I’m not without my share of angry tech rants, and people sure seem to enjoy them (for comparison, the angry version of my error reporting manifesto is the one that keeps getting linked to and has at least twice as much traffic as the rewritten one).

We are an angry community. Some of it is real, some of it is for our own entertainment, but many of us are full of anger and it is an entirely normal part of the way we communicate.

But let a woman tell us how our community treats her and people like her and that she’s maybe a little bit peeved about how many people respond to her points in exactly the same fucking way, over and over and over?

Honestly. Why is she so angry? It must be because she’s one of those feminist women! She must have issues! I’m glad us mean are more rational so we can respond calmly and point out that she has some good points but could she maybe say them a little more quietly so we don’t have to listen and can thus go about fixing the issues! Thanks, there’s a dear.

Little bit of a difference there, isn’t there?

The problem isn’t anger. The problem is empathy and responsibility. The problem is sheer god damn hypocrisy.

When people rant about tech it’s something that has bearing on our life experiences. We all see the problems and experience them and can relate to them. Their anger is legitimate because it corresponds to our life experiences.

But when it’s something that only a minority of us experience? Most of us are men, and as such we don’t have the same experiences as Shanley and have trouble relating. Which means that unlike the anger about error reporting, which is totally legit, her anger is wrong, it’s unconstructive. We don’t understand it, so she must be angry over nothing, right? It can’t be a real problem or we’d have seen it.

But it’s more than just an inability to relate of course.

Suppose someone was ranting angrily about people who get some aspect of literary criticism wrong. It might be entertaining (I sure enjoy such things), but we wouldn’t be able to relate. Would we react in the same way?

No of course we wouldn’t. We’d just shrug our shoulders and not care that much.

The problem with complaints about sexism isn’t just that we don’t relate to them, it’s that they make us uncomfortable. We don’t want to be made uncomfortable, so we try to soften the blow by making them not matter. By telling her that maybe she should stop being so angry about the constant abuse and derailing she gets. Because we’re so helpful. See how we’re helping?

Well you’re not fucking helping. You are being part of the problem. Now own up to your hypocrisy, take some responsibility for your actions and the actions of the community you are a part of and realise that maybe you should be angry about this too.

Now. With all this in mind, here’s what I want you to do. I want you to go back and read Shanley’s post again. Don’t ignore the anger. It’s there. It’s legitimate. Instead acknowledge it and listen to the message. She is telling you her experiences. Listen to this, take it on board, and consider the fact that she might be right and by focusing on her tone instead of the message you might be part of the very problem she’s talking about.

This entry was posted in Feminism on by .

More on labels and identity

I’m heading to Nine Worlds later today, which means that instead of getting ready I’m procrastinating by thinking about anything other than the fact that I’m about to spend nearly three solid days surrounded by a very large number of near strangers and having to function socially in their presence.

This caused me to think about the you are not your labels post again and reminded me that I had promised a follow up to clarify my position on some things. I still don’t have a total follow up, but some of my thoughts on the subject crystallized while I was thinking about them in the shower (the shower is a wonderful place for composing thoughts), and I thought I’d write them down while they were in my head.

Identities are important

Apparently one of the vibes I gave off in that post was the standard “privileged person complains about identity politics because it’s so divisive“.

Allow me to state categorically: Fuck that. Identity is super important.

Often when something is described as “divisive” what is meant is “I hold this opinion. You hold that opinion. Therefore you are being divisive by holding a different opinion to me”.

Implicit in “Identity politics are so divisive” is “But aren’t we all the same really?”. It’s very easy to think we’re all the same if the dominant narrative of society is that everyone is like you (note: This is true even if you’re not actually in the majority. Witness the “male as default” thing despite the fact that men are a slight minority). Identity politics is only divisive if you hold the opinion that everyone should act like the default.

So, yeah. My point was in no way intended to diminish peoples’ identities. I apologize if it sounded that way. Identities are important and we should talk about them more, not less.

Labels are important

Labels are super useful.

As well as just the basic fact that language is basically our species’ hat – it’s most of how we actually get things done – labels serve a lot of useful functions.

When you’ve named something you’ve acknowledged that it’s a thing that happens reasonably commonly. When there’s a word for something you get to go “Hey! I’m not alone! There are other people like me!”. This can be really helpful – a lot of people think there is something wrong with them because they’re different from everyone else right up until the point where they discover that there are all sorts of other people like them (I don’t necessarily think it’s a good thing that we need other people like us to feel comfortable with our identity, but it’s a thing that happens whether I like it or not and I’m certainly not going to judge people for needing it).

It’s also useful in group formation. Having groups is useful – it gives you more force when fighting for equality because you can share a voice, it surrounds you with people who understand your problems, etc. It’s much easier to form a group around a concept when you have a label for that concept.

I personally don’t feel strongly about any of my labels, but that’s a personal choice which I wouldn’t especially encourage others to follow. It’s just how I work.

So, labels are great. I encourage you to use them freely and happily, should you desire to do so.

Labels are not identities

Hopefully I’ve now convinced you that the reason I think my point that you are not your labels is important is not because I think either labels or identities are unimportant.

In fact, the reason I think this matters is precisely because they both are so important.

The key thing is that they’re important in different ways. They’re highly connected, and both feed into each other, but they are distinct things which are important for distinct reasons. Sometimes the difference is subtle, sometimes it’s really not.

But what happens when you conflate them is that that difference is erased, and the way you treat each is distorted to match the way you treat the other. If you consider a label a part of your identity you may get very angry and judgmental about other peoples’ usage of it. If you consider your identity a part of your labels, you may get a form of impostor syndrome where you have a platonic ideal of what that label looks like and feel terrible about yourself for not matching that platonic ideal.

This is the key point I was trying to get at which I don’t seem to have adequately conveyed last time. It’s not that labels don’t matter or that identities don’t matter, it’s that the difference between the two does matter.

I may have more to say on the subject at some future date, but that’s all I’ve got for now. Hope it helped clarify my position.

This entry was posted in Feminism, life, Open sourcing my brain, rambling nonsense on by .