At the beginning of my IT consulting career, I thought my purpose was to solve technical problems. I thought that people -- especially business people -- knew exactly what they wanted and why. I though that their teams had a unified purpose and agenda. The only reason they had to hire someone like me, was to fill in the technical details and work some development magic to make all their dreams come true.
I was wrong. Very wrong.
You can search Google to understand any hot new technology in a few minutes, but you can't search Google to balance individual desires, department and business needs or trade-offs between results and budget. The people in the middle of the problem are typically so busy fending off the alligators that they don't have time to even think about draining the swamp. The fact that they took the time to agree that they had a problem and call me, was a fairly astounding accomplishment.
It was up to me to facilitate the conversations to discover a solution that was acceptable; that was my real job.
The transition from tech-focused dev-nerd to mentor-consultant did not happen overnight; it took me years to discover and refine the role that I needed to play in order to best help clients succeed. Here are some of the most helpful 'commandments' I discovered along the way.