Not the OP, but I'm of similar age and also a mainframe programmer by trade. It's a pretty lucrative field to be into, especially because the businesses which operate mainframes tend to be very large and (mostly) stable corporations. While not as hip and cool as a Valley startup, there is something to being well paid and receiving good health and retirement benefits! =)
Those same corporations are also not blind to the fact that most of their COBOL workforce will be retiring, en mass, in the coming years, and are quite desperate to hire anyone willing to learn. My employer paid for me to attend a 3 month training program in order to learn how to use and develop on the IBM zSeries mainframe. It was a fantastic experience. As well, those same companies are looking to move as much of their COBOL code off of the mainframe and onto a distributed, server platform. While you can't beat the sheer power of Big Iron chugging along through a batch cycle, the CICS user interface leaves a lot to be desired. It's much more cost and time effective to build a web interface that talks to a Java middle-layer that lives on the mainframe (such that it can directly talk with DB2 or some such), compared to designing, building, and testing a CICS program to do the same thing, yet in a much more ugly fashion.
Whoa, that is super cool about how they trained you and everything. I have actually heard bits and pieces of sort of like folklore from my dad about CICS and other mainframe pop culture, it's always fascinated me in a certain sense. That there's another whole universe of programming that most people have never heard of or been involved with.
I'm actually in the process of getting involved with the US Army now (I'm 21) so that I can get some schooling and stuff done later, but I've thought that I might spend my off-time for the next few years trying to self-teach myself NetREXX or something and try to land a job in some MegaCorp. I'm not opposed to writing code all day in a comfy office chair with full benefits etc, especially compared to living in a dorm with couple dudes eating Ramen and trying to conquer Web 4.0 or whatever. Just doesn't appeal to me.
It's reassuring that it's a viable career path, I hadn't thought much about the new generation of mainframe maintenance, but from what my dad has told me about some of the people he's worked with it certainly makes sense that these big corps would be desperate for fresh meat right about now.
The plus side is that modern mainframes are really cool. It's not like they're still systems from the 70s, they are practically supercomputers with some of the fastest hardware ever made. (zEC12 was a 6-core, 5.5Ghz processor with very competitive IPC and monstrous cache; I believe it even had functional transactional memory too coughIntelcough. Now stuff 20 of those into a computer.)
Downside of course is COBOL, Java, etc. But it's not like it's going anywhere soon. Nobody really wants to replace millions of lines of COBOL that work, and work well.
Writing a compiler for an ML-ish language that targets COBOL would be kind of amusing. Just because they're stuck with COBOL doesn't mean it has to be hand-written, right?
Disclaimer: I don't work with mainframes but I know people who do. Friend of mine quite likes writing assembly for z/Architecture. I don't know if she's totally sane.
FWIW, where I was you didn't need the power of a big mainframe anymore and because of the size of the database you could actually buy a super beefy x86 machine with hundreds of gigabytes of RAM that could store the entire DB in RAM.
However, rewriting 30+ years of legacy code was very difficult. The place had tried and failed on two occasions so far to do it.
It seemed a bit like the airline reservation software system GDS and how it's still around.
Hey I'm a noob, can anybody expand upon what other languages are used to program mainframes? Is there any indication that COBOL will eventually be traded out for something newer?
Those same corporations are also not blind to the fact that most of their COBOL workforce will be retiring, en mass, in the coming years, and are quite desperate to hire anyone willing to learn. My employer paid for me to attend a 3 month training program in order to learn how to use and develop on the IBM zSeries mainframe. It was a fantastic experience. As well, those same companies are looking to move as much of their COBOL code off of the mainframe and onto a distributed, server platform. While you can't beat the sheer power of Big Iron chugging along through a batch cycle, the CICS user interface leaves a lot to be desired. It's much more cost and time effective to build a web interface that talks to a Java middle-layer that lives on the mainframe (such that it can directly talk with DB2 or some such), compared to designing, building, and testing a CICS program to do the same thing, yet in a much more ugly fashion.