I NEVER hire a consultant without at least 3 referrals. AND... I always ask that one of them be a negative referral! I want to hear good and the bad, and I want to talk to them about the bad to see how they handled it, their perspective on it, etc. It gives me insight into how things might go if (when) the going gets tough. And it lets them off the hook of trying to look like Superman.
This makes me think about when I was in corporate management and had to give performance reviews; I always included at least one area in which the employee needed to improve -- regardless of how good he or she was. I felt that it was more helpful to their professional development than just saying, "Keep up the good work."
I started thinking about my shortcomings. I decided that it would be a useful exercise to give myself an honest self-evaluation in the hopes that I would start correcting my less-than-positive work habits. Here is what I realized about myself:
- I'm lousy at estimating; I almost always think that I will be able to complete a job faster than I really can. I've noticed this flaw in many productive developers. I think it's almost a requirement for getting things done because, if you could clearly see all of the obstacles that you'll have to overcome in a project, you'd never get started. The attitude of "Oh, yeah, we can easily do that" gets you into the project before it can be Eeyored to death. (I know... it sounds like I'm making a virtue out of a vice.) I've been working on improving this part of my work for years, but I'm only marginally better at it than when I first started programming. Ouch.
- Sometimes I don't ask for help soon enough. I'll spend a lot of time researching and devising a solution for a problem that could have easily been dispensed with if I had only asked for help. Maybe it's hubris ("I know I can solve this") or not wanting to bother colleagues or appear unknowledgeable; regardless of the motivation, it's suboptimal. I'm working on keeping the communication lines open and my ego in check.
- I can't devote enough concentrated effort on one project because I usually have too many irons in the fire. I've been trying to do less, but it seems like there's always something demanding my attention.
- I have a tendency to think I'm God's gift to software development. The solution to this problem is to keep learning new things because, the more I learn, the more I realize how little I know.
I think that about covers it, unless you want to count "I'm unaware of my own faults."
You have a much better chance of overcoming your faults when everything is out in the open. You may not enjoy the process of becoming more self aware, but the possible outcome (i.e., more satisfied clients) is definitely worth it.
So, I've shown my warts -- now I want to see yours. If you had to extract a negative referral from a client, what would they say? If you have asked a client for a negative referral, how did they react?
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.