Teaching RPG to IBM i Developers
Steve Will examines the transformation of RPG into a modern programming language accessible to non-RPG developers within the IBM i community.
One of the keys to our IBM i strategy has been to transform RPG into a modern programming language that can be learned easily by non-RPG developers. From survey results to case studies and interactions with developers at user groups and conferences, I think it’s pretty clear we’re making good on that strategy.
Another part of that strategy, though, is to actually get those developers to learn modern RPG. In today’s blog, I’m going to bring you some thoughts and experiences from two of the well-known members of the IBM i community who spend their time teaching RPG: Paul Tuohy and Jim Buck.
Paul Tuohy is well known for his “iTalk with Tuohy” podcasts, as well as his partnership with Susan Gantner & Jon Paris to bring the semi-annual RPG & DB2 Summit conferences to the community. In his own company, ComCon, he serves as a teacher and consultant—and not just on RPG.
Jim Buck recently retired from his career as a teacher at Gateway Technical College, but he has definitely not retired from the IBM i community. He has formed his own company, imPower Technologies.
I asked both experts about their mission in the community, and about what they are seeing and doing. Here are my questions, and some of their answers, with closing thoughts from me at the end.
Steve: What’s your company’s mission?
Paul: Enlightenment 🙂 To help customers realize what is possible on their systems.
Jim: I want to deliver the highest quality IBM i educational training that transforms corporate culture, nurtures and enhances workforce skills, and deliver maximum ROI for the corporate education budget.
Steve: Who are your typical customers?
Paul: My clients cross the spectrum of the IBM i customer base – from small one/two person operations to large multi-nationals. This is especially true in the conference environment.
Jim: The courses at imPower can serve young developers new to RPG as well as experienced developers wanting to improve/update existing skills, as well as organizations that have been unable to find RPG programmers and are willing to hire Computer Science graduates and train them in RPG.
Steve: What goals are they trying to achieve?
Paul: I usually deal with customers at the early stages of a modernization process. Their long-term goal is modernization (which is usually a broad concept as opposed to an actual plan) – but there is always the requirement to get a base skill set in place. It is usually a chicken and egg situation – developers don’t know what they can do until they learn the skills and (they feel) they don’t know what skills they need until they decide what to do.
Jim: For some, it’s about filling job openings: Companies are unable to find RPG programmers, but they can find computer science graduates. They can hire a computer science graduate and we will train them in RPG in as little as eight weeks. Others are job seekers looking to update existing skills.
Steve: That raises a good question. Jim’s courses are set to run eight weeks. Paul, how much time do you spend with your clients?
Paul: Anything from a couple of days to a few weeks—those weeks being spread over a number of months. The teaching can be a mixture of classroom and, sometimes, working with developer on “skunk works” proof of concept projects—an Agile development/teaching process.
Steve: You each have significant experience in this field—decades for each of you. Are there trends in the kinds of things people are asking to learn?
Jim: SQL including DML, DDL, Embedded Dynamic and Static, as well as modular RPG programming with procedures and service programs. And for some who are new to the platform, IBM i concepts and IBM i administration.
Paul: Modern RPG and ILE are a steady favorite. For a while, there was a lot of interest in RDi—this has quieted over the last year, and I hope it is because everyone is using it :-). The biggest trend is with SQL—DDL, DML and embedded SQL—especially embedded SQL .
Steve: Specifically related to RPG what are you seeing when teaching modern RPG to
- Long-time RPG programmers
- Experienced programmers who know other languages
- Newly minted, straight out of school, programmers
Paul: I’ve seen a mixture of all three. But, over the last five (or so) years, a LOT more experienced programmers from other languages and straight out of school programmers learning modern RPG—and it is very easy for them.
Jim: Once long-time RPG programmers are introduced to the NEW RPG and programming concepts, they are usually excited and quickly adopt the new technology. Experienced programmers who know other languages quickly pick up the language and are impressed by RPG because of its ease of database access. As for programmers straight out of school, they come from a PC or mobile environment and when presented with the power of these IBM i systems they’re fascinated by the systems possibilities.
Steve: What about tools, and how they affect learning—and then developing in—RPG today?
Paul: Tools, as with any development environment, have an enormous impact. For RPG developers we are primarily talking about ACS and RDi. Modern RPG is not feasible using SEU/PDM. Experienced/newly minted programmers expect modern development tools—they sometimes expect even more than ACS and RDi offer 🙂 It is more difficult for the long-time RPG programmers – it is hard to break the habit of a lifetime: but if they make the effort, they are looking at (at least) a 30% gain in productivity – before they even try the new stuff.
Jim: The imPower course requirements are to use RDi and Access Client Solutions. These tools make the development of code and manipulating the system much easier and, as Paul said, much more productive.
Steve: What did I not ask you, but you wanted to say?
Jim: I feel that if companies would adopt modern RPG techniques and use the new tools there would be less discussion about leaving the platform. We work very hard to keep up with the new technologies as well as the needs of businesses, helping young programmers as well as long-time RPG programmers learn the new tools and coding techniques. The imPower classes and training will bridge the gap that exists between those groups, using the same curriculum and techniques I developed and used while teaching over the last 15 years.
Paul: The only other thing I would say is… for the most part, programmers are very lucky people—we get to work at something that we actually enjoy. Programming is supposed to be fun—enjoy it. Embrace what is new, embrace the fact that you don’t know everything and that there is a plethora of new things to learn – and embrace the fact that this will always be the case.
So there you have it. The future of RPG is important—strategically important—for the future of IBM i. Within IBM, we’ve been working hard to ensure that RPG and the tools used to write, debug and maintain it are powerful and easy to learn. Our cooperative strategy also counts on people being out there teaching it to people who are willing to learn it. From what these experts say, it is happening. They are not the only people doing this work, of course. I could have talked to plenty of other well-known names out in the IBM i community who have the same passion. What you need to be aware of, as a user of IBM i and RPG, is that there’s plenty of help if your company needs to move from older technology to the new world of modern RPG. Others have not only blazed the trail for you, but also have built a nice smooth highway for you to travel, getting you where you need to go much more quickly than you probably ever thought possible.