Business Application development has been central to IBM systems. While IBM i, the OS of IBM systems, is rather young – RPG language has been around for decades. When IBM i emerged as the futuristic and robust platform to run enterprise-scale applications, RPG was given a makeover into a modern business language.
Report Program Generator, abbreviated as RPG, is a high-level programming language. IBM i employs the approach of Integrated Language Environment® for programming and ILE RPG is the implementation of the RPG IV programming language. Since it is a proprietary module, it can be accessed only on IBM i systems.
Traditionally IBM i OS has been the choice for data-heavy business processes across industries. Government agencies, banking sector, healthcare, and manufacturing lines have used RPG for computing heavy applications that are not only mission-critical but also require the highest level of security features.
iSeries development projects are not limited to just data-heavy applications. Interactive web-based programs, Synon2/E application development, and Lansa low-code application development are some of the not-famous-yet IBM i projects that use the ILE family of compilers.
IBM i recently got a surge in popularity, after it was integrated with IoT and Watson AI. Many organizations are now beginning to use ILE RPG programming in their next business application for the elaborate advantages offered by the framework.
Some of the major benefits brought about by ILE RPG development are:
- Accelerated development through code reuse
- Object oriented design and modular programming
- Binding with other languages due to integrated approach
- Enhanced application modularity with static binding
- Seamless compatibility with the earlier versions
Since, IBM i environment is niche to business applications, hiring an RPG developer is a little more demanding as compared to other software developers. This blog aims to offer hiring recommendations to organizations planning for IBM i development, backed with insights gained from decades in RPG development. Below are some of the key points that can help stakeholders get a better idea what they should be looking for:
1. RPG programming is an acquired skill
Most universities don’t offer RPG as a part of the curriculum and hence developers learn RPG and gain programming skills through natural career progression. Therefore, recruiters need to ascertain skill level without an academic accreditation to support the same. In such a situation, the portfolio of individual developers or the RPG development company comes handy.
2. RPG IV has evolved dramatically
It is important for recruiters to note that RPG IV has been around for two decades. Even if the developer has proficiency in RPG IV, it might not be related to the requirement your project has. Integrated Language Environment, that has changed the business programming landscape, was rolled by Version 2 Release 3 (V2R3).
It is the same version that has powered up RPG IV for enterprise application development. ILE enables all the benefits mentioned above and highly likely you are seeking an RPG developer experienced in ILE RPG programming.
3. Ability to integrate the RPG code
Since the enterprise IT environment is complex and heterogeneous, it is important for the RPG developer to be able to execute new integrations and understand the existing ones. Though it has been made possible to facilitate calls between RPG applications and apps built on other popular language frameworks such as JAVA, the scenario is not close to plug and play situation. Therefore the ability to integrate the RPG code with new interfaces such as Python, PHP, XML is important.
4. Experience with RPG/400
More often than not, several applications are coded primarily or exclusively in RPG/400 or RPG III. You may want to move these applications to RPG IV and therefore the newly hired RPG developer should have familiarity with earlier versions as well.
There are several tools available to make some style adjustments while transitioning from one version to another. ILE compiler is starkly improvised over previous environments and developers with proficiency in one environment may face lag in the other.
5. Proficiency in web services
For any modern-day enterprise app, web-enabled user interface is mandatory. Though it facilitates broad usability and new functions, it requires changes to the existing code usually provided through a common XML or JSON-based interface. Besides, making code more modular for web services also helps in easy maintenance.
6. Knack for debugging
It is important to be mindful of the fact that service entry points are not available for all types of programs. Only those programs that are created in an Integrated Language Environment have the facility to employ a service entry point for a debugging session. Having said that, non-ILE programs can be debugged in a session that was initially started with a service entry point. It might seem tedious but is still doable.
7. Experience in IBM i app development
For IBM i app development, the developers should have practical knowledge of databases such as AS400/DB2, SQLServer, Oracle and Source Code Management System such as Rocket Aldon Lifecycle Manager (IBM i Edition) and IBM Rational ClearCase.Apart from that hands-on experience in IBM i support and maintenance with expertise in quality assurance and testing comes handy.
8. Familiarity with migration protocols
In many enterprises, a sizable number of applications are running on IBM iSeries-AS400. Depending on project goals, organizations undertake migration of such apps to cloud technologies or an improved architectural framework. Hence, it would be helpful if the RPG developer is familiar with migration practices such as refactoring of apps, phased transfer of load, custom migration approach, etc.
A little planning and thought in recruitment can help in sourcing the right talent for your IBM i application development project. With elaborately documented hiring criteria and strategic screening, recruiters can shorten the onboarding time and accelerate development. A rather efficient option is to source experienced talent from a professional IBM i app development company that can augment your team by accurately identifying the resource gap.