Computerworld recently ran an in-depth article titled “Brain Drain: Where Cobol systems go from here”
This tends to be a particularly charged discussion since these days there is simultaneously a Cobol skills shortage and Cobol programmers out of work. I was happy the author extended the discussion into two other areas: institutional knowledge and systems programming. I think the retiring systems programmer has the potential to be as or more disruptive than the retiring applications programmer.
Rather than dwell on the Cobol demographics, I prefer to take a slightly different tack. What makes an experienced programmer so effective? I break it down into four categories:
Understanding the platform: This is not a trivial step as z/OS is not like other operating system environments. Batch, online, CICS, IMS, VSAM, ISPF – z/OS is nothing if not idiosyncratic. That’s what makes it so lovable!
Understanding the languages: Sometimes I think the emphasis on Cobol can be misguided – the language itself is a minor roadblock. The easiest way to learn a language is to steal code, and at most mainframe sites there is a smorgasbord of Cobol code to steal. But I would also include JCL – a much harder language to learn without an obvious analogy on other platforms. Another subtle change is the flip between object-oriented to procedural languages – mainframe systems can be like the Wild West when it comes to programs unexpectedly requiring/updating data.
Understanding the applications: This is the biggest issue. I would expect, moving forward, newer mainframe programmers to spend the brunt of their time on analysis rather than on coding. And given the importance of many mainframe systems, you’ll definitely want the “measure twice, cut once” approach to program maintenance.
Understanding how work gets done in an organization: I have to admit that I’m not sure how offshore/outsourced workers ever get the hang of this. Everywhere I have ever worked has had a long list of unwritten rules as to how work gets accomplished.
Each of these categories cries out for a mentor to assist the new (experienced or otherwise) programmer in getting up to snuff within an organization. Unfortunately the ideal mentors may either be the very staff that is retiring or the remaining staff that is now overworked due to the retirements.