views:

1302

answers:

22

I started working as a programmer about ten years ago now. Started working for state government and went to a private sector job about three years ago. All cobol, all on the mainframe. I was told time and time again that the mainframe would be dead by now, yet we are in the midst of yet another round of enhancements that will all be done in cobol, and all will run on the mainframe. Just curious about any others out there that are like me. It's tough for us, I look around the web and there isn't much community out there for us.

+2  A: 

I worked on mainframes (VAX) for about 8 years in private sector but made the jump to Windows Development...gradually because I wanted to stay relevant 10-20 years down the road. At the time I was dabbling in Visual basic on my own time, and made it clear I was looking for opportunities for projects that bridged our companies transition from mainframes to desktops. I can't tell if you enjoy mainframe coding or are eager to transition but if you are looking to make the jump - there is no better time with all of the free training and knowledge websites. I would recommend downloading C# Express for free from Microsoft and grabbing a book I loved Eric Gunnerson's 'Programmers Introduction to c# if interested, but if not - wish you all of the luck - I know of many people still working on mainframes and probably will for another 5-10 years minimum

Brad Osterloo
VAXen are really minicomputers, not mainframes. Designed for slight different purposes and have different strengths and weaknesses.
Brian Mitchell
+5  A: 

I'm a mainframe (z/OS) systems programmer for a Fortune 50 company. Yes, there is a future in mainframes, albeit a changing one. IMHO, CICS's days are numbered, rapidly being replaced by Websphere. It's becoming more and more clear that front-ending applications is a waste of mainframe resources. The stability, redundancy and recoverability of the platform makes data warehousing a no-brainer. Likewise, the efficiency of I/O and CPU resources makes back-ending multiple applications a clear choice.

My only suggestion would be to broaden your scope of programming languages. Cobol is good for maintaining legacy code, but lousy for new development. C++ is available using LE, and, of course, there's always JAVA. Familiarity with these other languages will also provide you with portability of skills should you decide to branch out to other platforms.

Hope this helps :).

And of course C#.
Dalin Seivewright
+1  A: 

Why is this topic voted down? Cobol is still certainly very relevant, whether you like it or not.

Dr Dobb's seems to think so too.

jtimberman
+1  A: 

Thanks Meurr, I wondered about that myself.. I suppose if it's not Java, it's not cool. That's alright, us mainframers will eventually take over the world, one packed decimal at a time...

CobolGuy
+15  A: 

The mainframe is in no danger of disappearing anytime soon. There is still a large amount of work being done at the various IBM labs around the world and the 64-bit OS (z/OS, was MVS, was OS/390, was ...) has come a long way.

It's still used in the big corporations as it's the only thing that can be trusted with their transactions - the z in System z means zero downtime and that's not just marketing hype. CPUs come in "books" with up to 54 CPUs on each with many acting as hot backups for the others. The CPUs aren't fast but ALL the non-CPU activity is offloaded to specialist processors. They even have special processors for database (zIIP) and Java (zAAP) workloads. The disk storage subsystems are truly enormous.

z/OS has a UNIX subsystem and z/VM (IBM invented virtualization) can run multiple copies of z/OS, other z/VMs and even zLinux - I've seen a single z800 box running thousands of instances of RHEL concurrently.

It runs the Webspheres and Javas quite well in the Unix space while still allowing all the legacy (heritage?) stuff to run as well.

It's not the box you'd be buying for your little consulting company but it does the job it's meant to do better than any other option.

If you're interested, there's a System z emulator called Hercules which I've seen running at 23 MIPS on a Windows box (barely enough grunt to start ISPF for your mainframers out there) but it runs the last legally-usable MVS 3.8j fast enough to get a feel.

EDIT:

To provide a shameless plug for a book one of my friends at work has just written, check out What On Earth is a Mainframe? by David Stephens (ISBN-13 = 978-1409225355).

paxdiablo
You could still buy an entry-level configuration rated at 22 MIPS from Amdahl as recently as 1990 or so. 22 MIPS on an efficiently coded mainframe code base will get through quite a lot of work.
ConcernedOfTunbridgeWells
In 1976, IMS Fastpath could put through nearly 100 transactions per second (TPC-A benchmark) on a two processor 370-167 mainframe with 2x 2.5 MIPS or so CPU's and 4MB of RAM (IIRC, Source: Gray and Reuter)
ConcernedOfTunbridgeWells
+6  A: 

Another mainframer here. I write online and batch applications and tools on z/OS in C, HLASM, REXX, CLIST; however, my language of choice is C (for great justice). Although I'm not proud of my development environment, or lack thereof: ISPF editor via a TN3270 emulator (can you say green screens). To avoid tearing my eyes from their sockets I dabble alot in my free time in other languages and technologies.

I agree as far as online communities go. What's out there is scarce. I recommend looking into some of the mainframe-centric magazines that exist, I particularly enjoy z/Journal.

Robert
There is no reason to develop in ISPF... you can develop on a PC and upload your code to a JCL reader through FTP.
JoelFan
+1  A: 

I once worked for a company that wrote mainframe software. (both C and Assembler). Although i was on the C team.

It was a completely different world, but i'm glad i had that experience.

Gamecat
+4  A: 

I use COBOL on z/OS and the ISPF editor via a TN3270 emulator @Robert. Mainframes are, despite popular opinion, alive and kicking.

Adam Neal
+6  A: 

15 year mainframer here. I've been doing COBOL/JCL/SQL, since I graduated with a BS in CIS from DeVry.

Frankly, I'm bored out of my mind!

Early on, a mentor said "If you have 10 years of COBOL, you really have 2 years of COBOL, 5 times over." I've found that to be true, because the focus quickly shifted to learning and applying my industry's business knowledge/logic- not technical pursuits.

A stint in QA Testing showed that QA is not for me. Teaching co-workers how to use filter and =SUM() formulas in Excel, do selective and advance (read: wildcard) searches in Windows, and realizing that every time I said 'Pivot Table' someone felt alienated. I missed the interaction of like-minded geeky, curious technical types.

Programming is FUN and I love to CREATE things. Much of the COBOL I'm seeing is maintenance - not new development.

With retirement is 20+ years away. My current bunny trail is deciding what to learn (JAVA or .NET) -recommendations welcome-.

I'll always consider myself a mainframer. And I KNOW COBOL will be around for a very long time.

Jackie

JackieTKD
If you are that dissatisfied with your current position, change it! I've had pretty extensive experience with Java at a university level and .NET/C# in job related pursuits. I would suggest going the .NET route if I had to make the choice. It is very pleasant to code in and it builds upon a lot of what Java introduced while managing to fix some of the annoying things.
Simucal
+3  A: 

I used to be a COBOL programmer and I can assure you that it's not going away any time soon. It's a terrible language, but so many companies have billions of dollars invested in critical systems which must not fail that moving away from what they know is a huge risk. Further, many COBOL programmers that I worked with simply didn't know much about modern coding practices. Extensive use of GOTO for flow control, no encapsulation or loose coupling within programs (pretty tough to accomplish when all variables are global) and code which is so bloody unmaintainable that trying to rewrite it in another language is virtually guaranteed to miss critical business requirements.

Though I haven't touched COBOL in years, I am still turning down lucrative job offers for it. Your job is quite safe.

Ovid
+4  A: 

Former mainframe developer here. Started developing on IBM mainframe in 1987 and formally stopped in 2000. COBOL, IMS DB/DC, MFS, ISPF, JCL, DIF-DOF, VTAM, CICS and a slew of other acronyms! :-) I had developed PC-based systems since 1982 and never stopped doing that. I eventually built a resume that employers just wouldnt compensate me properly for- but you can be certain that they wanted me to share my knowledge and experience of everything I new about PC software and networking and mainframes And my God, when it came time to integrate systems or develop applications that "spoke" to each other (PC to mainframe or vice-versa), I was always relied upon.

Like I said, never really compensated properly for that knowledge and level of experience.. The solution? I went out of my own in October 2000 and my fees reflect my experience in both the PC software development world as well as the mainframe software development world. The moral of my story is that if you learn both sides and do both relatively well, you're worth gold!

I havent developed in COBOL and the other stuff since Oct 2000 but any time I need to integrate with mainframe systems its like nothing really changed. My advice is to learn that PC development side and keep up with that. That changes way more frequently than the mainframe does -even though the mainframe HAS changed, COBOL is still basically COBOL! If you were doing VB6 in 2001 and left it until today, you wouldnt recognize "VB" anymore.

Optimal Solutions
A: 

I do some mainframe work every three or four years. Usually implmenting connectivity to something else. So its the usual COBOL/Assembler, CICS/IMS, DB2, JCL/Rexx stuff. But recently I have also done coding on various mainframes in C, java, perl, bash and html/javascript. The Unix systems services is now very advanced and you can pretty much recompile any POSIX C program and get it running with a minimum of tweaks.

Linux/zOS and Websphere (J2EE) on zOS are gaining ground as well.

James Anderson
A: 

Over 4 years of mainframe software development here. COBOL, REXX, JCL, CICS, MQ, DB2 - all the usual stuff. I agree that keeping yourself vendor locked into the IBM world is not that great. I would think (especially now, that IBM has purchased the JZOS toolkit), that sooner or later they would encourage their customers to migrate the software to Java. This is what they do anyway (with a lot of new products for the mainframe being written in Java). And I suppose that this is what the oo in cobol is for (what else is it useful for if you cannot do exec-sql from there?). And same goes for CICS/Websphere dilemma -> I guess people will be moving towards Java sooner or later.

The largest mainframe advantage is its' IO performance (orders of magnitude larger than any other system I have heard of), so I guess it won't be going away anytime soon.

Bartosz Radaczyński
+2  A: 

I’m a college student who has had several internships working on a mainframe. Most of my experience has been in the comforting world of Unix System Services but I’ve had to slog through JCL trying to figure out what , or space was in the wrong place. I’ve noticed the lack of a community and was hoping Stackoverflow might have become a place to exchange mainframe knowledge. A quick Google search found this page with a list of mainframe related news groups and email lists. http://planetmvs.com/links/news.html The only one I’ve had experience with is the MVS OpenEdition mailing list but the people on it were helpful and knowledgeable.

Jared
I know for sure that IBM developers are subscribed to the MVS OE mailing list and answer questions that come their way and require their expertise.
tkotitan
+5  A: 

I've been programming in Cobol on mainframes since my first job on a 360/30 with 64k of memory in 1972. On weekends when no jobs were running, I got to start up the machine, do the IPL, set up the 2314 disks, mount tapes, etc. Good times! Not so much fun was writing code in pencil on coding sheets, then getting a box of 80-column cards from the keypunchers, and running that into the card-reader.

Now I'm working at the most complex Cobol system I've ever experienced, running the California Medi-Cal Claim system, but this high-powered z/OS system still uses 80-column input and displays.

In my spare time, I'm learning Python, which couldn't be more different (except for the code indenting).

rossburnett
haha! IPL. I wonder how many youngsters today know what IPL means/is. :-)
Optimal Solutions
I'm waiting for an IPL to finish right now... the system is sloowwww today
ThomasGHenry
Haha! I remember my first run with IPL, I really messed up my system pretty badly on my first internship. Lucky the team were a bunch of old folks who got me straightened out rather quickly.
Pharaun
A: 

I'm a mainframe programmer. On a Unisys A-Series. COBOL for years, WFL, COMS, DMS II. I've also learned some perl and java but I don't really use them.

Cathy Sullivan
A: 

I used to be a mainframe programmer - spent 25 years doing IBM VM/CMS systems programming mainly Assembler and REXX. But the first bit of iron I worked on was an IBM 360/40 with a whole 128KB of core and a couple of 7.25MB disks (2311's). First thing I did was get rid of the Cobol compiler and libraries which took up precious space on the tiny disks (each the size of a small fridge). Fortran IV was king at that place!

I stayed on the mainframe until it was finally shutdown in 2004.

Now I work on VMware virtualisation, VDI and thin clients, centralised backups, centralised disks (terrabytes of SAN)

Its just like the mainframe days again!

And of course I'm having loads of fun with C#, Ruby and co.

Simon Knights
+1  A: 

Just thought I would throw in my 2 cents...

I'm a student who is learning on a mainframe at a major university. In fact, there are two universities that I know of (and one other that I have heard about) that teach mainframes: Marist in New York and Northern Illinois University in, well, Northern Illinois. In an effort to keep both schools teaching mainframe, IBM has actually donated one box to each (NIU has since shelved theirs and opted to remote into Marist's).

We are trained in C++, .NET, JAVA, COBOL, Assembler, High Level Assembler and many others, the last three of which we are trained on an actual mainframe.

Because of this, I have landed an internship with a major financial company coding COBOL in a mainframe environment.

It is good to know that there is still a future in this.

Enyalius
+1  A: 

I got a job right out of college doing mainframe COBOL for a large financial processing company. I'm now approaching my 3 year anniversary and I'm digging it.

Development is primarily COBOL with a 3270 terminal emulator in a TSO/ISPF session. I've enjoyed the low-level-ness of it all (I come from an assembler/C++ background) and have been impressed as I've learned more about the platform. (and remain totally shocked when I realize how the rest of the hip young developer community feels about it, usually with nothing to base it on!)

privatehuff
I've had similar experience, the whole hardware/system is just pretty amazing. I'm always amazed by their hardware, just the whole RAS aspect of the z9 (are the up to z/10 now?).
Pharaun
+1  A: 

Started out as an assembler programmer at Allstate Corp Headquarters in 1974. Initially used IBM selectric typewrites connected as terminals to mainframe. Allstate was one of the first companies to start using TSO/SPS terminals. Went to Corp. Motorala and started coding Cobol and modular programming was becoming the rage. After a couple of other job went to work for a company doing work on Wang VS systems in COBOL it was a great box to work on. As an aside I still have a client running a Wang VS operating system in a VM on an openSUSE server. All of the programs are still COBOL and run flawlessly. From there went into PC and love the work but would love to get back into a mainframe environment but like everyone has mentioned not much of a visible community now. Personally, I think COBOL gets a bad rap. It was a great language for the CRUD that is the life blood of most large organizations. Now OOP has been the rage for the last 10 or so years. Don't get me wrong I think OOP is great but its treatment as the panacea for all of programming ill was misplaced and over hyped. I thing the move to more DSL (domain specific languages) will be more popular and more effective in reducing the software backlog. Really, if you think about it the real success of COBOL was the fact that in reality it is a domain specific language to do large scale transaction processing for financial transactions.

A: 

there are mainframe forums out there... try googling: mainframe forum

JoelFan
A: 

My first job was working with CICS/COBOL/REXX/MVS for a UK government site back in 1987. The COBOL work was pretty boring, but I loved learning the obscure things that no one else wanted to touch, one that sticks out in my mind was inheriting an APL project, when I first got the job I was awed by the APL terminal and felt compelled to learn the language.

Dammed if I can remember much of it now.

Good times.

slomojo