They Buying and Selling of RPG
I remember it well, and for a good reason, it was how another programmer, one who I still deeply respect as a programmer, reacted to something that I was working on and how it was developed. First of all, it was not the best of situations and second of all I was on the defensive which is not my best side. Offensive is not my best side either, after all I am a programmer, and digging into the code and data is my best side.
This happened in a meeting to review my current and recently finished work with the senior programmer in the applications department. Our main platform for development was RPGLE (RPG) on the IBM i (at this time it was running V5R2 on a pre power series box). I had returned a few months before from Common and was still buzzing about all the techniques and ways to develop applications. This was a true technology hangover if you love to code.
Back to the meeting. I was leaving the company to work for another company following what I thought was the course of my career and a move forward in my technical pilgrimage to code nirvana. In the meeting it came to a place where I was going to turn one of my projects over to el senior. This is when I took a no holds barred bashing of what I was working on, how I was doing it, and a complete dressing down of my work and myself as a programmer.
The crime I committed was developing a web service HTTP set of programs to receive orders and send order confirmations back and forth to a new distributor who was running their system via .Net. In 2016 this is nothing unusual for many systems. RPG handles XML very well and has been very modern and versatile with strings and data parsing. This was 2008 and although this was a hot topic at Common, it was not a hot topic to all IBM i shops and developers. As I found out, it was not a hot topic here as well.
The point of my story is not to run through this situation in my life to discuss what I was doing and why I was getting a verbal spanking from my senior. The point is something I said without thinking too much about it that has later became a mantra of mine and a pillar in who I am in the software development world and on the IBM i platform.
The conversation was boiling at the point of why are we going to use XML and not EDI and/or FTP of text files which was a very successful tool set for our business. My explanation to his questioning was to bring on a new tool set to our company that could open up new doors of business with companies who do not use EDI or are on different platforms. His answer was “I’m not buying that”. I knew I was right. Time has proven this. Technology has supported this. My future work has validated this.
My response was “You are actually buying this, because you are not listening to what I am telling you, but just wanting to stick to what you are comfortable with. I am selling an idea and way to gain more business by having more ways for other businesses to trade with us. Actually if you are not selling you are buying.” I left it there, then left the company for my new opportunity, and was still branded with the thought of “Are you buying or selling”.
Since then I have been in many situations where my leadership and managers saw me challenged about using new techniques, tools, and modern coding to do my work and to have other, often times more senior programmers challenge and try to tear my work apart. My response was to keep selling. Sell because I really believe in what I was doing, and selling because RPG has much more to offer businesses and development teams that what we are giving to it. Selling because modern RPG is the gateway to understanding other programming languages and merging technologies. Selling because the old school RPG programmer and limited capabilities because of limited skills thinking has to die off. Selling because my career and job depends on it.
So, are you buying or selling? When was the last time you pushed the envelope and sold something new to your company and team? When was the last time you pushed into the full capabilities of RPG and how it can do more that sling data in and out of fields?
Are you buying, or are you selling?
I am writing this article as an encouragement to the RPG development community to be that force which is the lifeblood of the system. It does not matter if you work for an ISV or like me as an in-house developer with a company. We all are drawn to this platform, database, and language because it simply gets stuff done. It is the gold standard for business programming. The platform is tough, strong, and integrates with everything. But none of this will ever happen unless programmers and development leaders sell the merits of what can be done, and then do it. Don’t buy, sell.
Once again, are you buying or selling?