Recurse Center

Social rules

RC has four social rules. They help create a friendly, intellectual environment where you can spend as much of your energy as possible on programming.

The social rules are:

  • No well-actually’s
  • No feigned surprise
  • No backseat driving
  • No subtle -isms

The social rules name subtle behaviors that put other people down or show how much we know instead of supporting each other’s learning. They work together with the self-directives to make RC an even better place to learn and grow.

For example, working at the edge of your abilities requires taking emotional risks, and the social rules help create an environment where it’s safe to do that. Letting someone know that they impacted you by breaking a social rule and accepting that feedback gracefully when you’re the one who messed up are important ways to learn generously. This allows everyone to keep working and growing together.

One thing that often surprises people about the social rules is that we expect people to break them from time to time. This means they’re different from our code of conduct, which covers behaviors that are never acceptable, like abuse, discrimination, and harassment.

No well-actually’s

Alice: I just installed Linux on my computer!
Bob: It’s actually called GNU/Linux.

A well-actually is when you correct someone about something that’s not relevant to the conversation or tangential to what they’re trying to say.1 They’re bad because they aren’t helpful, break the flow of conversation, and focus attention on the person making the well actually.

This rule can be a bit tricky because there isn’t a clear line between relevant to the conversation and not. Sometimes your correction might actually be necessary, and it could still come off as annoying when you make it. The best rule of thumb is, if you’re not sure whether something needs to be said right now, hold off and see what happens. You can always say it later if it turns out there’s no way for the conversation to move forward without your correction.

No feigning surprise

Dan: What’s the command line?
Carol: Wait, you’ve never used the command line?

Feigned surprise is when you act surprised when someone doesn’t know something. Responding with surprise in this situation makes people feel bad for not knowing things and less likely to ask questions in the future, which makes it harder for them to learn.

No feigning surprise isn’t a great name. When someone acts surprised when you don’t know something, it doesn’t matter whether they’re pretending to be surprised or actually surprised. The effect is the same: the next time you have a question, you’re more likely to keep your mouth shut. An accurate name for this rule would be no acting surprised when someone doesn’t know something, but it’s a mouthful, and at this point, the current name has stuck.

No backseat driving

Bob: What’s the name of the string copy function?
Alice: Strncpy.
Eve: (from across the room) You should use strlcpy. It’s safer.

Backseat driving is when you lob advice from across the room (or across the online chat) without really joining or engaging in a conversation. Because you haven’t been participating in the conversation, it’s easy to miss something important and give advice that’s not actually helpful. Even if your advice is correct, it’s rude to bust into a conversation without asking. If you overhear a conversation where you could be helpful, the best thing to do is to ask to join.

No subtle -isms

Carol: Windows is hard to use.
Bob: No way. Windows is so easy to use that even my mom can use it.

Subtle -isms are subtle expressions of racism, sexism, ageism, homophobia, transphobia and other kinds of bias and prejudice. They are small things that make others feel unwelcome, things that we all sometimes do by mistake. Subtle -isms make people feel like they don’t belong at RC. We want to create an environment where everyone can focus all their energy on programming. It’s hard to do that if you’re regularly being made to wonder whether you belong.

Subtle -isms can also be things that you do instead of say. This includes things like boxing out the only woman at the whiteboard during a discussion or assuming someone isn’t a programmer because of their race or gender.

The fourth social rule is more complicated than the others. Not everyone agrees on what constitutes a subtle -ism. Subtle -isms are baked into society in ways that can make them hard to recognize. And not everyone experiences subtle -isms in the same way: subtle homophobia won’t hurt someone who’s straight in the same way it hurts someone who’s gay.

There’s another part of no subtle -isms: If you see racism, sexism, etc. outside of RC, please don’t bring it in. For example, please don’t start a discussion about the latest offensive comment from Random Tech Person Y. Everyone who comes to RC should have the same opportunity to focus on programming, and people from oppressed groups often find discussions of racism, sexism, etc. particularly hard to tune out. There are many places to discuss and debate these issues, but there are few where people can avoid them. RC is one of those places.2

How do they work?

The social rules are lightweight. You should not be afraid of breaking a social rule. These are things that everyone does, and breaking one doesn’t make you a bad person. If someone says, "hey, you just feigned surprise," or "that’s subtly sexist," don’t worry. Just apologize, reflect for a second, and move on.

The social rules aren’t for punishing people. They help make RC a pleasant environment where you are free to be yourself, tackle things outside your comfort zone, and focus on programming.

Code of conduct

The social rules don’t cover harassment or discrimination. For that, we have a separate code of conduct enforced by the RC faculty. All members of the RC community are expected to abide by our code of conduct.

  1. As far as we know, Miguel de Icaza coined the term well-actually.

  2. It is ok to have these conversations in private or opt-in spaces (e.g. the feminism stream on Zulip). The goal is to make the default RC experience free of outside -isms.