Elizabeth K. Joseph on Being a Developer Advocate and the Future of Mainframe Technology
By Reg Harbeck / September 1, 2021
Reg Harbeck chats with Elizabeth K. Joseph on her career in distributed systems and her predictions for the future of mainframe technology.
Elizabeth K. Joseph: Hi, Reg. It's a pleasure to be here. It's actually an interesting story as many of our paths to mainframe are. I was working on distributed systems, so I spent about 15 years of my career as a Linux systems administrator. I worked on various projects related to Linux and systems and I worked on OpenStack. I wrote a book on OpenStack. I worked on Apache Mesos and a container start-up in San Francisco for a while and then I kind of got to a place in my career where I was doing a lot of things, like, I was thinking of settling down and having kids. I was thinking of changing a bit of my career trajectory because things were going so fast in the container space, and I was like, you know, I've been on this path, and I've worked with the same people for a very long time like we all worked on Linux together. Then we worked on OpenStack together. We all moved into the Kubernetes space together and I was like, “What else is out there in the computing space?” It was actually the—one of the people from the Cloud Native Foundation knew someone at IBM working on IBM Z, and he's like, “You should talk to Liz.” So, IBM reached out and said “Hey, do you want to work on mainframes?” I was like, “No.” [Laughter] Because I didn't know what they were and I have—what many people in distributed systems felt was this legacy view of them. Having worked in containers, some of the projects I worked on were like getting people off of the mainframe and—because we didn't really—I didn't really understand the technology. One of the things I learned in those migration systems projects was that they would get to a point where the migration would kind of stop and that was usually after we made all the easy parts into microservices.
Reg: Yup. [Laughter]
Elizabeth: I wouldn't say that that is a universal experience and things definitely are changing on the distributed side, but that was really what we encountered so I then had kind of a curiosity about it, so I continued talking to folks at IBM. I actually requested a technical interview with an engineer to sort of talk about where I could find my place in the organization because I wanted to make sure that I wasn't learning from scratch. They actually wanted to bring me in with my Linux background, my distributed background and then it was just a really good fit. I have been able to cross train with everyone in my org like I teach them about Linux, they teach me about z/OS and I've had a blast.
Elizabeth: I was hired at IBM about a little under two and a half years ago.
Reg: Oh wow. So, you started learning mainframe about two and a half years ago?
Reg: So, you're like zNextGen.
Elizabeth: Yup. [Laughter]
Reg: Cool. Hey, have you been to SHARE?
Elizabeth: Well, I have not been to a real one—I mean an in-person one—
Reg: Yeah, yeah, yeah.
Elizabeth: I just did the virtual SHARE at the beginning of August. That was my first one.
Reg: Oh cool. Well, I'm glad you were able to do that. I hope we'll see you lots more, especially once SHARE is, you know, real again.
Elizabeth: Yeah and I'm so excited because when I started learning about this space, I learned that SHARE was created in 1955.
Reg: Yeah, in fact its anniversary was just a few days ago.
Elizabeth: Yeah. It's astounding to me how far this goes back and like I can now be part of the oldest volunteer computer user group in the world.
Elizabeth: That's exciting.
Reg: Oh yeah. Well and just the whole living history of the mainframe. As you and I were chatting beforehand, you know, how it is basically the living history of the mainframe really has a trajectory into the indefinite future and these podcasts are part of a message in a bottle I'm sending 1000 years into the future because of the fact that I really think that what we call the mainframe today is going to continue to be really the heart of some of the most important processing historically. With that said, obviously you clearly have a sense of that as well as a developer advocate, but as I think about a developer advocate, a lot of different pictures occur to me. I'm going to guess it's not just about one particular language or one particular platform or one particular approach, but I'm going to guess that probably you have everything from Python and Java to COBOL and everything from legacy databases, including DB2, all the way up to, I don't know, maybe stuff running under containers. Well, I guess I shouldn't be telling you. You should be telling me.
Elizabeth: Because of my background in distributed systems and since I've done a lot of work in open-source communities, I joined the team to sort of speak to that community, to talk to people like myself and so it's been a lot of fun because my learning path has been very much dictated by what I'm curious about and that experience mirrors a lot of like the developers and systems engineers on the Linux side what they're interested in. So, part of my role, as a developer advocate, back when we could travel, I was doing a lot of open-source conferences with people I knew. I want to say that half my audience at a lot of these talks were like people with a morbid curiosity about mainframes [Laughter] and they would walk out of the talk being like, “I had no idea these things were so cool.” Then I'd have talks throughout like I'd be in the hallway at the conference and people would be like, “Ahhh, I went to your mainframe talk because I happened to be sitting in that room and it was actually really cool.” I'm like, “I know right?” So, for me, it's been connecting with people on that level, first of all just as an introduction because, for me, I didn't understand that enterprise computing was something real. I thought it was marketing and fluff and I didn't really understand that there was like actual systems that were seven 9's of availability and that storage could be as reliable as it is on in the IBM Z space and so that's something I had to learn and something I've started to communicate with my fellow Linux folks. Another thing that's been really fun to talk about is I went through Jeff Bisti's COBOL class—
Reg: Oh neat.
Elizabeth: So I learned a bit of COBOL. One of things that I really took away from that was that it's not actually that hard and so I mentioned that at a conference and someone tweeted about it. They're like, “Oh my gosh, Liz just said COBOL is not hard.” I'm like, “No.” [Laughter]I'm like, “Well, it's really about the environment that it sits in.” You have to understand your data sets—
Elizabeth: And your environment and everything so the language itself is not so difficult. So, it's been interesting communicating with people about how COBOL have evolved over the years. There's like a CI system involved in the development of COBOL now and then there's a lot of tools out there that you can use it with, like I'm using VS Code to do all of my—like the playing around that I do with COBOL and so that's been something that I talk to a lot of people about too because they think mainframe is all green screens and archaic things. Certainly, that can still be part of it and I actually love that side of it, but there is also this modern side and that's what I try to interact with developers on for the most part.
Reg: Cool. Now VS Code, that's a term that has been sort of bandied about a lot today, but for those of us who learned the language back in the old days, we might not be sufficiently familiar with it. Maybe if you could just take a moment to describe how VS Code and COBOL kind of you know interact shall we say?
Elizabeth: Yeah. So, to pull up a little bit of my own background. Since I'm a Linux systems person by my training, I never really used an IDE. Most of the programming I did was just systems programming, very like— not like low level systems, but like high level systems like batch scripts and various like PERL and Python and like, you know—
Elizabeth: Everything that I wrote was to the service of the operating system, so I just used VIM like VI—
Reg: Oh wow. Not Emacs?
Elizabeth: Very simple—so VS Code, yeah so that's all I ever used for like 15 years and—
Elizabeth: The VS Code. I actually started using it when I started doing some more Python programming and started playing around actually with COBOL, so using an IDE at all was a very new experience for me. So, I quickly learned that it's actually pretty useful because it does things like if you have the COBOL plug-in to the VS Code IDE, you can have syntax highlighting. It will point out indentation ideas and other things that it wants to do with your code to make sure. It's well written, and syntactically it can point out errors and things. Then you can also run it if you're connected to something that can run it. So, having that saves a lot of time, and I didn't fully appreciate that when I was really just running more simple things on machines I had full control over. But mainframe land is a very different place than just running, you know, a shell script on a Linux box so—
Reg: Now, I mean, you certainly do give yourself away as being a systems person just by your preference for scripts and my sense is that given a choice you would choose scripts over a complied language in a generic context. Is that fair assertion?
Elizabeth: Yeah, pretty much.
Reg: And it's funny because I'm in the same place. I'll have to admit with some embarrassment, that for the longest time, my favorite thing was just to pull out BASIC, either Applesoft BASIC or GW-BASIC, and just code something up in that just because having that coded up, interpreted, and run it right away was more valuable to me than having the advanced functionality. Although, once I discovered REXX, you know, it was like, “Oh, wow. This is like interpretive on steroids and then some.” But, you know, just such a different experience as a systems person myself being able to put something in place right away and have it running vs. having to write, for example, an exit in Assembler. That said, do you have favorite complied languages?
Elizabeth: Not really, no. I mean most of my experience is still with Go and Python. You know, I spent so much time writing PERL early in my career that it's still part of my soul, so I still find myself using PERL on personal things sometimes and everyone's like, “Liz, that's so old.” I'm like, “Yeah.” [Laughter] But it's really good at information parsing. But yeah, I never really got into complied languages. Honestly like even Java, which is something that I've interacted with like on the periphery for most of my career and even more so now in mainframe land, like I never learned Java, so that's actually been something interesting lately because we have a lot of clients using Java and I'm just like, “Ahhh, ask the Java person.”
Reg: Now, as a developer advocate, I assume you probably have to interact with a lot of people who do have preferences for languages that are other than your favorite ones. How do you bring that all together?
Elizabeth: For the most part, I'm really lucky that we have a lot of people who work on other things, so I can sort of be the introduction to that and then I can move them on to the right documentation or the right person because really what my focus is is really on the Linux side and like Python and Go, and some of the more modern interpretive languages. So, there is plenty of work to do there that I can make sure I connect people with the right person. One of the things that we do a lot of developer articles on is CICS and I have not gone into CICS at all yet, but I know who to talk too so—
Elizabeth: It's really leveraging my network both at IBM and externally in this amazing community that we have.
Reg: Well, that's the neat thing. I mean, the mainframe ecosystem seems to have just taken so naturally to social media that you don't even notice we've done it. We're just, “Oh, we're there”, and you're such an active part of that. You are one of the people that's most visible for example on Twitter and so to sort of see what's happening on the mainframe, you're sort of part of that pulse. I'm sort of thinking about some of the different parts of the community that you're interacting with and I guess also you mentioned you'd written a book. What sort of writing or presenting are you doing now as a mainframe developer advocate?
Elizabeth: So, when I joined IBM, for the most part, I was just going to the open-source conferences that I'd always gone to. Whereas like three years ago, I was giving talks on CICD pipelines with containers, I suddenly switched over into giving ‘what is a mainframe’ talk and ‘what open-source software is running on mainframe’ talks and it was really funny encountering people who have known me throughout my career being like, “What are you doing?” I'm like, “Believe me, this is really cool tech”, and like getting really nerdy about the hardware and all the system stuff that I get to work on now, so that was kind of where I started. Now, with COVID, things changed a lot and I found that the value of l going to these open-source conferences was much less because I'm not having those hallway conversations anymore. People aren't accidentally ending up in my talks and—
Elizabeth: And so, like I kind of scaled back doing the open-source talks. So, now what I'm doing is much more targeted exercises and workshops. I did one for Mom Relaunch recently, which is an organization that helps women get back into the workforce after they've taken a break for kids.
Elizabeth: I'm also doing one for veterans getting into the tech workforce, so I'm doing like a workshop for them. So, I've been tackling bringing in underrepresented minorities in tech.
Elizabeth: So, I'm doing a lot of workshops and pretty much just showing off things that feel easy to me but are really interesting to people who are new to the platform.
Elizabeth: Yeah, you can run a website, that's fun. I mean it's not super, you know, it's not hard for me, but it does mean—it gives people the satisfaction of feeling like they can build something and create something that's theirs and really make it their own. That's kind of the hook that we use to bring people in, so a lot of my presentations lately have been sort of that kind of bring people in and then we can move on from there to bring them into an internship or an apprenticeship or you know whatever their continued learning is from there.
Reg: Cool. I was going to say have you met Dr. Cameron Seay because he's doing that—you have?
Elizabeth: Yeah. We haven't—I think just like you and I, we haven't really interacted directly, but he is around and we sort of chat on LinkedIn sometimes. He's doing great work—
Reg: Oh yeah. He's one of my personal heroes. He's also one of the two professors who recommended me for the master’s degree I just finished so—
Elizabeth: Oh nice.
Reg: I owe him a great debt, but I just really look up to him so any opportunity to interact with him is a blessing.
Elizabeth: Yeah, he's doing great work in the HBU's.
Reg: Now that said, I guess we're sort of running up to the end of our time here, but I wanted to ask you just a couple more technical questions before I ask you to sort of tell us about the future. Specifically, I'm curious if you had a chance to work with USS and whether or not how you'd contrast that to applications running under containers either under you know a hypervisor, such as VM or directly under zed/OS or z/OS these days?
Elizabeth: Yeah, so I have used USS and it's a little clunky. [Laughter] It's funny because some of the things that I expect to be there in like a batch environment are not, so that's taken some learning and I forget. I wish I had the name of the tool, but there's a tool that now it does like AI stuff on your commands, so if you type the wrong command in USS, it'll correct you if you type a Linux command, it'll like say actually what you want is this other thing.
Elizabeth: And it's actually like an X86 platform thing, but they ported to Z. So, I was actually playing around with that for a little while because that was super helpful because some of the things just—I'm so used to Linux. Honestly, I haven't really used many other UNIXes, like I used Solaris for a time when I was playing around with Sparcs like long ago, but I hadn't really played with—I hadn't really used another like UNIX style environment. So, when it's Linux based, it's just a lot easier for me and so using USS was a shift, but it was fun. I mean, it's been good, and actually, I'm working on a regular expressions challenge for an upcoming project that I'm working on. We're using USS, so I'm using like Awk and Sed and things that are available there and I'm learning exactly what's available for me to do some data parsing.
Reg: I'm just writing an article about the regular expressions or at least the wild card characters that are used by the three different mainframe external security managers and I've got to say—
Elizabeth: Oh, interesting.
Reg: The proto regular expressions—I mean, because regular expressions predate computing, but just barely. But the idea of using wild cards, you know, was built into each of the three ESMs differently and so the “star” - the “asterisk” - the “splat” - has a completely different meaning in each one of them and so I'll have to let you know that one is out because I think—
Elizabeth: Yeah, I didn't know that.
Reg: Yeah. I can send you a presentation at some point. My Mainframe Security Rosetta Stone actually has a slide about that, but that said taking a look now at Linux under VM vs Linux under containers under zed/OS. Have you noticed any really important contrasts between the two?
Elizabeth: No, and part of that is because it's intentionally trying to be very much the same. Kind of the idea here is that Linux is Linux and, regardless of where you're running it, it's going to behave mostly in the same way. The one area that's notably different is networking. There are a lot of—I mean—even in distributed systems like networking, is a little tricky and you have to really understand on a fundamental level how things are communicating. So we have things like Project Calico and like other open-source tooling and then, of course, IBM has a lot of proprietary networking stuff that you have to deal with. So, networking is really the big thing that I find is different and storage, but, for me, storage hasn't really become a problem mostly because I'm working in like lab environments where that's all kind of just handled like quietly for me.
Reg: Nice. Okay, so now it's time to predict the future or as I like to say it, I've sort of coined a word I'm using it in the things I'm writing. I call it “prodict” and that is when they say, “The best way to predict the future is to make it happen.” So that's what, for me, “prodiction” is to say, “Well, here's what the future is going to be if I have anything to say about it.” So, as you look to the future of the mainframe and enterprise computing, if you have anything to say about it, which I think you probably do, how do you see it playing out in the medium and long-term?
Elizabeth: So, I mean this is obviously going to be colored very strongly by my own experience because I do believe in distributed systems. I think there is a huge need for them, especially on the edge and I think there's a lot of really fascinating technology that exists in the space of microservices and especially like the read-only side of things where things can come and go, and you don't really care about the life of one VM or container. I love that space, like I would go back and work there. I'd be happy too, but the thing that I've learned again with like enterprise computing and things on the mainframe side is just like the stability and the security. The fact that all the crypto stuff happens on the hardware and doesn't take away from general processing like that's fascinating and very important and I think for things like machine learning and data crunching. I tell people that if they were to build a machine for block chain, it would look a lot like a mainframe because it's got all that build-in crypto stuff. It's got so much power and it’s built for data processing, that's what they've done since the beginning of mainframe time. All the companies who are traditionally in a mainframe space are dealing with data and that's why they have a computer. That's why they had a computer in 1964. So I kind of see—I really believe in IBM's messaging about the hybrid Cloud and the hybrid environment that includes mainframe in it, whereas the mainframe is doing the heavy lifting and the security and all of the like really mission critical components of the business and then you're farming out another area of your business to the Cloud and sort of end points and other like X86 systems. Again, LinuxONE also plays a role here because if you want your Linux systems near your data, stuff runs really well and all the advancements that are being made on Linux in order to make it leverage like the mainframe technology and hardware has been really amazing. It's so fun for me as an open-source person. It's watching what IBM has been doing in this space because for something very, very basic like OpenSSL. If you want to use SSL on Linux, you use OpenSSL and it's got support for the mainframe hardware, and you don't have to compile something special. It's not something proprietary. It really is just built into your system so suddenly you're using SSH and it's using the mainframe crypto hardware like that it just works.
Elizabeth: I mean, this is not a very far future prediction. This is actually happening now, but I think I see more of it because it's a really powerful combination. As I see more people like me becoming aware of the technology, I think there'll be greater recognition of how powerful the combination between mainframe and distributed systems is.
Reg: Well, I think it's neat. One of the things you sort of indirectly referred to there is the idea that traditionally, except in a place of constant innovation, the past is one of the best indexes to the future and now that the mainframe has been around for so long, it really has established enough of a positive legacy of history. One of things that is there, is back in the late '80's when IBM announced SAA, system application architecture, which was basically about being able to run an application on multiple tiers and not knowing or caring which tier the part that you were dealing with was running on. But just, you know, having the local stuff close to you and the stuff that needed to be on a reliable engine and so that whole concept is so essential to exactly what you're describing, which I think is really cool. So, now any last thoughts that you want to leave with everybody as we sort of conclude a far too brief interview given how much we could talk about?
Elizabeth: I would say I want to encourage people to check out mainframe hardware stuff if you haven't done that yet. I find a lot of people don't really dive deeply into what's going on inside of the machine and I sometimes encounter people—I went to Poughkeepsie a couple of years ago and I wanted to see the mainframe. Some people were like, “Why do you want to see them? You don't need to see them.” I'm like, “No.” It's an experience to go into a data center—
Elizabeth: And to learn about that hardware and it changes so quickly. I mean, IBM releases a new one every couple of years and it changes, so if you haven't looked at the latest hardware recently, just like had a nerdy tour through a datacenter, totally do it once we can do such things again. It's a lot of fun and it really reinvigorates me and people like me who are, you know, we sit in our offices all day and like, “Ah, you know, computers.” But actually, getting a tour and even just reading about some of the hardware out there. It's really fun and it reminds you of what you're working on and why it's special.
Reg: Cool. Well thank you so much Liz.
Elizabeth: Yeah. Thank you for having me.
Reg: So, I'll be back with another podcast next month, but in the meantime check out the other content on TechChannel. You can also subscribe to their weekly newsletters, webinars, e-books, Solutions Directory and more on the subscription page. I'm Reg Harbeck.
z/OS / Linux on IBM Z / z/VM / z/VSE / Article / Community / Application development / Training / Conferences and events / COBOL / Java / Db2 for z/OS / User groups / Python / TechTalk Enterprise
About the author
Reg Harbeck is a mainframe enthusiast who has worked IT and mainframes for over three decades. He's the chief strategist at Mainframe Analytics ltd.
See more by Reg Harbeck