What’s it like to enter the mainframe world with no previous experience on the platform? In early 2024, Vertali recruited Felix Scott to join its ground-breaking New To Z (NTZ) program as a trainee. Below, Felix reflects on what it’s like.
As I write, it’s been less than a year since I embarked on my NTZ journey, but so much has happened. I thought this was a good time to reflect on my experiences, particularly to share lessons learned that might be helpful to other people thinking about entering this world.
My experiences fall into three main areas. First, developing skills and professional knowledge. Second, the people I’ve met, from Vertali mentors and my supervisor, to the wider community – the cultural aspect. Third, having an opportunity to turn theory into practice: applying my NTZ development in a professional context.
From a personal perspective, I feel I’ve made great strides forward. I’ve put in the time; it’s been a lot of hard work, and that work is already starting to pay off.
It’s been a lot of hard work, and that work is already starting to pay off.
A Different Way to Learn
I assumed I’d be able to learn in the way I’d learn in any other computer-oriented or tech setting: find some training online and then practice. For example, there are reams of documentation and tutorials if you want to learn Python. Plus, you can simply download and play around with Python.
That sort of thing doesn’t really exist in the mainframe world. You have to figure things out for yourself, with the help of others, and do your research. When you have a question, you have to look in a highly technical manual written for someone who already has knowledge.
Most documentation is written for professionals rather than educating or helping guide newbies. Looking for how-to guides written for someone who knows little, or searching for a curated list of sources? Good luck. Additionally, if you want to learn ISPF or JCL, it’s tough because it’s proprietary. Mainframes are all but inaccessible until you’re actually working in that environment.
Looking for mainframe how-to guides written for someone who knows little, or searching for a curated list of sources? Good luck.
The good news is that when you do dig deep, keep searching, and work in a setting where you can apply the knowledge you’re gaining, things eventually start to make more sense. A few helpful tools for me include Interskill. Also, training sessions at the GSE UK (Guide Share Europe) annual conference can be invaluable. Perhaps a little later in your journey, you will find and benefit from IBM online tutorials, licensing, and certification.
A Supportive Culture
So many people in this industry are willing to help, which is great. I experienced this from day one with my Vertali colleagues. Sometimes, you have specific questions about a particular activity or skill. Other times, you just need someone to walk you through how to do something so it makes sense. If I have a problem or a question, consistently say, “Oh, put an hour in my diary, and we will talk it through.”
The best way to learn is to be given something to do.
The best way to learn is to be given something to do: a real-life task or problem to solve. That’s what my mentors have been doing: giving me a goal and then assisting as needed. The experience of getting things wrong and sometimes hitting a brick wall is so important to find your way. I know I can always speak to my supervisor or a mentor. Being handed the reins to solve a problem and applying the skills you’ve gained to actual projects? It’s extremely satisfying.
Putting Theory into Practice
This brings me to a couple of highlights from my NTZ experiences to date. They reflect an approach to working – and my own personal standards– for how code should be written. I believe code should become a reusable and repeatable tool. Rather than solving a single issue, code should be something other people can use. This saves time down the line and makes life easier all round.
For example, I completed a project that uses ISPF panels and Rexx to provide an easy-to-use interface to search for the generations of a given GDG by their closeness to a given date. I learned from scratch how to write ISPF panel code and get it to interact with Rexx. This required developing Rexx skills from what I learned in a short course to a significantly higher level. The work involved a lot of polishing and thoughtful planning to make it extendable. As a result, much of the code that made it work could be repurposed easily into future projects.
I was given the time and space to explore what interested me, choose to create an application, and teach myself something new.
Two aspects made this entire project possible. First, I was given the time and space to explore what interested me, choose to create an application, and teach myself something new. Second, I had the support of my Vertali mentor, Rob Herring, to guide me back on track when I got lost in the undergrowth. Going to him with questions was more useful than asking for support from the outset.
The second highlight involved an audit request for a client system, which would have been extremely tricky to achieve with the available tools. It needed 52 weeks of SMF data from four different systems that keep their SMF data on weekly logs. Doing this manually would have taken a long time, so I wrote my first piece of proper code to be executed on a client system. It generated a JCL file from given values that would fetch the SMF data. Again, I wrote this in an easily reusable way.
When the first run failed because it tried to use too many tape drives, I made it work with a minor tweak. Two weeks later, a request came for two more sets of data. I resolved this in minutes rather than the hours it took the first time. It was gratifying to see that my approach to writing code and making it general and reusable paid off immediately.
What I enjoy most about my job is solving interesting problems in creative ways.
Top 5 Takeaways
Based on my experiences, here are five key points to remember when you’re new.
1. Don’t be ashamed about what you don’t know: Ask for clarification and help from experienced people. It’s valuable to hear how they approach solving complicated problems.
2. Exploration and experimentation are invaluable: You need time in the seat solving problems, doing research, and building things. There are more things to learn than you have time for, so pick the ones that are either most useful or most interesting to you.
3. Struggling and going down the wrong path is not a waste of time: When you find the solution, it will make so much more sense after a struggle. Don’t seek help immediately; go through the process of research and experimentation first.
4. The documentation available is generally indigestible and slow to use: It’s not you. So, when you understand something, write it down in your notes in the way you understand it, so you never have to go through that again. It can be easy to solve a problem and forget the solution, so keep those solutions in your notes for next time.
5. If you think something is wrong, voice it: If you’re wrong, you will learn something. It’s important to speak up, especially when it comes to security.
My Future is Open
It’s early days, but what do I want from my career? In the short-to-medium term, I want to experience a broad range of active technical services roles to understand the tools and processes systems programmers, security administrators, and others have at their disposal. Then, I’d like to transition into software development, armed with that knowledge, to make tools for those roles.
The time I spend doing technical services would allow me to explore interests in small coding projects that solve interesting problems and research different aspects of the mainframe environment.
What I enjoy most about my job is solving interesting problems in creative ways. The path from technical services to software development is packed with opportunities to do just that.