views:

558

answers:

9

I'm currently in a internship in one of the worlds biggest banks. I still have one year to consider everything, since I still have one year ahead of me to my Bachelors degree. But the bank is already starting recruiting for new Mainframe developers. They offer a one year training course with full pay.

I know Mainframes will stay for quite some time, but I'm just not sure if this will help me. For one thing it would be a interesting challenge since from what I heard developing for a Mainframe is a totally different thing than programming for a personal computer.

But the following points still bug me, and I hope someone experienced might help me with it:

  • Will this be a hindrance when I try to find a new job (web development, game development, etc.) or will this actually look good to a recruiter?
  • Would I be locked in the financial sector and big companies, or are there other sectors who use Mainframes (I only hear about the financial sector all the time)
  • Is it a useful investment of my time?
A: 

It's tough to beat a job right out of school and a year's free training, while getting paid a salary. I'm assuming that by "Mainframe", you mean COBOL or JCL. Can't hurt to learn!

Chris McCall
It would be PL/1 and DB2, but close enough... ;)
Zikko
+5  A: 

Mainframes are cool, and many of the things that you learn in mainframe development are useful in all programming. Learning to create robust, reliable software in particular.

It is probably true, though, that mainframe programming is not going to help you much if you are looking for a job developing websites or games. That is true of anything though. Having a bunch of experience developing websites isn't going to get you into gaming, and vice versa. Doing a lot of Windows programming is not usually going to land you a job doing Unix system programming.

The experience will almost certainly not be a waste of time. If nothing else, it gives you a broader appreciation for why things may be different in other domains. You may learn things that can make you more valuable to an employer looking to develop long-running software on commodity systems.

Christopher
A: 

I'd say yes, it's good investment.

And being locked into financials isn't usually that bad. I work there and plenty of my colleagues have been there longer.

One of our 20 year old DB2 systems is being upgraded because people are retiring and they realised the knowledge is being lost.

Job for life.

gbn
True. However, "job for life" gave me a panic attack. I work with folks who have been saddled with the same technology for decades. I couldn't live like that.
S.Lott
he he. Nowadays, you'd learn other stuff too because of how it's all linked. Example: DBA on mainframes... I know some who are now Sybase/Oracle/MSSQL DBAs
gbn
I also know some who only know a subset of DB2 in spite of years of effort. I've been told (last year, actually) that the ONLY scalable, reliable platform was CICS/COBOL on a mainframe. Some mainframe folks need to get out more often.
S.Lott
he he. You've met my colleagues who used to be mainframe DBAs then...?
gbn
I guess they've never tried UNIX, Java, C/C++, XML, or any of the other modern, scalable, reliable platforms on mainframes? You can buy hardware assist processors for XML and Java workloads now!
Nighthawk
+1  A: 

if you like stone knives and bearskins, go for it! ;-)

seriously, if it fits your career path, do it; since you're just starting out, there's almost nothing you can do now that will limit you later, and learning almost anything will be helpful

Steven A. Lowe
A: 

From Wikipedia's entry on CICS, over 90% of Fortune 500 companies rely on CICS. States and the Federal government use mainframes. And they are not using just COBOL: DB2, Java, EJBs, web services, and web sites can all run on a mainframe. Plus, I envy their systems for testing, source control and change control.

It is probably a useful investment of time. Where I work it is not unusual for a mainframe programmer to transition to the distrubuted programming side, so you probably will not be locked in forever.

Disclaimer: I am not a mainframe programmer. I only work with them and occasionally mess around with the Hercules emulator.

R Ubben
+2  A: 

I went to school that primarily taught COBOL/MVS assembler (with hints of C/C++). While I didn't enjoy the development environment as the tools seem so rudimentary in comparison to more OO based languages, the mainframe is still an impressive technical beast. The amount of raw I/O mainframes can shuffle around and process is unbelieveable. x86 servers still cannot replicate the mainframes raw power (nor cost).

I did do some professional work on the mainframe. Most often I was reverse engineering (CICS/COBOL/MVS Assm.) stuff so I can't say it was development, but nonetheless it was a good experience. I have a feeling that people tend to go for what they find is easiest and if it just so happens to be interesting to them, all the better.

In terms of your questions:

Will this be a hindrance when I try to find a new job (web development, game development, etc.) or will this actually look good to a recruiter?

Not too much. If you try to jump fields within programming you may have to start at the bottom, but it won't hinder your chances of landing a position. If anything learning the mainframe will probably make you more marketable within industries that still use it such as government, banking, insurance, etc. etc. So really, programming (in any language/environment) is largely about the industry you're working in. The industry will determine the technology/tools. If you understand the core concepts of programming, jumping industries will probably require you to learn newer tools and more concepts, but I don't think anyone would hold it against you for a position. Granted, if you switch, it'll be like you're just getting out of college again and start at the bottom.

Would I be locked in the financial sector and big companies, or are there other sectors who use Mainframes (I only hear about the financial sector all the time)

For the most part, yes. If you work in the mainframe now, it's likely you'll be locked in later. I've met people who've been working on the mainframe for over 25+ years. Don't tell me that's not being locked in. It may be a golden cage/cell.. but it's a cell nonetheless.

I've worked in the insurance industry. Insurance still lives (and dies) by the mainframe. For the most part I can't see them fully leaving the mainframe but the associated costs are very high and I know (from experience) that some insurance companies are trying to.. alter their usage of mainframes. If you know the mainframe (COBOL/CICS) and say.. Java/Web Services type stuff. You'll be the bridge that they'll look to cross someday. And that's a payday worth working for if you're up to it.

Is it a useful investment of my time?

This is subjective. 'Useful'? Yeah. Probably. 'Investment'? Definitely. But if it's something you don't think (or know) that you'll enjoy, it's torturous. If I had to stay in the insurance industry and work on the mainframe, I don't think I'd mind it, but I would pursue other languages and technologies in my own time. You can't stand still in IT whether it's programming or systems administration.

Bear in mind there are risks when placing all your eggs in one basket. Granted my scenario is probably impossible but maybe someday, in the near future, mainframes will be replaced with.. I don't know.. supercomputers or something totally new that puts them out of business. Well.. now you're on ground zero and have to look for something else. That's why if you can learn the mainframe AND java and other supplementary technologies with your mainframe skills, there's no telling where you can go in the next 10, 20, 30+ years.

Just remember, do you what you love and you'll enjoy your work no matter how hard. People who don't do what they enjoy end up leaving and starting all over again somewhere else. Hope my rant is helpful to you (or anyone).

osij2is
+2  A: 

Hi Zikko

I started out like you. Fresh out of school in my first real "computer-job" and was asked if I wanted to work on mainframes. Not knowing what mainframes was I was informed that is was a big computer that handled 90% of the companies business and that I - if I passed the courses - properly would have work for life!

I went ahead and gave mainframes a try ... that was 14 years ago ... and I have no regreets. On the mainframe one really gets to use ones schooling!

Yes the development tools on the mainframe are oldfasioned but the use of mainframes are changing fast. In the near future (and some places already) companies use the mainframe as a storage-device and database-servers and PCs/servers as access-points. (Best of both worlds)

If you try out mainframes then try to get to know its communication channels to "the outside world". This is where the big change and the big jobs is going to be in the next 10-20 years - in my opinion.

Oh and remember: If you mess up data on the mainframe ... you mess up big!

Regards
           Sigersted

Sigersted
A: 

There are small outsourcing companies who came across to mainframes when dealing with bank customers or so. And they are prepared to pay a lot of gold for someone who is able to write some application. Definitely you won't be bonded just with these behemots like Deutsche Bank or IBM.

sam