I did a consulting gig for a few years at a very large government institution and I picked up some wisdom about how to best serve the customer (even sometimes in spite of themselves), how to remain sane, and how to maintain your scruples while doing it all. I typed these up on Twitter awhile back and then forgot about ‘em. Several people encouraged me to blog them, so here goes:
Rules of Consulting
1st rule of consulting: Don’t expect the customer to be rational. If the customer didn’t have problems, they wouldn’t have needed to hire you.
2nd rule: ABS – Always Be Solving (problems). It’s better to solve a problem 80% correct and revise the 20% than wait for a 100% plan.
3rd rule: If you don’t know how to solve a problem learn or hire some time from someone who does.
4th rule: Never make yourself critical path as this will quickly end your engagement and resentment among your customer will ensue. Deflect glory to your manager — that’s a big reason why they hired you.
5th rule: Never complain. They have enough of that, that’s why they need you. You’re their machete in the jungle of red tape. If you can’t take it any more, try to affect positive change or leave. There’s no crying in consulting!
6th rule: They don’t care that software is done right so don’t argue semantics, just do it right. Find a way to sneak in success. However, you should always be able to explain why these things are important and justify their use.
7th rule: Be a yes man in meetings and then do what’s right behind the scenes (clarification: Be positive and always on the side of getting things done and solving. Avoid confrontation in a meeting that might embarrass your customer. Defer arguments and confrontations until later).
- Example: When the customer asks you to ‘filter all TCP ports through email packets’, you ask ‘what color would you like the background?’
- Then later, come back into his/her office and suggest that in order to accomplish this you’ll need to [insert more rational feature suggestion here].
8th rule: If at any time you’re asked to compromise principles, find a way to avoid it or quit. Remember: Integrity is your main asset
9th rule: No one is ever served by job-protectionism thinking, especially yourself. Expect it from the customer (remember, that’s why they need you), but always resist it in yourself.
10th rule: You can’t win ‘em all. Solve what you can in your time and leave things better than how you found them. That’s really all any of us can do.
Other Bits of Wisdom
- Never assume that management actually wants your project to succeed.
- Not everyone in your group has an incentive to succeed (or to help you succeed).
- The best way to ensure career security is to do your best and never, ever do anything that would put protecting you job over doing the right thing.
- If, during a consulting engagement, you start taking on a employee role/mind set, quit right away or hire on full time. It won’t end well otherwise.
- If your customer is hinting they want to hire you, you need to nip that quickly, don’t string them along in that thought.
- Unless, of course, you’re entertaining the idea, at which point you’re no longer independent and you’re now operating unethically. Leave or join and do it fast.
- You’re never as critical path as you think. Life will go on, maybe just not as well.