Not too long ago, I spoke with an executive at a large clothing manufacturer who was facing a significant challenge. All their core systems ran on the IBM i, and he told me that their one programmer was finally about to retire. That programmer was the only person who really understood how their applications worked. The executive had no idea how they would continue maintaining and enhancing their applications after he was gone. They loved the IBM i for its reliability and ease of use, and the RPG applications were highly tailored to how they did business. He was looking for a way to keep enhancing the system and a path to ensure they would not end up in this same position down the road.
I frequently hear stories like this at IBM i shops. Their programmers have often worked on the IBM i since it was installed and have been involved in the entire application lifecycle. Now those programmers are getting ready to retire, and the organization doesn’t have the next generation of developers available to take over. Unfortunately, too many IBM i professionals are so overwhelmed with the day-to-day enhancements and fixes they must make that they cannot take the time to think about how to prepare for the future. Fortunately, there are some steps you can take to incrementally start preparing your IBM i applications for the next generation of developers.
Start Experimenting with Modern DevOps Tools
RPG does not need to be an obstacle to hiring young developers. Developers coming out of universities and code boot camps are used to learning new languages, and RPG is just another language (especially if you have moved to free-format RPG). You have a massive investment in the proven, reliable, and highly functional code you currently use, so there is no reason to replace it. However, developers can be very particular about the tools they use. They will not be happy with PDM, SEU, or the other traditional IBM i developer tools. They want to use Git for version control, Visual Studio Code or command line editors for changing code, and Jenkins or Azure pipelines for automating builds. These tools are used by millions of developers around the world and will be part of any university or boot camp curriculum.
The great news is you can now use all those tools with your IBM i native code. A new developer will feel much more comfortable working with your code if they can use the tools they know. It is easy to get started trying these tools out (if you are not sure where to get started, send us a note at Eradani. In just a few minutes, we can show you how to get your IBM I code set up in Git).
You can manage your IBM i code using Git, the world’s most popular version control tool. Any new developer coming out of university or a boot camp will know how to use Git.
API Enable Your IBM I Data and Functions
Every day, I run into more IBM i users who are discovering the power of APIs to make their IBM i functions and data available to the outside world and to make data and functions in the outside world available to your IBM i. However, just a few of those customers are taking advantage of APIs’ capabilities in speeding up application development and modernizing their codebase. Millions of prewritten, free open source modules can add significant functionality to your applications. Functions like address verification for shipping, geolocation, label printing, QR/Barcode reading and generation, pdf document reading and generation, data conversion utilities, data visualization, analytics tools, and millions more can be added by calling them through their API interfaces. Instead of writing all your code, you can simply use already written code. Young developers are used to building code by assembling modules rather than writing everything from scratch. And you can call these modules right from your RPG code so they can be tightly integrated with your current business logic. These modules will typically be written in the languages that young developers know, like JavaScript, Python, PHP, C#, Java, etc., so they will feel right at home working with them.
API enabling your IBM i RPG/COBOL/DB2 code makes it easy to connect your current applications to the latest technology. It also opens your system to direct connections with your customers, business partners, and outside service providers.
Start Experimenting with New Languages
IBM has been working hard to make the latest open-source languages available for the IBM i. You can now enhance your applications with Java, JavaScript, Python, PHP, and other languages. It is not hard to start playing around with them, and you can take thousands of free online courses. If you can learn RPG, you can learn much simpler languages like JavaScript. There is practically an unlimited number of online courses in these languages to get you started. Call us at Eradani if you’d like some recommendations.
I learned early on from one of my mentors that the sign of a great executive is that their organization continues to thrive even after they are gone. Adding open-source DevOps tools, moving to RPG-free, API enabling your code, and working with new languages will make it significantly easier for your companies to recruit and retain today’s young engineers. They will ensure that your IBM i applications will continue to serve the organization well for years to come.