I recently helped a client develop a piece of bridge software to allow a mobile client to access some legacy logic over the Web. This involved several layers of code beyond what the client was accustomed to working with, and most of it had to be written in a language that was also unfamiliar to him.
I started by creating a simple example and documenting each step of how to put it together. Then I helped him apply that example to the specific problem that he was trying to solve. It all worked beautifully, and I gave him detailed notes on the whats and the whys.
A few weeks later, he called me to say he wanted to add a parameter to the interface and, despite all my documentation, he didn't think he could do it on his own. So, I walked him through it on GoToMeeting. No problem, we were done in half an hour, and he was happy that it turned out to be so simple. I tried to make sure he understood what to do if he needed to add anything else in the future. But you can guess what happened the next time he wanted to add something else. And the next time.
Now I don't object to the extra revenue or the ultra short-term projects. The client is a joy to work with, he respects my time, and he pays promptly. But I think that I've failed him in the education department. When I asked my client what he thought, he replied, "I have all these steps that I know how to follow, but I don't know what any of it really does."
This got me thinking. The client is a pretty sharp guy, so why is he having this trouble? Reflecting on my own past inabilities to grasp new concepts, I realized a few truths about learning:
- The conclusion that "I can't understand this" is more emotional than rational. When your eyes glaze over a bit, and you feel an emptiness in the bottom of your stomach, you can't continue to parse what you're studying.
- The likelihood that you'll hit that wall is exponentially relative to the number of unknowns you encounter. You can stomach one or two independent unknowns, maybe filing them under "for later study" and take them as givens. Any more than that and you start losing the thread, especially if exploring one unknown leads to three more.
- Tolerance for a higher number of unknowns can be acquired, with practice.
- Anything can be learned with patience, one step at a time. But the human brain seems to require periods of sleep in between those steps.
- Once you've got it, it's easy. The experience also contributes to your ability to understand other, somewhat unrelated new information in the future.
So how do I apply this to my client's situation? None of the layers of this project are particularly difficult to understand. What scares the devil out of him every time he thinks about making changes to it is the sheer number of new components working together in what must seem like some form of magic that has to be carefully conjured by reciting spells in exactly the right way.
The solution, then, is to explain one component at a time — with a significant break between explanations. I'll say pretty much exactly what my documentation says, but it always goes down easier when it comes from my voice instead of from a monolithic document that can't respond to a client asking, "Can you put that into English for me?" Something about human interaction makes learning easier for some people.
I'm spending a lot more time educating my clients. As quickly as technologies and methodologies are evolving in our industry, I not only have to explain potential solutions, but I often have to teach concepts before we can even discuss the problem that they're trying to solve. This goes both ways — I have to learn more as I ramp up to new projects that are increasingly multi-language, multi-platform, multi-browser, multi-paradigm, multi-business, multi-x (where x is any variable). Clients usually have a better handle on their business needs and technical constraints, so consultants can do well to don the student's hat sometimes.
How much of your consulting work involves educating your clients? What kind of resistance do you meet to learning new things? What do your clients teach you?Get weekly consulting tips in your inbox TechRepublic's IT Consultant newsletter, delivered each Monday, offers tips on how to attract customers, build your business, and increase your technical skills in order to get the job done. Automatically sign up today!
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.