As a nerd, I often love sharing the things that I am passionate about with other people. I want to explain things in a way that will make my friends, family, and coworkers excited too. Unfortunately, I sometimes misread their need for answers as curiosity and go to far. Of course this happens most often when talking about technology.
Ask If They Want to Learn
Simple. Be up front about the task at hand. Is the person asking the question genuinely interest in learning, do they want the answer, or do they just want you to fix their problem. If they are just looking for the answer don’t waste too much time if they aren’t interested in learning.
Make It Matter to Them
There can be exceptions to this rule. Often when replacing a hard drive or removing malware it is easy to teach the importance of backing up data or running regular anti-virus/anti-malware scans. It is easy to emphasize this when someone just lost all their data, but other times it can be hard. You can’t always make people learn, but creating a good learning environment or providing a good reason for learning will help your cause.
Leave Out the Details
Sure, you know the technology, but when teaching a user how to use a CMS, you don’t always have to explain what is happening on the database. The more you alienate the person, the less interested they are going to be in learning from you. Going too far in depth can leave the user reeling when they are just starting to pick up the basic concept.
Encourage Learning by Doing
If you can let the user try it themselves, go for it! There is no substitute for hands on work. Everything from simple query writing, to coding, to hardware installs can be done by someone who is just learning as long as someone is there to help.