Even your "calm" version probably doesn't need to exist. If there's something they want to do and they're asking you about how to do it, by all means, it may be relevant to tell them that learning a new thing would potentially help them.
Otherwise maybe worry less about what other people should or shouldn't know.
Just go straight to explaining it helpfully. Don't make the knowledge gap itself a point of discussion at all.
Why not just explain the thing that needs explaining.
However, the rule is really about not doing something that makes others feel bad about not knowing something or asking questions, like you said. The “No feigning surprise” phase has been a perfect hook to get people to read and understand what it means.
In some environments, feigning or exaggerating surprise really is abused as a social status and hierarchy establishment trick. Those who use the trick are trying to turn a question or gap on someone’s knowledge into an opening to elevate their own status, often in front of others. If you haven’t seen this trick used (abused) then you’re lucky. In my academic and early career I was in some environments where not knowing something was an invitation for the vultures to circle and try to turn the situation into a show of their superiority on some imagined social hierarchy. It sucks. I suspect the Recurse Center introduced this rule after having a person or batch of participants who started doing this, because it’s really toxic when it is normalized.
"Joke's on you. I worded it poorly intentionally!"
As I said in my post, I suspect they were addressing a situation they were seeing in their cohorts and it happened to resonate with more people and in broader contexts than they expected.
It does a learner no good to hear that you are shocked by a skill deficit. If you're planning to be around people who are in a learning space, you should not be surprised if they don't know something. And even if you are surprised, it is kinder to not show it.
I don't think this rule is universal. If you're in a professional environment where, say, you're coding C++, and a new collegue with five years of purported experience claims to have never used a pointer, it would be okay to show surprise. And then maybe speak to your shared leadership chain. Learning environments are special that way.
Counterpoint: Most workplaces would be best served by a team of developers who help up level each other without causing morale issues when knowledge gaps, which everyone has, inevitably show up.
This type of environment is the best for software development organizations specifically because most software development shops that have more than one person working on a codebase or system or set of systems have already reached the point where no single person can keep the whole thing in their head at once.
Maybe that person really worked in an environment where they didn't have to think about pointer arithmetic. Reframing closing knowledge gaps as a beneficial and necessary part of a healthy development system makes it so when somebody doesn't know something and needs help they are willing to get it quickly. And that they will talk about knowledge gaps openly so they can be filled with the collective pool of the organization .
Shutting that down even by just "narc-ing" on the person just makes it that much harder when others need to know something they don't to get a job done, slowing down the system over time.
> 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.
> I think it's generally best to be open in communicating with others
I’m pretty sure you wouldnt blurt out “you sure got fat” in a buisiness meeting, even if it genuinely was the first thought which popped into your head. Not every thought or feeling need to be communicated.
I agree with bazoom42 in the context of the correct comic:
Now, human interaction is squishy, so yeah, they are also trying to cover the all-too-common-in-tech case where someone is just being an asshole. Let's call it the Comic Book Guy case. In this case, it actually doesn't matter whether surprise is feigned or not, because what's actually happening is this person is listening and waiting for someone to express a blind spot so they can prove their intelligence by correcting them. You can't really write down an explicit deterministic rule for this, because it's all cognitive behavior social stuff that people are generally unaware of moment to moment. However the recurse center rules plus live feedback when it happens is as good of a solution as I can imagine.
I found the most helpful reframing is to replace the words and emotions with ones that encourage learning and question-asking. For example you can try being excited instead of surprised, or say something like, "that's a great question, let's figure it out together."
Going through the Fermi estimation in the xkcd comic Ten Thousand also helped me to be a lot less genuinely surprised when someone didn't know something: https://xkcd.com/1053/