A Day in the Life of an IBM i Developer: Unlocking the Power of Legacy Systems
In this blog, we’ll take a glimpse into the life of an IBM i developer and explore the challenges and rewards of working on the IBM i…
As a developer at KFA I have a very varied day, with numerous customers running IBM i applications we develop across a wide spectrum of operating system levels and different ages of code.
If I have been part of a deployment of code changes the night before my first task is to check my code is working and that there are no system errors.
I will then implement my code into any system test and UAT environments to keep all the code levels up to date. I will also check that there are no errors in any of the test environments so the test team can run their tests without any problems.
I am in the fortunate position of being a developer as part of a development team, so we have a separate Support team that check our system dashboards, and review system logs, error messages, and performance metrics to ensure that the IBM i system is running smoothly.
If an error has occurred in our code then I may be asked by the support team to look into the issue, especially if it is an area of the system where I have previous experience.
If I am working on a development project then I will attend a scrum meeting to tell my project manager how I am progressing, raise any issues and highlight any problems with the design I am working to.
It is nice to be head down and fully focused on code writing when part of a delivery project. I write in the latest free format RPGLE using RDI and I keep myself up to date with the latest functions with each release of the operating system.
My project may include new database files which will need to be journalled to work with replication tools for disaster recovery.
I am expected to develop and manage my own code changes, thoroughly unit test and document my tests. My unit testing documents are my evidence that I have understood what my changes are trying to achieve and are a pre-requisite for me to deliver my code into the system test environment ready for our test team to start their work.
I will work closely with the Business Analysts and the System Testers to ensure I deliver to the requirements of the project.
If I am working on Application Maintenance work where I am enhancing/fixing various parts of an application then I may be working on code written 20+ years ago, this requires me to have a deep knowledge of RPG and how it has developed over the years.
If I am working on a support issue where code is falling over or producing incorrect results then I may be required to debug code. This may involve analysing complex RPG (Report Program Generator) code, which is a programming language specifically designed for IBM i, to identify and fix defects. Debugging may also involve working with other programming languages such as CL (Control Language) or COBOL (Common Business Oriented Language).
I can debug interactive or batch processes and I need to be an expert in the IBM i architecture to understand how processes run. I, therefore, need to have a deep understanding of job queues, output queues, message queues, data queues, job logs, sub-systems and much more.
A great deal of our code is now developed to interface with external systems, because of this I need to understand SFTP, SCP, MQ, ODBC, JDBC and web services. Data can be passed using flat files and as with many of our interfaces, XML.
While IBM i development may require a unique skill set and expertise, it is very rewarding.
One of the biggest advantages is the stability and reliability of the platform. IBM i systems are known for their uptime, speed and security, making them a trusted choice for many mission-critical applications.
The IBM Community
IBM i developers have the opportunity to work with a supportive and dedicated community.
IBM provides extensive documentation, forums, and resources to help developers learn and grow their skills. The IBM i is constantly being improved by IBM so the system goes from strength to strength.
At KFA we love the IBM i, its solidity, its speed and its ability to interface with just about any other system out there. Developing on the system is fast and easy when you have the right skills and we can turn our hands to anything.
AnonymousKFA Connect – IBM i Developer
27th April 2023
Want to know more? Get in touch with our team today.