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.
It turns out, very few people in business know just what they want or need, especially in unfamiliar technical terrain. More importantly, they didn't know what was possible and what was infeasible - and they didn't really care. They just knew they wanted something better than what they had, or something better than what they believed their competitors had. In this context, my specific technical prowess became much less important than the ability to listen, empathize and understand.
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.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.