Specialization has made the 'do everything' IT admin a rarer breed, but it is still a vital one

InfoWorld|Mar 25, 2013

In days long past when SCSI was confined to 68-pin cables and clouds usually meant rain, IT generalists had their heyday. It was a matter of necessity, really -- more often than not, there was no other option. The folks who set up and maintained the email system were the very same people who built the network, tended the servers, fixed the workstations, and had a hand in just about every level of IT. This was not confined to small shops. In bigger shops there was more spread, but also a few people who somehow had their hands in every part of the pie -- who might be coding an app one day and programming Layer 3 switches the next.

I suppose you could blame the IT explosion. The sheer number of tools and frameworks available for every aspect of IT today dwarfs the collection available even five years ago. The advent of virtualization has certainly contributed, introducing all manner of abstraction and specialization that defies consolidation. In short, it's becoming much more challenging to keep up with the progress of information technology, which carries with it the progress of connected devices. One PC per person used to be the rule, but now we have smartphones and tablets to worry about, desktops both physical and virtual, and security sitting atop the whole shebang, mocking us.

If you knew enough about a number of IT silos, it was fairly easy to pull off a true general IT job. Learn enough Perl, Linux, Sun, Windows, and Cisco, and off you went. You didn't necessarily need to be an expert in any of them, but with a solid enough foundation, you could usually get the job done. These days, those skills will still get you places, but there's a growing chasm of other technologies and frameworks that aren't on that list and may prove daunting to integrate.

The spread of scripting and programming languages is one example. Perl, Python, Ruby, PHP, C#, JavaScript, Java, VB, and C++ are everywhere, and to become more than competent in a majority of them is the job of a developer, not a generalist. Layers of frameworks within those languages continue to expand as well, so not only are you working within a language, you might be working within a specific framework as well. Modifying or extending an existing project written in one or more of these languages can become very challenging for a generalist, especially if they don't have a solid foundation in the language to begin with.

The propagation of various virtualization platforms is another example. While most of the top-tier solutions adhere to a central set of features and rules, each is expanding that set rapidly, and not always in the same direction. New technologies like VMware's VXLAN and Microsoft's NVGRE are turning the tried-and-true Layer 3 switching model on its head and reworking networking from the foundation to the top of the stack. Adapting to the intricacies of those technologies -- as well as implementing and managing them properly -- could be considered a full-time job. This is to say nothing about the rest of the technology pile, from the hardware up to the operating systems themselves.