When hiring, should you go for the person who has a lifetime acquiring an insanely deep knowledge of a small subset of tools or someone who can rapidly pick up any new tool?
One of the disturbing long-term trends about careers in IT, and perhaps in the business world in general, is a preference for deeply-specialized individuals covering an extremely narrow body of knowledge. In IT, this is usually characterized by demands for myriad esoteric certificates, and job descriptions that demand ten years of expertise in a programming language that's existed for seven or rattle off technical bullet points that look more like the specifications sticker on a new car than a list of talents any normal human would possess. In short, our bias seems more toward niche specialties than a competent learner.
The source of this "nicheification" seems to come from the increasing complexity of technology. How can our hiring shortcuts like keyword searches and résumé categorization tools work if we don't build the process around "features" rather than true experience? Furthermore, if our immediate need is an experienced Java developer, shouldn't we demand years of experience slinging Java code? Not necessarily.
Hire learners, not niche players
True niche players can be some of the worst hires. If they've spent a lifetime acquiring an insanely deep knowledge of a small subset of tools they are innately biased toward those tools. They see every problem through the lens of that tool, and are resistant to adopting other technologies or practices since they are a threat to that hard-fought knowledge rather than a potential better way. Furthermore, when your entire career has been structured around nicheification, there's little potential for leadership or management, skills that are learned rather than innate, and generally ignored when your search targets a niche player.
Contrast that with the lifelong learner. I have the occasional pleasure of working with a lifelong learner (usually reverently described as a technical "wizard") who can rapidly learn new development tools, and is always interested in exploring what's new. This person has no allegiance to a particular tool beyond wielding what seems best for a particular job. Rather than jealously guarding esoteric knowledge about a favorite programming language, this person hits the manuals and gets the job done, learning as he or she goes.
Usually the lifelong learner applies this same knowledge to the company where he or she works, gaining a working understanding of the company and applying that knowledge to his or her work rather than considering that knowledge outside their purview. The upshot is that someone who understands the business problem being considered will likely produce a far more effective answer to the business problem, even when it's not the most technically elegant solution.
Lifelong learners also have the benefit of changing with the times. Today's Objective-C could very well be tomorrow's Fortran, and as the lifelong learner has no particular allegiance to the technical tools, they evolve technically while their knowledge of your business grows deeper. The lifelong learner can also evolve away from their technical roots, growing into project management or a leadership role, usually with great success, since leadership is simply another tool to be learned and applied.
Sounds great, why doesn't everyone do this?
Like most good advice, this is conceptually simple but difficult to implement. I often draw the analogy to weight loss, where eating less and exercising more is nearly 100% effective, but difficult to successfully apply-as evidenced by the barrage of weight-loss shortcuts that befall us each January in time for New Year's resolutions. To acquire lifelong learners necessitates more diligence in your hiring process. Rather than looking for deep niche experience, look for a variety of experience. Look for someone who has worked with a number of different technical tools, or been successful in a variety of industries. Base your interviews around demonstrated ability to go into an unfamiliar situation or understand a new business problem, then learn and apply the right tools rather than asking technical trivia.
Identifying lifelong learners will take diligent effort during the hiring process, but will provide you with a flexible and capable technology team that will last far beyond the "next big thing" in IT.