You are currently on IBM Systems Media’s archival website. Click here to view our new website.

IBM i > TIPS & TECHNIQUES > APPLICATION DEVELOPMENT

Demystifying the Myth that Generalists Outperform Specialists


Fifth in my “how-not-to” series looks at the myth that using IT professionals as generalists optimizes their performance and is based on my more than 35 years of work in mainframe IT, reviewing mistakes I’ve seen or participated in and helping others to avoid them. It’s also my fourth consecutive “Demystifying the Myth” article. My first article, “End Users: A Programmer’s Best Friend and Worst Enemy,” can be found here. The second article, “Demystifying The Myth Of Measuring Programmers With Metrics” can be found here. The third article, “Demystifying The Myth Of Multitasking” can be found here. The fourth article, “Demystifying The Myth Of Sweatshop Mentality” can be found here.

I’ve been both a specialist and a generalist. When I joined IBM, I was designated CICS branch specialist, sent to all CICS classes (plus basic training), then assigned to CICS-related projects at customers (plus development of a Field Developed Product called Trend Analysis/370 Under CICS/VS). Since my role involved online applications, network software (ACF/VTAM/NCP, Netview, TCPIP) and database (IMS/DB and, later, DB2) were added, and I became Area/Regional CICS Specialist, covering Midwestern U.S.

When I left IBM and founded Best Customer Solutions, I kept this specialist philosophy, hiring MVS, Storage Systems, third-party product and application specialists. I spent 30 years in a specialist-oriented environment, and most my customers were specialist-based. But some clients were generalist-based. They were mostly smaller companies, some using what I call the “throw a body at it” philosophy: Any programmer available gets the new project. Then I joined one of those “throw a body” companies, giving me insight on the advantages and drawbacks of a generalist.

I’ve experienced both sides of the specialist versus generalist argument, and I can’t see the advantage that some institutions believe exists in using IT professionals as generalists. While a generalist is theoretically more deployable and useful for on-call duties, the specialist, because he/she can achieve a high degree of proficiency in one or a few areas, usually attains a notably higher level of productivity. The reason a specialist is more productive is fourfold: skill proficiency, skill currency, reduced research and reduced training cost.

Skill Proficiency

Because a specialist can focus on a smaller product and application set, he/she can acquire greater depth in skills and knowledge, for several reasons:

  • Specialists work with the same products and/or applications most of the time, and thus acquire a higher level of knowledge regarding them. They also have substantially more experience with the technologies and business processes they support. The adage “experience is the great teacher” is true for the specialist.
  • As a rule, specialists receive more initial, formalized training, and go to more user groups, technical conferences and product updates. The payback is greater for a specialist because training enhances essentially all job performance; for a generalist, it only enhances a portion since they often switch roles.
  • Specialists generally have more fascination with their trade; fascination becomes love for what they do. Love of their specialty is motivation to learn more about it, a positive feedback loop.
  • It’s easier for a specialist to excel and have confidence in what they do, another self-motivating factor.

Skill Currency

  • “Use it or lose it” is the theme. A few years back, I wrote an email download system according to a vendor interface; after a successful implementation, I moved to other projects. Four years and a dozen projects later, I was assigned to make some email system enhancements. It wasn’t like starting from scratch, but I needed to review the programs and refresh myself at how they worked and interfaced with shipping system, which I also hadn’t worked with for some time. Most of a day shot.
  • In another situation, I was assigned some Assembler work. I had written an insurance claim system in Assembler 25 years earlier, but it took time to relearn. I had to re-acquaint myself with Principles of Operations manual. More time shot.
  • I can still quote CICS Command level, Systems Initialization Table parameters, all the variations in Resource Definition Online entities or understand CICS Shutdown Statistics. That’s what specialization allows and generalization doesn’t. Extremely in-depth, easily recallable knowledge.

Reduced Research and Analysis

  • Specialists often don’t need as much time to research a project or problem as generalists. That’s because they’re more familiar with the system, product or problem due to regular work with it.
  • Specialists don’t need as much time to research the tools they use, or the business process they work on. They’re more intimate with them due to regular use, and more trained in their use.

Reduced Training Overhead

  • Although it may seem counterintuitive, specialists often need less training—after initial training—because once they know their products and applications, all that’s needed is “tune-up” training like user groups, technical conferences or product updates.
  • Specialists also spend less time in training because they’re not bouncing around from product to product or application to application, each time requiring further mentoring or training.
  • Sometimes institutions try to bypass training requirements by using “sink or swim” mentality. That is, programmer or analyst learns as they go. I’ve done that; it’s extremely frustrating and a lot of mistakes are made—especially initially—both in coding and problem resolution. Mentoring can be extremely helpful, but it ties up another person’s time, so it’s not provided. The result is often reprimands, only making it worse. It’s a miserable situation.

Generalist Advantages

  • If the on-call structure is based on single point of contact, that contact must have a broad knowledge base to analyze a problem and fix it, or to know the right person to fix it. That calls for a generalist.
  • Generalists provide more flexibility in staff project assignments, if the person assigned has some relevant skill, or the assignment is straightforward and doesn’t require specific skills.
  • Small companies may have no choice but to use generalists. But even then, the “throw a body” approach doesn’t work. Qualifications still must be considered, and assessments should reflect that.
  • From a personal perspective, advancement into management, especially upper management, requires a wider grasp of the business. Generalists fit this category, and a specialist may need to diversify to move up. But at the same time, I’ve seen outstanding specialists move directly into management and excel.
  • Some generality is good for an IT department; it provides cross training for backup and backfill.

Specialization Needed in Skilled Positions

My comments on generalization versus specialization are oriented to IT, but much applies to other parts of business, too. IT is very technical, which lends itself to specialization. This is true for most scientifically, intellectually or technologically oriented positions. Specialization excels where the job involves large amounts of information or intellectually challenging skills. There are positions that are essentially “throw a body,” and generalization works well there. But where high amounts of experience or skills are needed, specialization means productivity. The generalist I worked for actually moved people from where they were proficient to where they had virtually no experience, with no mentoring, training or support. That doesn’t work.

Jim Schesvold can be reached at jschesvold@mainframehelp.com.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



Advertisement

Advertisement

2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

A PPP Monitor Utility

Here's a program developed to programmatically obtain the status of a PPP connection

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters