The so called "skills gap" regularly gets brought up in tech news and also at the heart of the problem: the mainframe space. But is there truly a mainframe skills gap or just inaction from mainframe customers? I think it's complicated situation and ultimately what it boils down to is that no one really wants to take responsibility for the situation or do what's necessary to fix the problem. I will try to go through some of the different opinions in this blog and give my 2 cents on them, these are just my personal opinions and do not reflect those of my employer.
I have seen many are quick to blame IBM for lack of official training courses like "the good old days" and I really don't agree with this sentiment. On other platforms a ton of the courses and learning material are made by the community, 3rd party training providers, and companies themselves, but in the mainframe space it does skew more towards IBM themselves or mainframe software provider as it isn't uncommon only getting official documentation when searching for a problem. I think it's a big problem we don't see more customers and mainframe enthusiasts sharing their knowledge online, as we're seeing a shift from reading manuals to looking up questions on search engines or watching YouTube videos.
IBM does have some fault, they have been far too slow at adopting platform agnostic technologies that make the mainframe easier to work with. Of course we can't rip out all the old features of mainframes out and we don't need to, but it's madness it's taken this long for Python to be considered as a replacement for Rexx and JCL, that should have happened way earlier and we should have a much more established ecosystem on the mainframe around platform agnostic technologies like Python by now. But even with this problem IBM can't be blamed entirely, many mainframe shops are still not actively pursuing more platform agnostic technologies and you could argue one of the reasons this hasn't been pursued earlier is because customers haven't asked for it. It's a complicated situation and everyone shares the blame in a way.
While yes we need a ton of mainframers globally, a lot of universities and technical schools still simply can't justify dedicating resources to operating systems like z/OS that has become so niche, so we will never go back to a time where COBOL and MVS were commonly taught skills. People really need to stop looking towards this direction in my opinion, a much better alternative would be companies returning to training people from the ground up, either people from elsewhere in the organization or hiring people to train from scratch. I personally got my start being trained from the ground up in mainframe technologies and I am still in this space. Instead of seeing an increase in-house training programs we are seeing companies complain about lack of qualifies personnel while they outsource to 3rd parties; which really is only a temporary fix for a dangerous long term problem. The solution seems so simple if you look back 45 years or so, it wasn't uncommon for people to start as operators or tape librarians and working their way up, but companies have gotten so used to shifting all the responsibility over to universities or outsourcing firms that they have forgotten that not long ago they were training people directly to work on their systems.
There's a lot we as a community and industry can do to improve the situation almost no matter our role, the most simple is contribute your knowledge. Ran into a frustrating error and couldn't find information online? Document it in a Dinoframe tutorial, LinkedIn article, medium article, YouTube video or whatever floats your boat, just put it out there on a platform people have access to or even multiple platforms. Also remember as long as things are done securely and efficiently it doesn't matter if your colleague uses let's say if your colleague uses ISPF or VS Code to edit JCL. Also make sure to give feedback to IBM and your other software providers, they are far more likely to listen than you might think and then we can maybe get better technology. But there's other things you can do depending on your role in some cases.
Make sure modern tooling is available to those who might want to use it. Make sure tooling like zOpen's git, Python, ZOAU, the C/C++ compiler and so on are available and configured. Providing modern tooling can help newcomers become productive more quickly by reducing the amount of specialized knowledge they need to work with their domain.
Push for training programs, we need to transfer the knowledge now and not in 10 years when even more people have retired. Make sure your junior employees have access to quality e-learning like Interskill in-addition to whatever training they are getting on the job. Don't expect people to hang around if there's not actually a path to a decent wage either, it's often an oversight in bringing new people on, if people are actually putting a lot of work into advancing their skills and they don't get paid enough they will find someone who will.
It's easy to complain about the situation, but if everyone complains who will actually fix the situation? The answer is no one. We must complain less and look for constructive solutions to our problems.