I’m attending the Pacific Northwest AP Institute this week for the AP Computer Science A exam. A teacher, who has no computer science background, shared witnessing an incredibly negative environment in a forum she went to as she takes an online course this summer to introduce her to programming. I wrote the following up for our workshop’s private share space, as this is a problem that, from familiarity with the space, didn’t surprise me.
How to Ask Programmers in the Wild Questions
The (albeit long) “guide” to how to ask Computer Scientists questions online is titled How to Ask Questions the Smart Way. A long term want of mine is to rewrite this minus the unnecessary condescending tone, as the guidance provided is EXCELLENT for those in this field.
The 10,000 Rule
I post the following comic, blown-up, in my classroom. XKCD comics have “alt text” that appears when you hover on the comic. This comic’s alt text is: “Saying ‘what kind of an idiot doesn’t know about the Yellowstone supervolcano’ is so much more boring than telling someone about the Yellowstone supervolcano the first time.” My favorite moment was when a whole group of students responded to a student who often feigns surprise (“What? I can’t believe you don’t know what the stack is!”) by pointing to the comic and unanimously exclaiming: “The 10,000 rule!”
It’s important to note that the student who regularly feigns surprise is considered by classmates to be one of the kindest, most helpful students. After feigning surprise, this student immediately assists students with fully understanding this thing they did not know. But it’s vital to immediately address the intimidating (and often loudest) part of the response.
No Feigning Surprise, No Well-Actually’s
Finally, a superb how-to on setting the environment is the “Social rules” subsection (found below Imposter Syndrome sidenote) of the Hacker School User Manual, which is a professional 3-month coding retreat.
The first of these rules is no feigning surprise. This means you shouldn’t act surprised when people say they don’t know something. This applies to both technical things (“What?! I can’t believe you don’t know what the stack is!”) and non-technical things (“You don’t know who RMS is?!”). Feigning surprise has absolutely no social or educational benefit: When people feign surprise, it’s usually to make them feel better about themselves and others feel worse. And even when that’s not the intention, it’s almost always the effect. As you’ve probably already guessed, this rule is tightly coupled to our belief in the importance of people feeling comfortable saying “I don’t know” and “I don’t understand.”
Our second social rule is no well-actually’s. This means that when someone says something that’s almost but not entirely, correct, you shouldn’t say, “well, actually…” and then give a minor correction. This is especially annoying when the correction has no bearing on the actual conversation. This doesn’t mean Hacker School isn’t about truth-seeking or that we don’t care about being precise. Almost all well-actually’s in our experience are about grandstanding, not truth-seeking. (Thanks to Miguel de Icaza for originally coining the term “well-actually.”)
A third social rule is no backseat-driving. This means that if you overhear people working through a problem, you shouldn’t intermittently lob advice across the room. This can lead to the “too many cooks” problem, but more important, it can be rude and disruptive to half-participate in a conversation. This isn’t to say you shouldn’t help, offer advice, or join conversations. On the contrary, we encourage all those things. Rather, it just means that when you want to help out or work with others, you should fully engage and not just butt in sporadically.
Our last social rule is no subtle sexism (or racism, homophobia, etc). This one is different from the rest, because it’s largely based on how someone feels and not a specific, observable phenomenon (“well-actually’s” are easy to spot because they almost always start with the words, “well, actually…”).
The goal with all this isn’t to burden Hacker School with a bunch of annoying rules, or to give us a stick to bludgeon people with for “being bad.” Rather, these rules are meant as a release valve of sorts.
If someone says, “hey, you just feigned surprise,” don’t worry. Just apologize, reflect for a second, and move on. It doesn’t mean you’re a “bad” person, or even a “bad” Hacker Schooler. As we said above, these rules are meant to be lightweight. We’ve all done these things before. In fact, we originally adopted a no well-actually policy for our company because Nick and Dave well-actually’d each other all the time.