Although we were only freshman at RIT, straight out of high school, we were afforded the opportunity to take a large scale computing seminar class during our spring quarter. The class, which was part of the IBM Academic Initiative, followed the Introduction to the New Mainframe: z/OS Basics IBM Redbook and provided a solid introduction to the IBM mainframe environment. Aside from the fantastic technical information that the class provided, it also afforded an opportunity to see the incredible computing power of the mainframe paradigm and its relevance to modern businesses. These weren’t the mainframes of nostalgic memories that were unable to compete with the processor in your cellphone. Instead, the modern mainframe presents an entirely new computing paradigm. It’s a paradigm that focuses on the exceptional power, customizability, redundancy, and support that the modern enterprise computing environment needs to remain competitive.
The mainframe is optimized for performing two types of mission critical workloads for any enterprise: batch jobs and online transaction processing. Batch jobs require no human interaction. Tasks such as generating business reports are usually run as batch jobs. The incredible power of the mainframe allows for hundreds of terabytes of input, all stored on redundant disks and accessed via high-speed I/O channels, to be processed seamlessly at impressive speeds. Although completing batch jobs is essential for any business, most workloads require interaction with an end-user, often through a specific application or web interface. The mainframe allows for these types of online transaction processing workloads and can support thousands of simultaneous users. The mainframe isn’t just limited to one type of job. It can be set up to handle both batch jobs and transactions depending on the workload requirements of the specific time. Mainframes provide an unparalleled way to handle the workload needs of the fast-paced business world.
The workload processing abilities of the mainframe are met because of its ability to be completely customized. As we learned during a trip to IBM in Poughkeepsie, each mainframe is made to order within 24 – 48 hours to meet the specific requirements of the customer. Everything, from the type of processor to the ISPF user interface on z/OS, can be customized to meet the needs of the end-user. Specific processors exist to meet specific needs, and can be activated on an as-needed basis by IBM. Furthermore, the mainframe is able to support the legacy applications that many businesses rely on. The fast-paced world of modern business computing demands a system that can be customized and scaled to meet real-time needs, and the modern mainframe completely satisfies this requirement.
The computing power of the mainframe would be irrelevant to modern businesses if it lacked the exceptional redundancy that it provides. Virtually everything, from power supplies to central processors, have some form of monitoring, healing, and backup abilities. There is always two (and often more) of every essential component for fail-over purposes. Systems can further be arranged in Sysplex configurations to increase redundancy across greater distances. Overall, the redundancy of the mainframe ties together its other core features and ensures that they are available to all users at all times.
So all of these technical facts about mainframes are cool, but why should millennials care about studying the mainframe? Well, there is certainly no shortage of jobs in the mainframe world. In fact, mainframe expertise is in high demand among many employers. There is no doubt that many jobs are available for those who become proficient with mainframes. The following list provides a solid overview of typical job positions in a mainframe setting.
The major roles on the mainframe system include the following:
System Programmer - The roles of the system programmer include installing, customizing, and maintaining the operating system. They plan hardware and system upgrades and make system performance tuning to meet required levels of operation. They also install and upgrade products used on the mainframe. They must be skilled at debugging software problems on the system and are responsible for maintaining middleware such as DB2 or CICS.
Common tasks performed by the System Programmer includes:
- Planning hardware and software system upgrades and changes in configuration
- Training system operators and application programmers
- Automating operations
- Capacity planning
- Running installation jobs and scripts
- Performing installation-specific customization tasks
- Integration-testing the new products with existing applications and user procedures
- System-wide performance tuning to meet required levels of service
System Administrator - The system administrator performs the day-to-day tasks that maintain the critical business data that resides on the mainframe. They often work directly with the application programmers and end users to make sure that the administrative aspects of the applications are met.
Other tasks performed by the system administrator may include:
- Installing software
- Adding and deleting users and maintaining user profiles
- Maintaining security resource access lists
- Managing storage devices and printers
- Managing networks and connectivity
- Monitoring system performance
Application Developer - The application developer designs, builds, tests, and delivers mainframe applications to the company's users and customers. This role may be further broken down into application designer and application programmer. Based on business and end user requirements, the application designer creates a design specification which the application programmer codes. In addition to creating new application code, the application must be thoroughly tested. The programmer is also responsible for maintaining the mainframe's current applications.
System Operator - The system operator monitors and controls the operation of the mainframe hardware and software. The operator starts and stops system tasks, monitors for unusual conditions, and ensures the health/normal operations of the system. They are responsible for ensuring that new applications from the system programmers run smoothly on the system. New applications are typically given to an Operations Staff along with a run book of instructions. This book identifies the specific operational requirements of the application, which operators need to be aware of during job execution. The operator is also responsible for starting and stopping the major subsystems, such as transaction processing systems, database systems, and the operating system itself.
Production Control Analyst - The production control analyst is responsible for making sure that batch workloads run to completion without error or delay. The production control analyst ensures that changes follow the proper procedures. This control of change is necessary in order to ensure the mainframe availability and performance.
Now that you know more about the responsibilities and tasks that correspond with each role, check out the System z Job Board located at http://systemzjobs.com/. This site clearly shows just how many jobs are available in case there was any doubt. It provides a great resource to search for and apply to jobs. As you will see on the site, there are many other job positions than just the positions listed above. For example, you could work on the mainframe as a database administrator, Java programmer, COBOL programmer, J2EE Developer, etc.
Anthony Critelli and Alex Belcher are students at the Rochester Institute of Technology and members of the Millennial Mainframer team. They have recently completed their freshman year, and they are looking forward to using their well-earned summer break to study COBOL and prepare for the zMastery certification. For more information on Anthony, Alex, and the rest of the Millennial Mainframer team, please visit the Staff section.