The Misunderstood Quiet of Programmers

You don't know us very well, do you?

Q: Why do most programmers/software engineers tend to be the quiet kind of person?

Back in the 80s when the world was new, I was a programmer. I would engage my professors and they would exhibit something I call programmer's dyslexia. This happens when you ask a good question that has many implications.

A good programmer will always think of the 0 case, the 1 case and the infinite case. Any calculation will fit into that and so we are always quantifying how much it takes to grind out an answer. But that also means we have to categorize our assumptions in order to come up with a reasonably proper answer. It was easier to ask such questions when the world was new, but now a lot of them have been asked and answered (I leave it to you as an exercise to qualify the query space of Google itself).

You should ascertain by this that the quietude of good programmers is born of respect. You are either asking:

  • A question with a trivially easy answer and so we are redirecting insults to our internal dev/null.

  • A poorly scoped question that needs greater specificity.

  • A well-qualified question that requires significant thought.

The second type of question can yield great amounts of humor. We may or may not be in the mood to deadpan.

For example, my wife has the habit of asking me questions like. "Honey would you like me to fix you a snack now or can you wait 45 minutes to dinner?" Now to me this is a simple yes or no question. But it requires a yes and a no. So I will say "No, yes", and then she will become confused. She wants me to say something inefficiently verbose, like "I'm kind of hungry right now but if you're fixing something really nice for dinner then I'll just grab myself a beer and wait." To a programmer, "No, yes" is the proper answer, to my wife and the rest of humanity, we are just being cryptic assholes. So sometimes we have to refrain from using our own unique sense of humor and send those responses down another path to the same mental bitbucket. That path sometimes triggers a bit of emotional resentment in us. My answer was perfectly logical, why don’t you get it?

Those of us who adapt well understand that people want inefficiently verbose answers and so we have developed fluffy verbose social skins over our lean, mean logical question parsers. But we often have to worldswap and figure out our contexts to check which skin to implement. Depending upon our environment, this takes a noticeable amount of time. Some of us even attempt to build human interpreters on the spot because the questions we get are so stochastic and meaningless that we simply don't have a map to the proper context. Sometimes it's easier to put on the 'asshole' skin (c. f. ehrlich@aviato).

Programmers are not quiet people. Our brains are always busy doing things, and we are always shouting at ourselves. What you are encountering is a very sophisticated set of filtering mechanisms that generate something approaching a simulation of civility, because most of the time your questions are not as interesting as the questions we ask ourselves, and you're interrupting us, dammit.

Be glad you don't know programmers without filters and social skins as we are wont to replace you with a very small bash script.