RPG Trek, The Next Generation

RPGLEOur client “Bruce” was discussing the RPG talent shortfall and how to get the next generation on board to write and maintain legacy RPG code dating back to the 1980s in a recent iChime meeting.

Bruce had a System 36 manufacturing application written in fixed-format RPG. The system was solid and users were satisfied. But Bruce knew that he had to modernize the code for ease of maintenance and to expand the developer talent pool for future applications.

Bruce knew that he had to modernize the code for ease of maintenance and to expand the developer talent pool for future applications.

The Solution

Bruce’s team decided to “convert-and-transition” the application for new talent in two steps:

  1. Rewrite the System 36-era code as modern free-form RPG code using a modular architecture.
  2. Assign next-generation, non-IBM-i programmers to maintain the rewritten code.

The Implementation

Step 1: Rewrite the code

Bruce hired a contractor who rewrote the System 36 code into modular free-form RPG and modernized the flat record files as Db2 for i tables. Staying with RPG streamlined the rewrite and avoided subtle bugs that arise in code translation.

Step 2: The Next Generation

“I assigned my Web developer who programmed in HTML, PHP, and Node—with no prior IBM i background, only Linux—to learn the application and take over maintenance,” said Bruce.

The Results

The free-form RPG code looks modern and familiar. The Web developer appreciates the quality of the RPG compiler—specifically, how well the compiler detected errors and problems. And they can use the familiar VS Code as their IDE to maintain the application.

The developer learned RPG without any formal training. They asked Bruce questions for the first couple of months, after which they began to maintain the application independently. Eventually, the developer felt confident enough to challenge prior RPG programming decisions, find better ways to do things, and start using qualified data structures.

The Takeaway

  • The application is modernized, still runs on reliable IBM Power hardware, and takes advantage of current IBM i capabilities.
  • The shop expanded its IBM i talent pool and no longer relies on later-career RPG programmers.
  • The initial conversion has become an in-house model for handling other legacy applications, yielding similar positive results.

Summary and Challenge

Bruce’s experience—like others who have used similar strategies—shows that it is possible to modernize legacy IBM i applications and integrate your next-generation enterprise programming staff without completely replacing the application or migrating off the platform.

If your team wants to transition more RPG application work to the next generation, let’s discuss your options.

4 replies
  1. Don Rima
    Don Rima says:

    Sounds good. Notice: Bruce didn’t go “off shore” …. Nor did he scrap the existing systems, he just renovated and improved them…nor did he feel he had to buy some code generator because some vendor thinks that’s the solution to all of IT’s woes…

    Good luck Bruce :)

    Reply
  2. Paul Nicolay
    Paul Nicolay says:

    Someone who’s capable of “a contractor who rewrote the System 36 code into modular free-form RPG and modernized the flat record files as Db2 for i tables.” must be called Superman !

    Personally I’ve seen so many applications on IBM i for which the original developer doesn’t even dare to touch the code (for which there’s off course no documentation), let alone that someone without prior knowledge is capable of even doing a small subset (regardless of time and budget) of what is claimed by this article.

    PS. Opinions expressed are my own.

    Reply
    • Jack Woehr
      Jack Woehr says:

      Ha! Yes, Paul .. I maintained someone else’s S/36 RPG app for some years … early on I broke General Ledger for an entire month before anyone discovered it. You see, there were these reports no one was looking at, so I stopped generating them … :)

      Reply
  3. SUSAN GANTNER
    SUSAN GANTNER says:

    What a fabulous story! It’s a prime example of solving a potential skills shortage problem with the added bonus of getting way better code for all the developers to work on in the future. Here’s hoping the rest of their RPG apps will continue to benefit from the insights from this new-to-RPG developer.

    Thanks for sharing, Jack!

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.