Live from SHARE 2017: How to Get Millennials Programming on Big Iron
As a millennial I missed out on a lot (the Beatles, the fall of the Berlin Wall, and astronauts on the moon come to mind), including learning COBOL and Assembler when I was in college. In fact, I’d be willing to bet that there are fewer than 100 people my age or younger in the entire world who are fluent in those languages. And yet I make my living as a mainframer – as do a number of my friends and colleagues whose age starts with a 2. How is that possible?
The truth is that anyone who knows how to program a computer can learn to be a mainframer in about three hours for one simple reason: Developers can write great code regardless of platform or tools.
So what’s the barrier to entry? Unfortunately, most of us have a favorite set of tools that we default to when we work. For programmers in my generation, those tools usually include Python, Perl and CURL, to name a few. The better these tools can coexist with the mainframe ecosystem, the more developers can contribute to it. That means taking the mainframe to users rather than forcing people to learn esoteric languages (in 2017, COBOL is most definitely that!).
This is actually not as hard as it seems because it’s already a reality! The mainframe already has a way for people familiar with UNIX/Linux to use these tools on z/OS. UNIX System Services (USS) has been a part of z/OS since the beginning and provides a real UNIX experience, complete with a shell, SSH, and core utilities. Because UNIX-like OSs and their toolkits tend to be the millennial programmer’s ecosystem of choice, USS offers many new mainframers an easy way in.
It’s more than just familiarity, though. I wouldn’t be writing a blog post advocating for a separate group of tools from trusted z/OS utilities like ISPF or VTAM applications if said tools wound up being worse! At the end of the day, z/OS is still an operating system running on silicon chips just like everything else, and as a result, many tasks can be completed using more than one tool.
Take dataset manipulation, for example. Datasets can be accessed and copied through USS using UNIX tools like cp and cat, and UNIX offers a diverse set of editors that are just as useful as ISPF. USS can also execute JCL and TSO commands, so even those abilities which are unique to z/OS are accessible from UNIX.
Ultimately, I firmly believe there are multiple ways to accomplish the same task in programming, and allowing people to use what they are most familiar with will allow them to complete that task faster and with fewer mistakes. Thanks to tools like USS and Rocket Open Source Languages and Tools for z/OS, which includes 30+ free ports of popular languages and tools (including Python, R, and Perl), this principle holds true even on the mainframe. So, here’s my message to millennial programmers: Learning to use a mainframe is easier than you think because you’re probably already a mainframer…even if you don’t know it yet!