When I hire a contractor to do work on my house or cars, I try to gain a working knowledge of what they are being tasked to do, and usually not much more.  Granted, this is based on my understanding of the project or problem as I understand it.  I’ve learned to let experts be experts and spend the bulk of my time figuring out if I can trust the company to do what is being asked of them (It’s a key concept in my eBook: The Skeptic’s Guide to Hiring a Consultant) and at a fair price.  I’m careful not to tell them how to do their job, but I offer my level of understanding.  

I’ve worked with developers who sometimes have a bad habit of oversharing the technical pieces of a solution and then asking a non-technical client to choose between options they don’t understand, putting them at a disadvantage.  One of the most valuable skills to learn as a consultant is the ability to summarize and explain things in a simple way.  Developers are notorious for their unwillingness to explain anything, but I love doing it.  It reminds me of this Benjamin Franklin quote I’ve share a few times: 

“Tell me and I forget, teach me and I may remember, involve me and I learn.”

This is for my own selfish benefit, not the client.  If I explain it to them in their terms, it most certainly makes me understand it in my own terms, or I haven’t done my job correctly.

Many small and growing businesses are very guarded (mostly for good reason) and a tad distrustful about things outside their “9 dots” (as an old mentor of mine used to say).  The flipside of that is somebody that literally doesn’t care when I explain the approach or how I will solve their problem.  To me, this is much more dangerous than a client that wants to babysit the project the whole way through.  I actually prefer a knowledgeable, high-maintenance client to a disinterested less-knowledgeable one.  The money they pay me is the same color, but I get a much bigger boost with the former.