Consultants,tell me if I should fire a co-worker who reports to me:He talks smack about my clients and my company - all in front of my clients.He comes into work late, takes 2hr lunches, and leave early.His performance has been dodgy, productivity and quality very questionable for what he has been hired to do. He is overpaid and talks openly about how much he's getting paid to clients and co-workers ( who are getting considerably less than him).However, there is one MAJOR benefit to having him around: He is quite simply the best rainmaker I have ever seen. He is responsible for generating revenues to the company, identifying opportunities that are non-obvious, and will, if we keep him around, grow the company...no doubt there. This is a rare skill , one that almost none of our consultants (except sales ppl) have.Is he just cocky? overconfident? an a$$hole? ..? He's actually funny, everyone else around him is serious and do their jobs- work on a computer all day. This guy cracks jokes, schmoozes like no one, and identifies and pushes million dollar biz devt deals on a regular basis.So what should I do? Keep him, fire him?Transfer him to another project? or just tell him to shut his mouth and get to work ( what he is hired to do).