How to make people feel stupid

Sunday 27 January 2008

At the last Python meetup, the presenter was going to talk about a concept (let’s call it the XYZ pattern), and he wanted to make sure everyone understood the concept before he did. He did it in a common way, by saying,

Does anyone here not know what XYZ is?

This is the wrong way to do it.

When you ask a question like this of your audience, you get an uncomfortable pause. Your listeners now have to gauge their own knowledge:

  • The ones who have no idea what XYZ is will wonder if they’ll look stupid for raising their hand.
  • The ones who have a vague idea will wonder if they need to know more, or if they can skate by.
  • Half the ones who are confident that they know what XYZ is actually have it a little wrong, but won’t realize that they have a different conception than the speaker intended.

The talk will stop for a moment while people decide what to do. If someone asks for an explanation, the presenter will spend a little time explaining it. If no one does, the presenter might actually explain it a little bit anyway, because he was prepared to. Momentum has been lost and people feel awkward.

The better way to do this is to say,

As I’m sure I don’t have to remind you, the XYZ pattern is a common way to mumble the frabbitz in systems with more than three quuxers. It’s good because it separates the concerns about sculpting and shading.

In less time than it took to poll and embarrass the audience, you’ve:

  • Complimented your listeners about already knowing what XYZ is.
  • Defined XYZ, so those that didn’t know now do.
  • Explained your view of XYZ, so that even those that did know it now have your take on it as a common starting point for the rest of the talk.


Nice post, need to remember it the next time I present something.

BTW, clicking on "try tabblo" in the iframe does actually load tabblo in the iframe. Guess you should add a target="_parent" or so...
@Christof: thanks for the bug report. It's fixed (with a target="_new"). I feel so stupid! :) :)
Most of the time that "As I'm sure you know... " technique is the one to choose, but I've also seen the following used to good effect:

1. Everybody please put your hand up, and when I say something that doesn't describe you, you can take it down.
2. You can write hello world using technology XYZ
3. You have written a simple web application using XYZ
4. You have devaporised the whorf-sprongel of an under-sublimated SOA ecosystem using reverse XYZ interfibrilation.
5. Something harder than that
6. And so on.

People find it easier to take their hand down than put it up. It's something about not being the first fool.... or well I don't know. In practice, when you get down to a couple of super-geniuses in the room with their hands still up you can just curtail it at that point. Along the way, you've already gathered a pretty good demographic of the knowledge levels in the room.
I sometimes ask about this sort of question when I'm ready to talk about a topic from many different levels. I can explain something in depth, or in short, and maybe either way I'll spend the next 15 minutes on the topic (if I have to start at an earlier point explaining something, I usually just skip the harder stuff -- there's a limit to how much people can absorb at once). So to explain what people really could understand and find useful I have to ask. But I would only want to do this maybe once during a presentation, not for each topic.

What Dominic suggests seems like a good idea in this context; it's not just binary, and you aren't accidentally determining how much people are engaged and confusing that for actually answering the question.
Good post. Depending on the audience, I might leave off the "As I'm sure I don't have to remind you...". It can come across as condescending -- although not as bad as "Does anyone here not know what XYZ is?"

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.