Skip to main content

Andrew Hicks Celebrates Interest in the Mainframe and Building 3-D Printers

Reg Harbeck: Hi. I’m Reg Harbeck and today I’m here with Andrew Hicks who is a new IBMer who is involved with the mainframe and a vast number of other really interesting things. I met him at SHARE and every conversation we’ve had has been so interesting that we absolutely had to do a zTalk together. Welcome, Andrew. Maybe if you could start by just telling us a little bit about your journey to the mainframe, to SHARE and all the other things that you’re involved in that are related to the mainframe.

Andrew Hicks: OK, well first off, thank you so much for having me, Reg. This is so exciting. I had read about the zTalks before and being on this is quite an honor. Yeah, I first met you at SHARE in San Antonio, which was really exciting. I was a recent new hire. I hired in to z/OS to work in the BCP, or the base control program. I started with the IOS or the I/O Subsystem component and from there I have moved my career into RSM, real storage management, or memory management and making memory more dynamic on z/OS, and recently just changed over to the ecosystem team to work on porting new open-source technologies to Z such as Python and the Anaconda package manager to help with data analytics.

I was privileged to attend SHARE to present on the EXECUForum and talk about bringing new talent onto Z, why I chose to work on mainframes and z/OS and kind of just the enthralling and humbling experience of being part of such a great group of technological enthusiasts and people who want to share our passion which is operating systems, large big iron and just learning about what is Z and z/OS and then to add on some of the fun stuff we’ve done at SHARE. Some of my side hobbies range from my master’s thesis was on the Raspberry Pi, so I’ve done a lot of projects from education with Raspberry Pis, teaching children in the Hudson Valley from 3-D printing, building my own 3-D printers and donating them to all sorts of different STEM activities that start off with just an engaging topic and then tether back in most cases to mainframe technology and how do we educate the youth and what’s to come.

Reg: Wow. That’s a heck of a lot of stuff. How long ago did you join IBM?

Andrew: So I’ve been with IBM for about four years, just over four years now, and it has been one hell of a fun ride.

Reg: It really sounds like it. Wow. Now your master’s degree is—when and where and what was your master’s degree?

Andrew: OK. I’ll start at the beginning. So, for undergrad, I went to Castleton University. It was Castleton State College at the time and now it is Castleton University. I thought I wanted to be a mechanical engineer at the time, so I started off in the mech program but they canceled that, so I became a math-computer information systems double with an associates in chemistry. Then while there, I noticed that I really enjoyed computers, so I went on to Clarkson University to get a master’s in computer science.

It was funny because speaking of mainframes, when I was up there, I was doing research on quantitative hypervisors and migrating data in different hypervisor techniques from like Zen, KGM, VMware, and it was fun and all but then this toy the Raspberry Pi came out. I was like, ‘Oh, this is great.’ I was playing with it all the time so I moved my thesis to the Raspberry Pi, did over clocking and testing but was kind of just progressing in my master’s thesis. A friend of mine, James Gilchrest, came back to Clarkston to talk about being a system tester at IBM and getting to break computers for a living. I would have never applied to IBM. I had never worked on a mainframe and I heard that you could get paid to test multimillion-dollar machines and try to find bugs before they got to clients. I remember just being enthralled. It was like jaw dropping and after the discussion, I walked right up and was like, ‘Where do I apply?’

I got a job, finished up the master’s and now test holistically in a sense for IBM, but it was such an interesting view from not thinking you would ever apply to getting a job, getting a few different jobs, looking at places and then actually coming to the Poughkeepsie site, meeting the team, meeting the people and just feeling at home. Now I’m here four years later.

Reg: That’s cool. You know, it’s so funny. You and I were just talking about bugs as we were trying to get Skype working for this interview and it was sort of misbehaving and we were talking about things like how there is no way to tell the difference between a computer program that will work and one that just seems to work until it stops. You must have encountered all kinds of interesting bugs. Do you find the bugs in the mainframe to be different in any important way from the bugs on other platforms?

Andrew: Yes, yes and no. So it all depends on what level of the stack you’re playing with. When you are down in the low-level BCP like when someone takes down a mainframe and crashes an LPAR, it just goes around the floor like it’s the talk of the day to actually find a bug that powerful. It is very interesting because everything has been so tested. There is so much recovery. It really adds such a weight to finding such a gem. I consider bugs like gold and I’m mining for them.

Reg: Like scarab beetles.

Andrew: Like, blow up the side of a mountain with dynamite and, ‘Oh, I’ve found a good bug here.’ However, it has been very interesting. Moving to the ecosystem side of the team and higher up in the stack, I’ve actually had the privilege of recently finding a few bugs well before they go out to the clients that were—I don’t know how much I can truly talk—but they were impactful and to take down an LPAR. That was so cool to debug and see how you can hit these unique timing windows.

One of the big things that I’ve been working on with a lot of fellow IBMers here is combinatoric mathematics and that is using endwise or pairwise mathematics to take a preponderance of data, so like an insurmountable amount of test cases. So sometimes when looking at testing something, we will discover that there is 10 to the 43rd possible permutations, so you would never be able to test that in your life. I picked 10 to the 43rd because that is actually how many seconds there has been since the Big Bang.

Reg: Whoa.

Andrew: So, you would never with a test a second be able to achieve that, but using different mathematical techniques, you can get, like, a 96 percent coverage with just 40,000 tests and that is something you can do in three to four weeks running a mainframe kind of flat out, but that’s really cool and so that kind of thinking is what I think has been really drawing me in and something so cool that enterprise systems and enterprise companies really offer. They have these really cool challenging problems to tackle that in college and in other industries aren’t really prevalent.

Reg: That is cool. I think one of the reason you and I enjoyed our conversation so much is because we kind of like talking about these things that are, if not always mind bending, certainly very interesting. I will never forget the conversation we had at SHARE in San Jose where you told me you worked with these 3-D printers. I didn’t realize you actually made them yourself, which is really cool, and so we talked about it.

I challenged you to make something that was conceptually interesting or challenging and so I have in my hands here—you can’t see it on the audio recording but there is this wonderful little Klein bottle that you made which is exactly the right answer to the challenge I’d given. It’s sort of cool. Tell me about just what got you into 3-D printing and the kind of thinking that would cause you to realize that a Klein bottle is the kind of thing to 3-D print to really do something interesting and challenging.

MF-Jan18-Extra2Article2-klein-bottle-(1).jpg

Andrew: So what got me into 3-D printing? I’d played a lot with the Raspberry Pis and when I was doing my master’s I have never even soldered. I had to solder my first microcontroller coder so I could actually put code, C code, onto my microcontroller to even program a solar powered Raspberry Pi that I built and that like, kicked started this, like, soldering and playing with motors. I had just recently gotten a job at IBM and it was Fourth of July weekend. I had invested foolishly a few hundred dollars on Amazon into a bunch of motors. I found this open-source tutorial on how to make a 3-D printer. All the pieces came and I was like, ‘Oh, a three-day weekend.’ I spent all of it just building this really cool balsa wood 3-D printer. It didn’t work for like, three weeks and I thought I had the most expensive paperweight I’d ever bought.

Reg: Oh.

Andrew: Then I jumped. When I got that thing to move, it scared the bejeezus out of me; however, it was really cool to make a printer and so now that I have a 3-D printer that was really cool. I showed it off to people at work and I came up with the idea that, ‘Wow, this was so much fun to make.’ It was so cool to build something so it is not just a device. It’s not a printer. It’s understanding what it is. I could take it apart any second. So I went to a site exec, Kevin Cleary, a site leadership executive and said hi. I dropped the printer on his desk and said can we build these as a team building exercise on site and then donate them to schools in the Hudson Valley to help with STEM education. He was like, ‘Yeah, that sounds great.’ We did this two years in a row. We built 48 3-D printers and we’ve donated…

Reg: Wow.

Andrew: …Or are in the process of now of donating all of them to local schools just to help educate people. So now, onto the Klein bottle.

Reg: Yes.

Andrew: The Klein bottle that you hold is in a mesh in a sense. It’s a grid, and it’s see-through, which is really beneficial to see really the values of the Klein bottle but is essentially because of being made out of this grid shaped material, it has a lot of cantilevers. The cantilevers are really tricky to print with a 3-D printer, but you are essentially extending the resin over a certain distance with no support underneath it so this makes it one of the hardest things to print. It is also one of the most interesting in my mind because a Klein bottle is a representation of a fourth dimensional object in three dimensions, which is actual shadow so therefore it is just really cool to have a very technical print that can really talk about mathematics and be something really cool that’s also probably one of the hardest I’ve found that I can print with the printers I’ve built.

Reg: That certainly is really cool. Thank you. This Klein bottle has a very visible place in my house where I enjoy talking about it. Now we’re actually—this has been such a short conversation. We’re actually already getting close to the end here, but I want to make sure that you have had a chance to just talk about any other thoughts you have about the new generation on the mainframe, the experience of being a new mainframer and just what your thoughts are for anybody else who either should be a new mainframer or should be encouraging other people in their lives to be new mainframers.

Andrew: So I’d start off to say like it’s wonderful. It’s an absolutely humbling experience. Everyone you work with is so kind and open to educating and teaching you. I’ve worked with people with 25-plus years of experience in just testing and it is working with a true master. The amount of knowledge everyone has and it is just such a fun and open community to learn about all new technologies on the mainframe from stuff that is bleeding edge to just doing coding right.

When I joined the IOS team, we learned about what is called HyperSwap technology and after doing all of this VM migration and looking at data migration and migrating VMs over a long distance. Those are hard things to achieve and IBM does it right. That was so cool. It wasn’t an easy task. It wasn’t like they had a novel way to do it. They just dug down and tackled the problem correctly. That’s something that you see a lot with a lot of the software on System z is that it is really architected to be bulletproof. Also, it’s an exciting time.

There is—so, from all the research I did in grad school, there was the notion of the CAP theorem standing for consistency, availability and partition tolerance. If you are partition tolerant, that means you’re a distributed system. You have been partitioned across a geographic location. That has one model of how you do computing. You can either be 100 percent available or 100 percent consistent. Since mainframes are more of a singular entity, you exist in this fully consistent, fully available world. That offers so much more innovation that was very arduous in a distributed world.

I feel going forward, there are so many ways you can tackle a problem on a mainframe that is different from conventional distributed thinking. As you go forward, there is just great opportunities of where mainframes really fit and can be just the right choice and be fun to innovate on, so I’ve just had a field day so far in my early career here but like I was saying earlier, moving to adding Python onto the system and making it more modernized for different modern languages is great because this allows us to then tether in new technology onto the system but then interact with the systems of record, which is what actually is bulletproof, holds everything down and really is the core to almost any real business.

Reg: Wow. That is really exciting, motivating stuff. Thank you. Now I don’t want to sort of cut you off before I give you a chance to say any last thoughts you had here just to sort of squeeze it. Any final closing thoughts just to finish an outstanding interview?

Andrew: Oh, well thank you so much. It is such a privilege to be a part of this. Oh, last thoughts is it is going to be an exciting world to see where Z is going, what the future is and I’m just so happy to be one piece of the puzzle to help make it all come together. It has just been an utter pleasure to know you and be part of all of this, Reg, so thank you so much.

Reg: Well, thank you, Andrew. So I’ll end the interview here.