I’m not a RPG Programmer
Originally published @ Medium I'm Not A RPG Programmer
I’m not a RPG programmer. RPG as in the proprietary programming language which only runs on the IBM i Power Systems. Never heard of that system or the language. That’s OK. The system used to be called the AS/400, iSeries, IBM I5, or whatever. That’s OK too. It is a pretty powerful system that is found in many companies which run medium to large ERP, warehousing, and financial systems.
RPG (not role playing games) is a programming language that is largely misunderstood, often cast as ancient (like COBOL and FORTRAN) and has had great growth in functionality which sadly enough, the majority of RPG programmers ignore. I don’t know why. Possibly because it is much more comfortable to live in 1996 than now. But that is another rant for another day.
RPG is a great language. I think it is undervalued and really is the best business language available today.
I started out in professional IT in 1999 learning RPG as a method to get into programming and someday be a “programmer” full time. I had for a short time written batch scripts, JavaScript, and formatted some HTML. This new chapter turned into a mission to learn and I dived in head first. Thankful for working with two very good RPG programmers, I learned enough to actually make usable programs.
But I am not a RPG programmer. I was one once, but over time, technology, and growing in the art that is programming and software development, it sure looks like being a “RPG Programmer” is not a good thing to be labeled with and can have some career stunting consequences. The boom of the ERP systems growth along with the many new technologies that are revolutionizing our world has brought a new paradigm to the world of programmers and software development. This growth in IT systems development is blaring on all channels “learn, execute, or die”.
My professional title and MBA has me in management. But I still code, quite a bit, and love it. It’s my tool bench. But I am not a RPG programmer. The businesses I work with and for all run many platforms. IBM i, ASP.net, PHP/MySQL, MS Sequel Server, and sophisticated reporting platforms. There is always something new. It’s called growth, not cutting edge technology.
Why am I not an RPG programmer? It is because I am a programmer, coder, developer, or whatever the term is in your world. I write code, design and develop systems, and program on the best platform to serve the needs of business and the systems involved. I do my fair share of managing, but code is where the rubber hits the road. If I was just an RPG programmer, I could not do 1/4 of the work required and would be out of a job.
Great programmers are not dabblers. Too many folks dabble with code and call themselves programmers. It doesn’t fly in the real world. You must understand methodologies, frameworks, good UX, database methods, best practices, patterns, standards, and yes, programming languages. When I see a programmer build something amazing from scratch that is a great fit for a business or a need, that is something I admire. Let’s not dabble, lets build.
Learn, execute, or die.
So in short, I needed to get this off my chest, just so I could say I am not a RPG programmer. I am a programmer. I know RPG at an expert level, but am really just wanting to built the right thing with the right tools and materials and not shoehorn everything into the one thing I know. Sound crazy, it gets done everyday.
RPG is a great language. I think it is undervalued and really is the best business language available today. It would be great if it could be cross platform based and could be used on servers to crunch numbers and extract data like it does on the IBM i. It has native features that I have not found elsewhere. But because of this and other things, I am not a RPG programmer.
I'm a provider of solutions to business needs. I will use the best tools that our budget can afford to accomplish that aim. RPG is just one of many tools that further that goal. All tools have their strengths and weaknesses. Using the best tool for the job results in higher quality business solutions. A master carpenter does not have only one hammer, one saw, and one multi-purpose tool in his/her toolbox. Neither should you.
I support a huge ERP system that has code written when I was just graduating high school. It runs, is full of bugs, is poorly structured, cannot be maintained (even by the vendor), has more indicators than the stock exchange, and causes a huge amount of technical debt for the vendor and the users of the systems. This has been true of every ERP that has not retooled their code. Retooled RPG has been refactored. Changed for service and performance without changing functionality and purpose. The ERP system that I mentioned is doing that in some of the modules and the results are fascinating and great. We don't modify the ERP as a practice, but with every refactor or reissue of a module our life gets easier. I think the vendor has more programmers than any other vendor. Many are Java programmers who have crossed into the RPG world who are bringing in new ideas and standards. Actually true modern RPG is more like Java and other OO languages than the traditional RPG'r s would like to admit. I am not contradicting your statement, and that is a mark of success for IBM and the RPG planners and developers, but that is also true of COBOL and FORTRAN. RPG is the language for business because of the integration with the DB and the handling of distinct character, date, and numbering types. It just works. But, RPG must be modern to survive. The amount of modern RPG programmers is not vocal or populated enough to push out the dinosaurs (thanks Ken Killian ). Software companies are getting it, vendors are getting it, now if all of us programmers (RPG programmers) would get it. We are the first line of defense for this platform. Friends don't let friends code like its 1995. Swing for the long ball and go modern.