On BritRuby

I am, or rather was, a speaker at British Ruby Conference 2013. If you were planning to attend, or if you follow many Rubyists on Twitter, you probably know that the conference has been cancelled. As one of the invited speakers, and as someone who briefly took part in the Twitter kerfuffle that eventually lead to its cancellation, I want to say a few things about the situation, and about what other conference organizers might learn from it.

But first, I want to talk about polymorphism and virtual machines.

In a dynamic OO language like ruby, when you send a message such as speaker.speak, you don’t have to know or care what kind of object “speaker” is. So long as it responds to #speak, it just works. To paraphrase the old song: Red or yellow, black or white, they are all ducks in the VM’s sight. All objects satisfying the right interface are equal.

Of course, things are never quite as simple as they appear. A VM that performs run-time optimization will eventually notice if speaker is an instance of the same class, 90% of the time. Say, for instance, the WhiteGuy class. In that case, the VM will optimize for the common case of calling WhiteGuy#speak. It might cache the code for WhiteGuy#speak at the speaker.speak call site. It might even arrange to have the CPU pre-load that code and start executing it in parallel with the check for whether speaker is actually a WhiteGuy. 90% of the time, it won’t have to throw out the result of the partially-completed computation, so it’s worth it. Of course, even the developer of the code will probably never notice that this optimization is going on, unless they deliberately examine the live VM with the help of diagnostic tools.

We might say that the VM develops an implicit bias for WhiteGuy objects over time. Human brains are susceptible to implicit bias as well. And while the diagnostic tools aren’t as well-developed, they do exist.

As I probably mention way too often, I’ve been part of the Ruby community for over a decade. And there’s no question that it’s been mostly white guys involved in Ruby for a lot of that time. I’ve picked up some implicit bias as a result.

Want an example? Despite my being a speaker, it took Josh Susser pointing it out for me to realize that the British Ruby Conference advertised a slate of 100% white male speakers. If the line-up had featured a bunch of women and minorities, I would have immediately noted it and thought “ah! what a diverse conference!”. But my white-guy-optimized brain didn’t make the converse observation when the diversity was absent.

Note that you don’t even have to be a white dude to have absorbed this implicit bias.

One problem with this optimization is that it’s out of date. The Ruby community is, thankfully, becoming more and more diverse. More and more great talks are being given by women and minority speakers. Just as an example, GoGaRuCo 2012 had a consistently stellar slate of talks, and fully 25% of the speakers were women. One of the things that stood out to me about the talks was how many fantastic talks were by “new blood” rather than the Ruby old guard.

The BritRuby organizers decided to invite 15 speakers, and leave 5 more slots open to submissions. I fully believe them when they say that they set out to create a diverse conference. However, I think some implicit bias crept into their selection process. Even that is not an accusation I make lightly, so here’s why I say it.

As I mentioned, 15 speakers were invited. Now, given that there is still a big disparity between men and women in the community, not to mention between white folks and other races, I figured it was possible that they had indeed invited a diverse representation of the community. Let’s say 15-25% non-white-dudes, given that it’s still harder to find prominent women and minorities in the Ruby field. And then, in a stroke of rotten luck, every single one of non-white-dude invitees turned them down. This scenario is definitely within the realm of the possible.

So I started asking around. I thought of all the prominent non-white-dude Ruby conference speakers I could in the space of a couple minutes. Just people who came easily to mind, nobody too obscure. I wanted to know if they had been invited to be part of that initial group of 15, and had said no.

Sandi Metz. Bryan Liles. Reg Braithwaite. Angela Harms. Sarah Mei. Katrina Owen (Norway). Keavy McMinn (Scotland). None of these people were invited to be part of the initial line-up. In fact, I couldn’t find a single woman or minority Rubyist who had been invited to be part of that 15.

 

Now obviously, this list is not exhaustive. But these are some of the first people I think of when I think “fantastic Ruby speaker who doesn’t happen to share my chromosomal and/or melanin allotment”. And they aren’t just token minorities either. Just to single out a couple of people, I’m certain either Sandi Metz or Katrina Owen would have blown away any talk I might have come up with.

I’m not accusing the BritRuby organizers of being racist, sexist, or misogynistic. And I don’t think anyone else involved in this conversation is accusing them of those things either, despite misguided claims to the contrary. But I don’t think it’s farfetched to suggest that in their process for coming up with names to invite, their brain VMs might have been over-optimized for the common case: white dudes.

Of course, there were still those last 5 slots. But to quote Sarah Mei:

 

Indeed. I’ve heard from at least two women who were at least mildly put off, when submitting a proposal, by the makeup of the initial slate. Not enough so to refrain from submitting; but still, they didn’t feel entirely welcomed.

Interestingly, several of the people in the list above hadn’t even heard of the CFP until after the issue blew up on Twitter. I’ll come back to that point in a bit.

So there was this lineup of all white dudes, and both Josh Susser and James Rosen took notice and called the BritRuby organizers a bunch of racist misogynist pigs. No; wait; that’s just what the participants in certain discussions seem to think happened. What actually happened was this:

 

 

In fact, as far as I can see no one ever leveled accusations of racism or misogyny. Others also failed to locate these rumored attacks by packs of vicious PC police.

 

 

Elizabeth Hendrickson went looking too, and found only “expressions of regret and offers of help”. (Stop now and read her whole post, it’s important).

For my part, I offered to cede my slot if it would help remedy the situation.

The response from the BritRuby organizers, via their Twitter account, was defensive but polite. Then, scarcely 24 hours after the brouhaha broke out, they abruptly cancelled the conference.

I’ve tried very hard since then to understand how a brief spate of largely constructive criticism on Twitter led to this cancellation. As Steve Klabnik has pointed out, the cancellation announcement doesn’t actually cite a reason. Assorted claims to the contrary, it was not cancelled merely because “people said mean things”. (And frankly, I can’t fathom how anyone could suggest that that is why veteran conference organizers would cancel an event a year in the making. That’s just silly.)

I did contact one of the organizers, and while he couldn’t cite specifics, he said it came down to finances. The best I can gather is that some sponsors expressed concern. Contrary to some rumors that were floating around, there are no confirmed reports of a sponsor pulling support for the conference at the time I’m writing this. I suspect we won’t know the details of the decision until the dust settles and the organizers have time to do a proper postmortem.

I’m disappointed. This was going to be my chance to visit the UK for the first time in my life. But that’s not why I’m recapping this story. I’m recapping because I want something good to come out of this.

One of the things that’s amazing about the Ruby community is how active the community is in building events, whether users groups, hack nights, or full-blown conferences. I dare you to name one other programming community that offers the same breadth of events. Just in the US alone I could easily attend a conference a month, and still miss some conferences because they are scheduled simultaneously with one in another part of the country. And these are all grassroots community-organized, with hardly a corporate-spawned conference to be found.

We are do-it-yourselfers. We have an astounding number of self-made amateur conference organizers. And that’s fantastic. But it means that some of these community organizers may not be as well-equipped and on top of everything as they could be.

Let’s bring things back to GoGaRuCo. It’s a conference that once got a very public black eye because of a rather insensitive talk. The organizers listened to the community, and learned from their mistakes. As I mentioned earlier, when I attended this year, it was one of the most inclusive and diverse conferences I’d ever attended, at least in terms of gender.

Let me stop here and answer a common question: “does encouraging diversity actually make a difference to the quality of a conference?” My answer, based on that experience, is oh hell yes. Believe it or not, men and women still have different experiences in our society, and bring different perspectives to the subjects they talk about. Even software. If emphasizing inclusiveness in conferences means more surprisingly mind-expanding talks like Carina C. Zona’s “Schemas for the Real World“, then bring on the diversity, because it’s a breath of fresh air.

So who was it that bounced back from community criticism and organized this exceptional conference? Why, none other than my fellow Ruby Rogue Josh Susser. Yep, the guy who first tweeted about the monoculture reflected in the BritRuby speaker lineup.

So it seemed logical to ask Josh how GoGaRuCo had succeeded in creating such a rich conference. In response, he forwarded to me the text of an email he sent to a Ruby conference-organizers mailing list. I’m just going to reprint it here in full.

Hey fellow organizers,

CoGaRuCo 2012 went great, which is what happens when you work with such a capable and dedicated team. Yay.

One thing I heard positive feedback about all throughout the show was the gender balance of the speakers (we had 25%). Take a look at some of the tweets and you’ll see how big a deal it was for people. Here is my favorite:

#GoGaRuCo was one of the best arguments I’ve yet seen for the positive impact that increased gender diversity brings to a dev community.

My goal here isn’t to rehash the reasons or tradeoffs about having women speakers, but to give some simple steps for how to get there if you want to. The thing to keep in mind is that it’s not likely you’ll magically end up with a lot of women speaking – you actually have to work for it. But you can do it in a way that keeps everything fair without making compromises on quality. Here’s what we did.

  • I decided it was worth putting effort into it.
  • I invited Sandi Metz to do a talk. I invited a few early speakers, which I like to do before opening the CFP. It is much easier to get proposals if people see reputable speakers are already part of the program. It also helps for ticket sales if you have to open registration before you have the program complete. It was easy to include Sandi there because she is so awesome.
  • We featured all the early speakers on the home page for the conf site. Having Sandi featured there showed women that there could be a place for them in our program.
  • Sandi and other women devs evangelized our CFP to the DevChix list and others. This resulted in a large number of proposals from women.
  • We evaluated proposals that had been stripped of info that identified the proposer. We didn’t know name, gender, ethnicity, home town, etc. This has been shown to help get around unconscious biases and increase diversity in hiring, so we used it for selecting talks for the same reason. After the initial pass we included speaker info to help us make final choices.

Results:

  • We ended up with 25% women speakers. (5 out of 20)
  • We had a lot of women attend. I don’t have the numbers on this, but it sure felt like the biggest percentage yet.

I got a ton of comments from people at the conference about how much they appreciated the gender diversity, what a big difference it made for the event, and that particularly they felt there was no compromise in quality to include women speakers. Early feedback numbers show that 3 of the highest rated talks were by women. This validates to me that the extra effort we put in was worth it and had no downside.

Last thing: I was chatting with one woman speaker at the after party and let her know that her talk was one of the best (a big deal for her, since it was her first talk at a conference). I explained how we had blinded proposals to select talks on merits, and she responded that that was hugely important. She had actually decided not to submit a proposal to [a Ruby conference] because she was told her proposal would be selected automatically because she was a woman, and she didn’t want to be a token female on the program.

EDIT: Here’s an article about how JSConf EU achieved similar numbers. Worth a read as well.

One thing that really stands out to me about Josh’s steps, and that a lot of people seem to be missing in discussions about this, is that it’s not enough to have a CFP that’s “open to everyone”, or to have a blind proposal review process (although that helps). If you want to be reviewing proposals from diverse sources, you have to get the word out beyond the usual suspects. Not everyone reads RubyWeekly (sorry Peter!). The sad thing about the status quo is that it’s self-perpetuating: women may not be in the habit of submitting talks, because everyone knows women don’t speak at tech events. You have to make a concerted effort to if you want to bring more people into the tent.

But note that Josh didn’t say “I contacted all the female developers I knew”. Instead, Josh reached out to the existing community networks that RailsBridge and DevChix had created. You don’t have to have a complete mental Rolodex of the Ruby community to make diversity happen. You just have to get the ball rolling, and lean on the community.

I want to close out with another quote, this one from Sandi Metz in an email to me.

I have enormous sympathy for conference organizers in their attempts to get engaging, compelling, well-prepared speakers and I can see how this would lead to pre-selecting known qualities. However, the slate of pre-selections doomed their 5 remaining slots. How do they (would they have gotten, as now seems true) get diversity without arbitrarily choosing women and non-whites for the few slots remaining slots? They created a situation in which they had to choose based on gender and color and we all hate that.

It sucks to be them, and I hate this for all of us. I believe they were well intentioned and I do not believe them intentionally sexist or racist, but they made a bunch of very bad decisions which blew up in their faces. I wish we could harness all this energy for good, dang it.

I really couldn’t have said it any better. I have the utmost respect for the efforts of the BritRuby organizers, and every other conference organizer. It’s a thankless, exhausting task. I believe everyone involved was doing the best job they could with the tools at their disposal. My hope in posting this too-long article is that is that organizers of future conferences will be better-equipped to tackle the diversity question earlier rather than later in the process. I sincerely believe the conferences, and the community, will be better for it.

EDIT: For this discussion, I’d like to keep the comments strictly focused on what constructive advice for conference organizers. I invite those wanting to discuss other aspects of this incident to reply from their own blogs, etc. Thanks!