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:
- 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)
- 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.
- It should be interesting for more than just being a room full of interesting people drinking
- People should come away from it improved in some capacity, even if it’s just “Hey I learned a thing”
- 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:
- People arrive and mingle for about half an hour
- We have a half hour talk or discussion group, everyone sits
- 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”.
- We have a 15 minute break
- We have another talk/discussion group
- 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:
- 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.
- 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.
- 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.
- 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)