A while ago, I got this terrific email from a subscriber. I will call him “Nuno”. Not because that’s a pseudonym, but because that’s his name. Hi Nuno!
So, lightly paraphrased this is what Nuno said to me:
NunoI’ve been a RPG programmer for over 20 years (had a phase in COBOL/400, but essentially, and for a significant part of my professional career, it’s been in RPG). I really enjoy working with RPG, but the truth is I’ve let myself become too comfortable, and I feel like I haven’t progressed much. Lately, I’ve started to feel the need to evolve (perhaps a bit late), and I tried searching for RPG certifications. Unfortunately, in my research, I found that IBM no longer offers this certification. However, during my search, I came across your blog, and it’s excellent!
Nick, I know that IBMi and RPG are still widely used and will continue to be, but I would like to reinforce my knowledge in everything that RPG and the IBMi system can offer. How can I do that? How can I enhance my skills?
I’ve even thought about changing my area and technology, but that would mean starting from scratch, and I have so much experience as an RPG programmer that it would be a waste not to leverage it. I’ve tried researching, reading, but there’s so much information that I don’t know where to start!
When I first learned RPG, I was told it was a ‘dead’ language, and that notion lingered, impacting my motivation to explore it further. The reality is, after more than 20 years, RPG is very much alive and thriving! Hence, I feel the need to learn more, to expand my toolkit, and become a more comprehensive programmer.
It warms my heart to get emails like this 🙂
I’ve been writing blogs on here for many years now, some technical, some personal, some downright stupid; ranging from jokes to cooking recipes to religion and politics — it’s gratifying to think that anything I put up here is useful to other IBM i Folks out there.
I do it because I am passionate about programming, technology and the IBM i ecosystem in particular. Of course, I am flattered whenever someone says anything I’ve waffled about helps them. Fantastic!
I was really struck by Nuno’s comment saying “I feel the need to learn more, to expand my toolkit, and become a more comprehensive programmer” because that’s at the heart or of all of us IBM i Programmers.
Now let’s dive into my reply:
I would like to reinforce my knowledge in everything that RPG and the IBMi system can offer. How can I do that? How can I enhance my skills?
Let’s start with this simple focus for your need to modernize your skills – IBM i is booming! Especially today, with many people from the old AS400 and iSeries ecosphere retiring and companies asking the question “how will I maintain this old AS400 stuff?” and better than that “how will we modernize this old application or perhaps migrate it to a new web UI?”
It was these questions that started me blogging about this topic years ago.
As I upgraded my skillset from old AS400 green-screen RPG programmer to a more modern web paradigm, learning /free RPG and basic web languages like javascript and how to build websites with HTML/CSS/etc… I quickly discovered that with the added bonus of knowing the “old AS400 stuff” I had fallen into a niche area where this combination skillset was much in demand.
If, dear reader, you are asking yourself similar questions about how to start upgrading your RPG skills to use the latest RPG /FREE — The first step is to get a clear picture of the difference between older (let’s call them LEGACY AS400/ISERIES applications) and the newer internet model of how applications should be designed.
The end of this trail sometimes means rewriting huge old RPG programs to make them modular and sometimes each of these modules may be written in different languages. Always use the best language for the job… but between RPGLE and SQLRPGLE 90% of the time new languages are not necessary.
First stop – get the modern application paradigm into your head!
Perhaps, start with reading the IBM Redbook which I am actively copy/pasting into bite size segments here Modernization – From AS400 To ISERIES To IBM I On Power Systems Archives » Nick Litten [IBM I AS400 ISeries] Software Developer
Next, make a move from old RPG column based to modern free format RPG.
Upgrade your *PF tables to SQL… start to use SQL whenever possible!
Break older RPG400 code down into more modular, re-useable RPG ILE modules. Use Service Programs. and so much more.
Check out Visual Studio Code and the excellent Code4i extension – this one thing will revolutionize how your write code on your Power System.
It all sound daunting if this is your first step into the wonderful world of modern RPG programming. But don’t be afraid, I promise you, you will get a kick out of the journey.
Very inspiring article !
Thank you for sharing Nick!
My advice is even (as a challenge) , to share how good Modern RPG has become syntactically same as Javascript and the likes , showing how easy it could be for some to become “RPG Developers”