Yesterday I had the pleasure of chatting with a gentleman about a potential mentoring gig. The way I like to approach these sort of talks is to determine high level goals. In this case, the client was looking for someone to be a set of expert eyes on a codebase. He is certainly a capable developer, but he's also aware enough to know when he has hit a roadblock.
We were connected by the work and training I've done with SignalR and ASP.NET, which would prove especially useful in this situation.
The client discussed the issues he was running into and the thoughts he had around solutions. Normally, this is where you will have the instinct to want to hold off providing guidance. You're the expert. This what people should be paying you for!
Always try to add some value.
That's not how I reacted though. Instead, I spent 10 minute giving my potential-client two or three free tips and tricks on what he should explore. Sometimes the simplest tip is all a person needs to push forward.
The underlying point is that no matter what you do, always try to add some value. If my tips bring him to an epiphany, then I have automatically reaffirmed that I am an expert. This could lead to mentoring and other potential work. It could lead to referrals.
Approach all your interactions as a chance to provide value to someone. It will pay back dividends!