There’s delicious irony in Dan Burger of IT Jungle breaking the story that finally lays to rest the ghost of IBM’s ill-judged campaign: “Sure there will be other jobs for programmers who don’t know Java.”
Dan tells the story of long-time IBM AS/400 shop the Harry Fox Agency (HFA), where a couple of IT managers decided their “RPG resources were far too great to squander.” This story was refreshing because I invariably read articles and discussion threads that couch the future of RPG developers and the IBM i platform in simplistic black or white terms that belie the real issues and options.
In the black hat camp we have the doomsayers who advocate “get the hell off the platform right now and get your hands dirty with something that has a future.” On the other side, the big blue hat proponents are tarred with being the “make do and mend brigade who allegedly won’t learn anything new and who are secretly saving their energy and creativity for retirement.”
The Harry Fox story dumps on these idiotic stereotypes and demonstrates a common sense approach that other RPG shops could easily emulate. The first mistake the black hats make is to regard “a legacy system” as a single entity to be discarded rather than an asset to be managed. Even the blackest of hats would struggle to argue that an IBM POWER7™ system is not state-of-the-art hardware. In most cases the RPG applications are not broken and collectively they represent great business value. So, where are the problems with being an RPG shop and what is the risk of just staying put?
The RPG programming language has two limitations that cannot be ignored when assessing business risk: it is an IBM platform-specific language and the talent pool is diminishing with fewer new developers entering the community. These limitations combine to fuel ever-spiralling costs for maintaining RPG applications.
So a good first step is to draw a line under those RPG apps by assigning them to be modernized rather than actively developed. This designation is seen by some people as a derogatory term, but it shouldn’t be. Modernization is merely short-hand for that series of tasks that keeps applications in-tune with the needs of the business and its users. But to spend more than the minimum is irresponsible when you consider that for every $1 spent maintaining an old system you are building-up a $3 debt for when you eventually re-write or migrate the legacy code. But the other extreme, starting-over again in a new language like Java, is even more fraught with risk and unjustified in many cases.
It is a fallacy to assume that “newer is always better” because there is genuine commercial value in stuff that already works and good software developers know the business as well as the technology. In my experience it is the business knowledge that is hardest won and therefore vital to persist as corporate memory, whereas skills with a particular programming language, database, or operating system can diminish in value as technology evolves. This point is underscored in a quote from the Harry Fox story:
“I wasn’t sure of the direction I needed to take the RPG team. The CIO explained how valuable the team was. So I started to understand what they were doing. I realized that these guys are the ones that know everything and have the deepest history of our data and solutions. They handle the guts of our processing here. On top of that they are extremely sophisticated in the whole process of setting up the data structure, writing good code, and testing it; they know everything from the requirements stage through the deployment of the product. To me, that is more than 50% of being a good coder. And they know the music business. When you bring a new developer in off the street you don’t get this.”
I could write ad nauseam on the topic of application modernization but instead I recommend you read the eBook Transforming IBM i Applications – Your Journey Beyond Modernization by Paul Conte which presents a transformational strategy for taking your applications beyond modernization. You can read the full story about the experiences at Harry Fox.
We, in the western world, are living through an era of increasingly fewer computer graduates entering the workplace and we are operating in a global marketplace where technical competency (like writing code in a particular programming language) is being seen as a commodity skill that can be outsourced to cheaper locations. If you are an RPG shop then please, before you embark on your next major application development, modernization, or integration project, ask yourself “how can I best up-skill our existing software developers?” rather than “how cheap and easy will it be to find new Java, C#, PHP, HTML, [blank] software developers and then integrate them into our team?” Never underestimate what great people can achieve with good tools.
I leave you with the sage words of HFA Senior Vice President and CIO Lou Trebino, “RPG was ‘Oh, my God, get the garlic out! It’s not something we’re going to touch.’ Now, with LANSA in place, the RPG team is on an equal footing with the Java team. It’s part and parcel of every decision we make for every application including new and revitalized apps.”