Question and Answer Session
As our extremely clever friends from the System i Developer University
(a.k.a. Susan Gantner, Jon Paris & Paul Tuohy) are flying in this year to once again impart their extensive knowledge to delegates at International i-Power, we thought we would pose them some devilishly tricky questions (and a couple of cheeky ones) even before they get here.
And just for good measure we threw the same questions at i-UG's very own Technical Director Steve Bradshaw
After scratching their heads here are their responses......
If you want to know more about what SiD lectures we will be covering this year you can find out more here
Q1. What year did you first start working / developing on an IBMi system and what was it known as back then?
SG - It must have been around 1986. Since that's before the AS/400 was announced, an explanation is in order. I worked for IBM as the yet-to-be-named system was being created. As a dyed-in-the-wool System/38 fan at the time, I made it my mission to be as closely involved in the development and success of the follow-on system as I could. I was part of a team of internal IBM educators traveling the world in the months leading to June 1988 to prepare for the AS/400 announcement.
JP - Unofficially 1987 – when it was the Silverlake project. I was a contractor at IBM and not supposed to participate in the development of what became the AS/400 but it was not exactly a secret and as a “real person” as well as a compiler person I was being asked a lot of “how would you like this” type of question. Officially in 1988 when I joined IBM just after AS/400 announce so that I could speak at for IBM at COMMON in Toronto.In some ways though my history goes back further to the very early 1980s when I was introduced to the S/38.
PT - Started on System/34, System/38 and System/36 - had a full career behind me before the arrival of the AS/400 :-)
SB - I started as a Trainee Programmer in late 1988 at an IBM Business Partner called JBS. They had recently taken delivery of their shiny new AS/400 model B30, which was basically the size of a Telephone Box.
Q2. Since the above answer to the first question, what in your opinion has been the major change in the system and why?
SG- Expansion of the basic architecture to allow for open source tools and languages to play nicely with our more traditional languages and application environments.
JP - The sheer growth in its capabilities. With the S/38 I thought I had a good grip on about 75+% of what the system could do. With the early AS/400 maybe 60% on a good day. Today I’m lucky if I can keep up with RPG, SQL, the development tools and some of the Open Source stuff like PHP and Python. Hmmm – maybe that is just me getting older!
PT - Way too many things to list. But, from a programmers point of view, the power of the integrated database and free form RPG
SB - Processing Power! Like all computer platforms you get a lot more bang for your buck these days but when you consider that the smallest POWER9 server you can buy now is probably around 50,000 times faster than it’s AS/400 B model ancestors it can blow your mind.
I remember that I used to memorise all the parameter keywords on a command because waiting the extra 10 seconds for the F4 Prompt to appear would drive me crazy!
Nowadays we think nothing of having 64GB of RAM but back then we would have been happy with 64KB.
Q3. Developing / educating people on IBMi has taken you to many countries, which did you enjoy visiting the most and why?
SG- I spent a lot of time teaching at IBM's education centre in La Hulpe Belgium just outside Brussels. I was there so frequently that for years it almost felt like a second home. Many IBMers preferred to stay in hotels in Brussels and commute to work in La Hulpe. I preferred to stay in the more peaceful La Hulpe centre surrounded by the Belgian forest - even though the accommodations at the IBM centre were spartan, to put it mildly!
JP - Tough one. There really isn’t one. I love Australia and New Zealand – I feel at home there the minute I get off the plane and hate having to leave. I love Japan too because it is so completely different. Hong Kong as well for the sheer frenetic pace. I have also, courtesy of IBM’s European training facility, spent a lot of time in and around Brussels and I really love that area. And then I would be seriously remiss of course if I didn’t mention the UK. “Coming home” is always a joy – my home is in Canada, but part of my heart is forever in the South Downs.
PT - I have good things to say about every country I have visited. But Costa Rica and Sweden stand out for me.
SB - Educating people can be fun no matter where you end up. It is wonderful to see new places and experience new cultures. But what I love the most is the people, there is something unique about the IBM i community. Its members seem to be the most remarkable fun people. So for me, I don’t really mind where I end up, as long as I’m surrounded by this kind of people.
Q4. What major changes do you foresee to the POWER systems?
SG - The major change that I foresee is that the business IT industry will finally wake up to recognize the incredible value of the IBM i platform. An important step in that is for those of us working with this great system to renew our own appreciation of its power, simplicity and stability. And then - most importantly - we need to spread the word! Social media is a great way to let the rest of the world know what we have - you know, those poor, unfortunate souls still struggling to run their businesses on inferior platforms.
We need to inspire more articles like the one in eWeek proclaiming IBM i to be "the most amazing IBM product you’ve never heard of." One my favourite parts of that article is that it was listed as as a "new product analysis." Hardly new, in terms of years. Then again, ageless in terms of its architecture which enables it to re-invent itself and assimilate new technologies without skipping a beat - or rewriting any applications!
JP - It will just keep spreading its range and power. The kinds of changes that will continue to bring new companies to the box and help continue the trend of convincing those who plan to move off-platform that that is a really silly and pointless idea. I think that cloud-based on-demand IBM I offerings will become more and more important over the next few years and will help accelerate those trends.
PT - The growth of AI
SB - From a technical point of view, I see the continuing migration from spinning disk to SSD and hopefully one day we will see FLASH storage built into our systems too.
Q5. If you could choose an actor to represent / portray you, who would you choose?
SG - Keira Knightley. I've been a fan of hers since "Bend it Like Beckham." Besides, with her in the role, I'd ensure Jon would watch it at least a dozen times.
JP - David Tennant. He has the mix of seriousness and humour that I like to think is at my core.
PT - I wouldn’t inflict that on any living actor so… Bela Lugosi
SB - Stephen Fry, not because I think we are alike just because I’d love to get the chance to meet him.
Q6. Younger people choosing IT as a career choose Blue Screen to work on and develop, what would be your words of wisdom to change them over to POWER systems?
SG - Come to work on an integrated system where you can focus almost exclusively on the art of developing great code - with far less concern about the minutiae of the operating environment - a database that automagically manages its own growth and performance, a consistent security mechanism built into all aspects of the system, etc.
JP - I’m not convinced that they “choose” so much as have it rammed down their throats. The education system in North America (and I’m guessing the UK) is so driven by $s that we see situations where IBM I programs are shrunk even when they have high placement rates in favour of MS programs because the school gets more sponsorship $s that way.
That said – the advent of Open Source is helping. Youngsters like Liam Allan making a splash in the field helps attract other youngsters. Most young developers that I encounter who “try” IBM I are amazed and overjoyed to find that they can spend their time developing and not rebooting and rebuilding databases. So we need to spread that word. Hopefully low-cost cloud-base systems can help in that regard. Even when we get youngsters interested it is so hard for them to find a place to “play”.
One more thought. It would help a lot if companies would stop trying to hire RPG programmers and focus on hiring developers. Modern RPG can be picked up very easily by folks who know Java or C# or … but it must be the modern free-form version. Once they are hooked on the business capabilities of the language you can show them the old stuff and they can help convert it.
PT - The questions they should ask is where is the money and where is the career? Do the research.
SB – It’s a better career path. Look at companies that use IBM i. If you want to be able to jump around between the top: Banks, Insurance and Logistics companies in the world, guess what they all have in common!
Q7. What topic do you enjoy presenting the most and why?
SG - RDi. 2 main reasons. First, I usually do a lot of demos so the sessions are more naturally interactive - especially good right after lunch when it helps to keep both me and the attendees from dozing! Second, it's a topic that I feel can have a big impact fairly quickly on the productivity of my fellow developers.
JP - I love teaching RPG to non-RPGers. Seeing their enthusiasm when they realize how easy it can make it to get business stuff done is always a joy. But equally I love teaching new tools and techniques to RPGers.
PT - Anything on database or RPG.
SB - Right now it’s Navigator for i. I love the look on people’s faces when they first see this native IBM i interface that is GUI, intuitive and so rich in function. Not to mention it’s free of charge and available by default.
Q8. Which topic do you not enjoy presenting and why?
SG - Any topic that I am not as confident of my depth of knowledge on the subject as I'd like. I avoid teaching those topics most of the time, but there have been occasions when I agreed to cover a topic because the audience or organizers wanted it. I feel that I should understand at least double the depth of the material on the charts to comfortably deliver a session.
JP - Since leaving IBM I haven’t had to do much of this but I used to hate having to do “airy fairy” strategy sessions like AD/Cycle, if anyone recalls that. I like my presentations to be grounded in reality and always struggled with that. As long as I could give the presentation my own slat I could live with it, but sometimes had to deliver the company line and that was a struggle.
PT - There is nothing that I don’t enjoy. But CL would be the one I enjoy least.
SB - I love talking about anything to do with IBM i
Q9. You’re making a sandwich what filling would you put in it?
SG - It's hard to beat a good peanut butter and grape jelly sandwich for me! Whatever the filling, tho, I want some crisps alongside my sandwich.
JP - Cheese. You can even forget about the bread – I’ll just have the cheese!
PT - Ham, cheese and egg mayonnaise.
SB - Tuna, Sweetcorn and Mayonnaise on fresh baked granary bread.
Q10. Which University did you attend and what subjects did you study?
SG - I attended small Berry College in north Georgia (US) where I majored in sociology and minored in psychology. Fortunately, I listened to my father's advice to take at least a few computer science courses, where I discovered that programming was fun! I took a programming job shortly after graduation and have never looked back.
JP - School of hard knocks. I actually left Grammar school in the UK at 16 and was a civil servant for two years before discovering computers. Since then I’ve done various courses but am largely self-taught with the help of some fabulous mentors along the way.
PT - I did not attend university
SB - I didn’t attend university. I went straight from school to the workplace. Even back then in the era of free University Education, I felt if you wanted to make money in IT, you were better building experience in the workplace than in University and thirty years on I think I would still agree.
Q11. If someone was to begin developing a brand-new application for IBM i, what would be your main advice?
SG - It's so dependent on the shop - their existing skills and business and technical requirements - it's hard to give general advice. One thing I would suggest is to keep in mind that RPG is a really strong base on which to build an IBM i application. Build the background logic it in a modern and modular style. Then choose a relatively thin user interface layer - which could be RPG-based but could also utilize PHP or Python or many other options.
JP - Tough question because so much depends on whether I have to integrate to existing apps, use existing staff resources, etc. Ideally I would look to developing anything new on the basis of software as a service, while avoiding the “everything must be a web service” trap. That means I’m going to use the database to enforce the rules (constraints etc.), RPG for my business logic with embedded SQL, Stored Procedures, etc. For the front end I’d use whatever is the best fit for the company. For example if you have .Net developers use that. If you have PHP or Python use those skills. If the rest of the company is switching to Node.js then use that.
PT - Make sure you tier the application. Make full use of the database features (constraints etc.). Understand that more than one programming language is required.
SB - Pick the programming language that you feel most comfortable with but make sure you use it in the most modern of ways. Do your research online, network with other developers and take the best of all the things you find. Remember, to steal another person’s work is plagiarism but to steal 20 people’s ideas is Innovation!
Q12. If someone is considering Modernising their IBM i, where would you suggest they start?
SG - Modularise and modernise your RPG code, creating callable business functions - business APIs (as opposed to system APIs), if you will. With the background business logic anchored in rock-solid easily maintainable modern RPG, the front-end user interface layer can be switched out relatively easily and safely over time, as technology changes and fashions dictate.
Since that process will take a while, don't forget to look for some visible quick-hit successes that may be achievable by modernizing reports or providing browser-based interfaces to data. There are many tools and techniques available that can allow you to quickly give users a more modern interface to information while you're working on restructuring the background code.
JP - Again tough question for many of the same reasons. So I’m going to cheat in my answer and say that in my opinion the only WRONG place to start is to do nothing. I see so many companies stuck in what I call “Analysis Paralysis”. They see a bewildering array of choices in front of them and are scared to commit to anything for fear of making the wrong choice.
Part of the problem is that in shops that have stuck with green screen, neither the programmers or the users really know the questions to ask. If a user has been using 5250 for data entry for 5 years, asking them what they would like in a new interface is a pointless question. Similarly if a green screen programmer has never tried building a web application they have no idea where the pitfalls are (hint – thy are in very different places!).
We often tell clients to start with some low-hanging fruit. For example take a few reports and convert them to web pages. Explore using hyperlinks to link different reports (e.g. Sales for month by customer – linked via customer number to sales detail for customer – linked by product number to …) This starts to give them and their users common ground for discussion. The cost is trivial – in fact if you use free RPG oriented tools such as CGIDEV2, powerExt, or Valence you can also often re-use much of the existing code.
Don’t be afraid of taking the “wrong path” – and don’t insist on a “one size fits all” solution. Some modern refacing tools do a fabulous job of “stretching” existing apps, but are not a good starting point for brand new apps. After all why would you orient a new app around 5250 when a 5250 will never ever be used with the app. Some of the tools can serve both purposes, other cannot. Don’t be afraid to mix-and-match.
PT - Where they start depends on where they are at the moment. The best thing to do is digest the red book “Modernizing IBM i Applications from the Database up to the User Interface and Everything in Between”. The only mistake is to do nothing.
SB - Think about the person who has the most influence on the future of IT in your organisation. Think about how they get their data & think how modernising your application could make their life easier. Then do it, get that person on board and repeat with the next most influential person. With a little luck you will find that they will support you modernising your way through all your keys systems. In summary: Never stop modernising, always innovate & always improve.
Q13. If you could wish for one new feature in the next release of IBM i, what would it be?
SG - I wish the documentation/instructions/tutorials for how to get things done/installed/debugged - especially in the PASE arena - could be made less "foreign" - i.e., more comprehensible to traditional IBM i / RPG type folks such as myself. I often find I don't understand step 1 of the instructions because so many things seem to assume I'm fluent in Unix-ese. I'm not.
JP - I’ve got a lengthy wish list of RPG features but for the future of the platform I’d like to see a continued emphasis on Open Source and if there was just ONE feature that I could have it would be tighter coupling between traditional IBM I languages such as RPG, and PASE-based languages such as PHP and Python. The existing methods of calling RPG from (say) PHP or calling PHP from RPG are OK but clumsy. They are not very usable by the average programmer who wants to call PHP from RPG as easily as they can call CL. I know that is a very very difficult task to achieve, but if we want to move the existing base forward as well as attracting new folks it has to be a lot easier. There are some micro-service projects in progress that will be better than the current options, but they are still not enough.. This is something IBM needs to seriously invest in and not have it be just a back-burner project.
PT - Overloading RPG subprocedures and better control of global variables.
SB - An F8 key on the 5250 interface that worked just like the current F9, but stepped through the commands in the opposite direction. This wouldn’t just make me happy, it would actually bring tears of joy to my eyes.
Q14. Where do you feel voluntary organisations like i-UG (UK) fit into the IBM i community and its future?
SG - The IBM i community is unique in the IT industry. IBM i fans are a loyal bunch and enjoy sharing their experience and knowledge. It's a welcoming community made up of a wide variety of specialists who are all also generalists to a great extent due to the truly integrated nature of the system. At the heart of that community are local user groups, such as i-UG, who provide the essential mechanism for sharing and learning to occur. While I've been dismayed at the demise of a few local user groups I worked with in the past, I'm delighted that so many others, such as i-UG, are not only still going strong but growing in their reach and impact. Keep up the great work!.
JP - I think groups like i-UG are absolutely vital to the community. We really love working with i-UG because we always feel that at their core the group have the community’s interests at heart. The education they offer is what they feel the community needs, not just what interests them. Sadly that is not true for all UGs who sometimes tend to focus mainly on the interests of the core members.
PT - They are the heart of the community. Apart from being a means of getting technical information, to its members, they provide an opportunity to network with industry influencers and, more importantly, their peers.
SB - They are at the heart of IBM i innovation, education and modernisation. They literally teach every day users of IBM i “the art of the possible” and inspire them to make that a reality.