The problem isn’t IBM i skills shortage; it’s an “RPG II/III-fixed format-legacy-cycle” skills shortage.
Yeah, I said it.
An “RPG II/III-fixed format-legacy-cycle” skills shortage. The kind of shortage you don’t want to have if you care about the future of your business. So forgive me if I take exception to the argument about IBM i having a skills shortage. It doesn’t. IBM i’s history is rooted in being a business computer for business people. They run business programs to do business things. IBM i may have grown in terms of capabilities, but at its core it’s a business operating system. So when people talk about an IBM i skills shortage, it makes me wonder if we’ve lost the point about what IBM i really is.
Figure 1: Not buying the skills shortage myth.
So, nope. I’m not buying it, and I’m done hearing and reading about it.
I’ll have to respectfully disagree with the number of articles released in the last month or so regarding the so-called “skills shortage” in the IBM i community. I’ll also offer a firm “non serviam” to those who are suggesting that IBM i development professionals need a 1980’s skill set in 2016.
This isn’t new either. I tackled the topic very briefly over a year ago whilst dissecting a HelpSystems Marketplace Survey, where I stated:
The concern about IBM i skills depletion is starting to become a bit of a joke to me. It's really hard to say that without sounding harsh. From a security perspective, the statement makes no sense. Is security an IBM i skill? No. Security is security. We need to hire people who hold security to the utmost concern. Of course, IBM i has its own set of rules, like any other operating system. New people will learn those rules like we all did. New people will learn how Control Language works and how adopted authority works. Very few of us learned "IBM i skills" in college. We take our business or IT or accounting background and then learn how to manage IBM i. When we speak about IBM i skills depletion, I'd argue we're really concerned with people who can come in and push the right buttons to make the same things work. This isn't progressive thinking, and it is contradictory to the 58% who have modernization as a concern. So which is it?
IBM i is evolving constantly. It's opened itself up to new skills, new people. This skills concern should be far less than what it is because IBM i is now far more welcoming and accommodating to people who know languages other than RPG and COBOL. What made me chuckle is that, according to the survey, only 39% of people run an Apache web server. Every IBM i partition runs at least two Apache web servers! One is the APACHEDFT, and one is IBM Navigator for i. That's 100% unless you've turned them off manually. Maybe the problem isn't an IBM i skills shortage in the future because people are getting older and retiring. Maybe the real problem is an IBM i enlightenment shortage because those of us worried about an "IBM i skills shortage" perhaps aren't aware of what the operating system can do right now. It's not our father's AS/400. Even if it were, the perceived skills shortage would be just as irrelevant, if not more so.
A bit of a rant there, but a lot of truth.
With the new language support in the last few years, IBM i is in fact enabling our businesses to be more open to the skills that are being used in the wild today. This is the exact opposite of a skills shortage!
Lets break it down:
Ruby, Rails, Python, PHP, Java (been around for ages), Node.js...all available to you at zero charge. Plus you can get open-source ecosystem tools like Git and Orion...again at no extra charge!
How is that an IBM i problem, let alone a skills shortage? It’s a heck of an advantage from my perspective.
And RPG? RPG has been modernized so much that it doesn’t even look like RPG anymore. It looks like a modern language because it is.
And regarding RPG, the fact that we have to worry about old RPG and new RPG doesn’t make it any easier. For example, we put unrealistic expectations upon the educators who actually do teach RPG in college. Do you want graduates who know about the aforementioned RPG II/III-fixed format-legacy-cycle development, or do you want them to know modern, free-form RPG? Or do you want them to know both at an advanced enough level to hit the ground running? How many years of schooling would that take, do you think?
Enter the “RPG II/III-fixed format-legacy-cycle” shortage.
We need to be able to identify the real root of the problem: there’s a lot of legacy code out there, and we’re worried that someone, someday will have to make a change to a 5,000-line monolith that runs payroll. That is a very real concern. Keeping old compilers and dead versions of languages alive will be a problem that can grow exponentially like a cavity. Eventually, you’re going to have a whole lot of pain and an expensive dental procedure to pay for.
Instead of worrying about the lack of old RPG skills available, let’s take the proactive approach via the following:
1. Make a modest investment in an RPG modernization tool.
Note I didn’t say modernize your RPG. It’s similar...except “modernization” is a slow process. It’s a strategy. It has to be baked in. What I’m talking about is biting a small bullet and buying a tool to bring your old RPG into the new RPG. Linoma has one. So does ARCAD. I’m sure a few others do as well.
Now you don’t have to worry about the old RPG. It’s done. Crisis averted. You may call this a cavalier or unrealistic suggestion, but maybe it’s not as out there as it seems. How hard is it to contact someone with a tool, get a quote, and then get a trial version to test with? It’s not. It’s far easier to complain that we can’t find new graduates who don’t understand indicators. I challenge you to find room in your budget and time on your schedule to migrate your RPG II/III code to free-form RPG. Otherwise, we’re depending on a whole new generation of developers to maintain something that just isn’t easily maintainable by the majority of developers out there. If we update our RPG, we can cast a wide net into the talent pool and find a good developer who can read any modern language, including modern RPG.
2. Set a modern strategy for development.
We need to make a choice on what languages we use. Do we want to box ourselves into “just RPG?” Do we want to maintain RPG II/III code or move entirely into free-form? The latter looks a heck of a lot like other modern languages, which means modern developers can read it. If the developers won’t change willingly, you could always do the old trick of deleting 5770-WDS options 32 (System/36-compatible RPG II), 33 (System/36-compatible RPG III) and 34 (RPG/400). Desperate times call for desperate measures.
In all seriousness, many shops not in the IBM i world have standards, but they’re not so tied to a language (or a long-dead version of a language) that it becomes counterproductive. Many tools are used to accomplish a goal.
3. Modernize our databases.
This means taking DDS into the parking lot and putting a bullet in it. This means using DDL and managing our databases like most of the world does. This means making the database enforce a lot of the business rules, rather than the language. The more work the database does, the less you have to rely on the language. As well, ARCAD also has a tool to migrate DDS physical files to DDL tables so you don’t have to take a ton of time to do it.
The value you get in any system of record is the data. In most of our shops, that’s in DB2. You can change the language; you still have the data. You can change the front end; you still have the data. And the database needs some love.
Change Your Perspective
I mentioned the wide net? If you start thinking in terms of schema/table/view rather than library/PF/LF, then you’re going to start talking the language of most of the development world.
We have to be flexible in order to open our doors to the next wave of developers, who will in turn be easier to find and hire. And they’re going to want to work for you because it doesn’t appear that they’re working on something from the stone age.
Getting the development world to bend to DDS and RPG II/III is not reasonable. We have to update our systems yesterday and demand more schools teach modern RPG. Until we’ve done that, we haven’t earned the right to complain that there’s some sort of skills shortage.
So, what are you going to do about it?