People who live or work with nerds sometimes are annoyed and perplexed by what strikes them as willful, snarky, unhelpful responses to questions.
q: Do you know what time it is? a: Yes. <beat> q: Ok... What time is it? (asshole)
q: How are you going to the party Saturday? a: I'm driving. q: Yeah, but are you taking the 101 or the 280? (asshole)
Programming is a deep and complicated field. There are very many layers of abstraction between the user’s intent and the electrons on silicon.
When working on a problem, it’s common to be so immersed in it that everything seems obvious. In fact, until this level of familiarity is achieved, it’s hard to make any progress at all.
However, other parts of the stack may still be very foreign. This is part of why software development is a social activity. There’s simply too much for any one person to hold the entire stack in their head at once.
So, you ask someone a question. A question that seems obvious to them, but isn’t to you, because you’re not immersed in that part of the world.
And the polite and kind thing for them to do is try to answer your question as precisely and accurately as possible, even though it seems obvious to them and isn’t something they’d ever bother asking, because they realize that you don’t live in the same area that they do.
In the ancestral environment, everyone knew most of what everyone else knew. Even if there were specific details that were shared in bits, it was unlikely that someone didn’t even know the rudimentary basics of any particular subject. So, when asked a question, the polite thing for the answerer to do is skip past any details that the asker probably already knows, and try to infer the bits that they don’t.
Most of human social interaction happens in this sort of framework. You probably know I’m driving, and are really asking which specific route I’m taking, or which car, or when I’m leaving. Answering with “I’m driving” is akin to saying, “You’re an idiot who doesn’t know what a car is, but I’m going to step down off my Smart People pedestal, where we Speak Properly, and help educate you, so that you can learn to not be so dumb. Here’s where the key goes…”
It’s not (just) that nerds are fundamentally more persnickety, or detail-oriented, or hyper-literal. Those things may factor into our oddness, or into our choice of careers, but a large part of this social disconnect is that we actively learn to break this evolved habit.
Our culture and craft depend on responding to simple questions with obvious answers, out of respect for the fact that what is obvious to me may not be obvious to you, even though we’re both competent, intelligent, worldly people with nothing of the best intentions.
That’s no excuse for being a dick, of course. Rudeness—especially unintended rudeness—is not the Winful Way. But it’s hard to shift cultures, especially when our friends are also our colleagues, and social interactions often include technical conversations.