Our 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.
Bruce’s team decided to “convert-and-transition” the application for new talent in two steps:
- Rewrite the System 36-era code as modern free-form RPG code using a modular architecture.
- Assign next-generation, non-IBM-i programmers to maintain the rewritten code.
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 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 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.