Clients expect we know what we're talking about -- that's presumably why they decided to hire a consultant: to gain the advantage of knowledge and experience they don't possess in-house. Therefore, it's important to our success to continually expand and deepen our knowledge. Deepening our expertise in our niche makes us more valuable in that area. Meanwhile, we must broaden our knowledge of the industry as a whole in order to understand the context of our work, and to avoid becoming obsolete when our specialty has run its course.
The IT industry has a long way to go before it becomes a settled science, if indeed it ever will. Even within a narrow focus, the pace of innovation exceeds the ability of any individual to keep up with it all. Most of our breadth of knowledge gets relegated to knowing where to look, while we focus on becoming the best available for our niche. The latter often comes simply as a result of working with it day after day. One day you wake up and realize that almost nobody knows more about X than you do.
In the meantime, our progress can seem like a losing battle -- "I'm just now comfortable with framework A. I haven't even looked at B yet, C is already deemed obsolete by most of the tech pundits, and D, E, and F each have rabid communities that insist they possess the One True Answer to software development. How will I ever catch up?"
We're all human. No consultant possesses superpowers of learning. Provided that we're diligent and intelligent, we can be just as much of an expert as anyone else. If we beat ourselves up too much about how long it takes to learn things, we'll get discouraged and start playing World of Warcraft instead. Persistence and patience (especially with ourselves) will get us as far along as we can get.
There's a fine line, however, between persistence and stagnation. While it's good to keep on keeping on, we don't want to run our consultancy into a rut. Nor do we want to get left behind as technology continues to evolve. Here are some questions to help you determine whether you're persisting in progress or merely stagnating.
- Are you solving new problems? If the work you're doing today looks just like what you were doing five years ago, you could be stagnating. It's okay if you're still working with a lot of the same technology, but the challenges should have moved.
- Do you feel challenged? If you can go through a day without having to ponder how to solve a problem, you're ready to move on to something else. You're wasting your talents, and that will lead directly to obsolescence.
- Are you being inventive? New and challenging problems should require that you invent new methods to deal with them. Unfortunately, a lot of people content themselves with looking up the best practices and implementing them verbatim. I call those people "cookbook consultants." If you only rely on the innovation of others, you're stagnating.
- Do your solutions make you happy? An inventive approach to a challenging problem brings a joy similar to that experienced by a poet or musician when her/his composition becomes something greater than s/he thought it would be. You know you've hit on a great design when unexpected harmonies reveal themselves, and your design deals with unforeseen circumstances just as elegantly as it addresses the cases that inspired it. The satisfaction gained from that functional creativity inevitably generates even more ideas, along with the desire to keep moving forward.
- Are you looking ahead to what your clients will need next? After we overcome one obstacle, there's almost always something else. Even while working on today's problem, we should be thinking ahead to the next challenge, and the one after that. Talk to your client about the future. Even if they're not ready to discuss it, you'll seed a little brainstorm in their mind -- and in yours.
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.