Coming from a techie background (as a programmer, no less) I've been accustomed to the following tenet: if the client doesn't understand, then the client is stoopid. We've even got expressions for that: the problem is between the chair and the keyboard, this is an ID ten T problem (also known as ID10T), and so on.
As geeks, we often place ourselves above the fray, looking down upon the masses. We require our audiences or our clients to raise themselves to our level, to speak the same language we speak. If they are unable to do that, we consider them morons. We obfuscate our speech in techno-babble, to ensure that the "little people" clearly get our message: you aren't worthy, this is my domain, get out of my way.
This self-aggrandizing posturing is a mask for a geek's inability to speak in language that can be understood by most people, without making the listener feel stupid. It takes a lot effort to take your expertise and explain it in layman's terms. Few people do it effectively.
Seth Godin's recent post "The posture of a communicator " touches on this topic in a concise, insightful way.
A few tips to help geeks get their points across:
- Ask questions. If your client or your audience or your listener doesn't understand, ask them what they don't understand. Also ask them what they do understand, to help you figure out what the gap is.
- Use metaphors and other images to explain difficult concepts. It is harder to grasp a vague topic like directories and inodes; it is easier to understand folders and documents.
- Put yourself in the other person's shoes. Think of something you can do, but not very well. In my case, that would be playing the guitar. I can make it sound like a guitar, but nobody would ever mistake me for a great (or even a good) guitarist. I can't fathom my reaction if in my first course, the teacher were to tell me: "What's wrong with you? A Gm7b5 chord is easy to play." (The chord is easy to play, I just can't figure it out without a picture in front of me.)