Programming / RPG
When you try to use new techniques and technologies, do you get resistance from your own staff?
Are you an RPG programmer who is dealing with resistance to updating your RPG skills from people in your staff or even management within your staff? Well, you're not alone.
I felt compelled to write this article because I have received several emails from people who are interested in updating their RPG skills, but the environment that they work in discourages skill advancement. Recently, I received a message from someone who is literally on the other side of the planet and is experiencing this kind of oppression in his shop and other shops that he's worked in.
I started my RPG programming career with a small staff of three, including my boss. Having my boss on the programming team was good in a way because he made sure that the importance of the IBM environment was properly represented to upper management. But it was bad in a way because he had absolute control over the way things were done and he did not allow any programming methods to be implemented that were beyond his skill set. So the implementation of modern techniques had a ceiling that matched the boss's knowledge level.
This frustrated me for a very long time. As my boss started climbing up the corporate ladder, his interest in updating his programming skills became less of a priority, and we became stagnant for quite some time. But eventually he started to loosen the reins, and after a few years I was able to start implementing some ILE methods, and I dove into procedures, activation groups, and service programs. That kept me humming along for a while.
After I proved myself in the areas of ILE, I was then able to start using embedded SQL within RPG. This was a great stride for me because I was happy to gain experience in this area. But the bad part was that I was the only one capable of maintaining these programs. The other programmer that worked with me started to pick up on it but didn't really have the interest. So whenever there was a need for new development, maintenance, or support, I was the man. I guess my ambitions to evolve beyond the boss's skill set started to bite back at me there.
My real sights were targeted at putting a GUI on the AS/400. I was pushing for Java for at least eight years before I got my shot. After years of teaching myself Java after hours and working toward certification and doing Java projects on the side, I was never able to get that production experience until the very end of my time on the system. The budgets were very tight, and we had a project that demanded integrating Microsoft SQL with DB2; it also needed to run on both Windows and Macintosh machines. Revenue was being lost without it. I raised my hand, and they finally let the dog off the chain!
I had a good run with that. I struggled a bit here and there, but I was prepared and worked through my issues. And after some time, the software was released and new reports were being produced in Excel and PDF and being distributed through email. But little did I know that the wheels were already in motion to replace the system.
That's my story up to that point. Now let me tell you about some of the tribulations that my new friend on the other side of the planet is experiencing.
From a Friend
My friend's challenges may sound familiar to other RPG programmers facing similar situations. His story is more extreme than mine. But I understand where he is coming from; he has the desire to modernize but is constantly battling against his own manager to do it. I found his story to be particularly interesting because when I was going through my struggles, I thought that maybe it was just the shop I was working in. Or maybe it was the mindset of the city that I was living in. But to hear about the oppression of modernization in a shop in a completely different country on the other side of the world made me wonder if this is a common theme for RPG programmers.
Here is a quote that my friend felt important to express, so I'll keep it as is: "HR departments have become anathema to technical progress, because they've made being a team player more important than knowledge and mastery. If one team member moves too far away from the accepted norm then that person is out." His point struck home with me: I literally had face-to-face shouting matches with our HR department, and I'm sure they were always gunning to fire me. I could feel my friend's frustration. Why is it that you can be made to feel wrong for wanting to make things better? And if another person in your staff doesn't care to update his skills, why should you be looked down upon for being motivated?
Here is another quote: "There is an in-built conservative flywheel that ensures that progressive ideas move at a snail's pace. I've read a few articles over recent months saying that the pendulum is swinging back and managers are staring to put technical prowess on an equal footing to being a 'team player.' " I have to say, in every job I've had after my oppressive days, motivation is actually required.
So what has my new friend had to deal with?
When he was developing an email application, the boss saw the messages and forbade him from doing anything else with email.
When he was using SQL and tried to pass the knowledge to the rest of the staff, he was competing against other programmers who were pushing Query/400 instead and claiming that SQL was dangerous. He was fighting a losing battle.
When he was beginning to use Qshell, another programmer asked, "Why would we ever use that?" to discourage the use of it anywhere.
The use of free-formatted programming was discouraged because the boss said that fixed-format was easier to read. Of course it was for him! It's all he was familiar with, and he was unwilling to learn free-format.
My friend also started developing procedures and service programs, but they were declined in favor of COPY.
There was quite a bit of frustration, and he made a good closing point that the technologies are there, but the boss won't let him use them.
The Other Side of the Coin
You may be reading this article and saying, "Where is this supposed oppression going on?" And if that's the case, I am very happy to hear it! I'm hoping that not everyone reading this article will be nodding their head in agreement.
I posted an article about a year ago, "Being an RPG Programmer in Today's World," that talked about being an unemployed RPG programmer and then landing a job programming in Java and C#. It was a good experience, but a lot has changed since then, and I'm back to coding in RPG. And I'm in a shop that encourages the use of embedded SQL with free-formatting, with sights on putting a GUI on the system.
There is a great mix of Windows and IBM i experts who work together. There are people with different programming styles working in harmony, both inside and outside the RPG programming realm. I was blown away when I attended one of our first meetings and the same guys who maintain the network were talking about output queues and then switching the topic right over to VOIP. I guess after dealing with the segregation between Windows staff and IBM staff, I found a great appreciation for the lack of discrimination.
There are too many people out there claiming that RPG is outdated and we should give up. That's just not true. RPG has all the tools; we just need to overcome whatever is holding us back and start using them!
And if you're one of the programmers who has forged ahead and advanced your skills, think about the way you interact with the rest of the staff. When someone who has advanced to the next level talks to me in a condescending tone to make me feel inferior, it just rubs me the wrong way and does not encourage me to excel. In fact, this behavior typically pushes me back instead of forward. I would much rather hear someone say, "Look at this cool new thing! Let me show you how to do it and why I found a reason to use it!"
When I first met my friend via email, I thought that he was new to RPG and just starting out—not because of his knowledge but because of his drive. Then I found out that he has been coding RPG for over 40 years! And he is now working on setting up a server to run PHP. His efforts to integrate RPG with Java have been put on hold because his boss prohibited it, but he is still pushing forward with PHP. I admire his perseverance and passion for programming. This guy really needs to be turned loose on an IBM i with no restrictions.
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7,