Ask HN: ZOS/Cobol Development in Canada?

37 points by SuperPaintMan ↗ HN
Hey HN, I've been playing around with zOS in Hercules and the MTM Learning System for the past few weeks learning how the internal plumbing of the system works and how to create Cobol programs and using tools like DB2, CICS, JCL & whatnot and quite frankly I am absolutely in love with the system (as weird as that is to say about a development environment limited to the width of a punch card). I'm curious if anyone can weigh in on how the current landscape looks in Canada here and maybe give me some advice moving forward.

I currently do not have my CS degree, I attempted a few years back but failed out due to non-school related issues. Despite this, I have been working with Go/React/RN/GAE with a few projects and small utilities for my own use, primarily stuff to scratch my own itch. I'm much more comfortable and capable on the backend using concurrent and distributed code but can hack together a janky frontend. Most of these projects are unpublishable. That and I live in the middle of Saskatoon Saskatchewan, not too many CS jobs out here and most of my CS pals that have graduated and stayed are employed in other functions. So relocation is pretty much required but I'm not looking to leave the country.

I'm coming up short on ideas to build that would both expand my Cobol knowledge, familiarity/exposure to IBM system facilities and looks well in a Github repo. Could anyone point me in a decent direction for contemporary best practices/codebases or just give me some project ideas to go bash my brain against? Short of that any sort of advice here would be wonderful.

Thanks all, I appreciate it.

43 comments

[ 3.7 ms ] story [ 103 ms ] thread
Hi, I worked on the C/C++ compiler for zLinux, the COBOL compiler for zOS, and on the non-open-source version of Hercules.

If you've got zOS and COBOL knowledge then Toronto is the place for you. IBM develops their zOS software in Toronto (well, Markham) mostly. At least the compilers, DB2, and parts of WebSphere.

The other users are the major banks, and they're all headquartered in downtown Toronto. They're desperately looking for people with zOS and COBOL knowledge, I get plenty of recruiter emails for that despite not really having much COBOL knowledge.

Honestly, if you apply for any of those jobs with even a passing familiarity of COBOL you're pretty much guaranteed. Also, welcome to the mainframe club!

> Honestly, if you apply for any of those jobs with even a passing familiarity of COBOL you're pretty much guaranteed.

This is interesting. How the companies there react to the fact that one doesn't have an academic degree despite IBM devops knowledge?

That I honestly don't know. Everyone but one person in the compiler area had at least a Bachelor's degree, and that one person had what was essentially a 4 year diploma. I'm not familiar enough with any of the areas or the bank hiring to know for sure.
Thanks for the input, the adage follow the jobs seems apt here, I'll have to get used to the scale and commute but it seems Scarborough/Toronto/Markham is the plan. At least I have a goal to aim for.
Hm. I'm mildly curious, and I figure there's no harm in asking, so... what about Australia? Is there anywhere in particular that's looking for anything over here?

I've long thought mainframes were interesting, seemingly for the same sorts of reasons as OP - alien rock-solidness, for want of a better way to put it. But I'm not sure if .com.au has much in the way of mainframe-type development, or if there's much of a job market here.

Not relevant to this post, but I clicked your username out of curiosity (and because I am apparently a super creep). Turns out I worked with you years ago (I was on the j9jit team). Small world.
Small world, bud - I'm from Regina!

I don't work with Cobol, can't think of anyone who does and so I can't give you any specific help in regards to finding a job. About the best I could suggest would be to find one of the companies that do tons of consulting for the government of sask, find someone with as much or more grey hair than me, and send them a message on LinkedIn. There may be parts of the GOS that do Cobol work, though I have no idea if that would be central services, whatever the fuck they call the ITO now, or if they're deep in a department.

But, if you wrote this exact same post about a language I use all the time, I'd likely suggest that you find a busy open source project in that language and start trying to contribute. On Github, you can look up trending Cobol projects - maybe you'll find one that you're interested in. The joy of open source is that you'll often get to work with some amazing developers who can help you level up your skills. The other joy of open source is that if you prove yourself, most maintainers are excellent help during a job hunt!!

Fucking rights bud, I know a few greybeards down with the city so reaching out would be a great idea. There's not much talent or tech here so It wouldn't surprise me to find an old mainframe running parts of the show.

As far as github there are only 758 total repos for it, so I'll need to do some serious digging to find something to work on that's active. Half the reason I made this thread was to get ideas on what to hack up and publish after all.

I'll tell you what, if you find yourself up is Stoon give me a shout. Would love to rip some shittys and hack some darts with ya. Just look me up on FB or email me :)

You know, I think you'll be pleasantly surprised by the talent in Saskatchewan. There are some incredibly smart developers here doing some very interesting things. Saskatoon in particular has a couple of very interesting startups. Our winters are an incredible advantage and people here, particularly older adults (75+) always root for innovation. Our media landscape is also very solid and if you're launching something, you can assume you'll be able to get meaningful coverage. The coverage isn't always as critical as it should be, but every place has things to work on.

I bet that if you ask around, you'll find some local Cobol. Heck, I bet there's some running at some of the credit unions.

Good luck to you!

I guess what I meant is compared to $US_TECHHUB, definitely met some extrodinarly talented people but it seems a bunch that stuck around got shafted in the race for the few jobs avalible, but the praries have their own sort of flattened beauty.

You got one thing right though, the long winters make for ample amounts of time to work. Hit the Humptys on Albert during the early morning with your laptop and a window booth, beats those -30C blues into oblivion :)

I've had a couple of job issues in my day, so I can't deny the truth behind your first paragraph.

But, your second paragraph is just chilling enough that I have to ask who are you really? If your first name is Ben, this is the best prank I've ever been a part of...this really means a lot and I'm touched, though I can't for the life of me imagine how you remember 271 at Humpty's. Heck, I thought you were too smart to even know the less capable worked there!! :)

Wish I was who you're talking about, name's Jeremy though. Sent you a message on Facebook though, hit me up bud :)
Hey Jeremy, good to meet you. I don't really use Facebook - in fact, I don't think I've actually updated anything since before my kid was born. My email though is in my profile. I'll try to figure out Facebook and get back to you, but if you don't hear from me, blame my age and email me! :)
Never thought I'd be searching 'cobol jobs', but even a quick look reveals dozens (in Toronto). If you search for any other major city, I'm sure you'll fine a few others. Banks and other major slow moving big co.'s are probably the best bet.
RBC in Toronto is using COBOL on IBM mainframes. They have plenty of in-house developers.
Search for "IBM Z DevOps" they're trying to revitalise the platform with modern development practices.

Also banks are large users of Cobol so that ecosystem wpuld be good to keep an eye on.

Check the banks - they all are likely to have mainframes somewhere.
Visa is a heavy user of zOS as well, as are some of the other credit card companies.
How did you get copies of zOS, DB2, CICS, etc.? I've played around with Hercules and really old versions of VM/CMS and MVS, but nothing modern, as I didn't think that one could legally do it. Maybe that's changed. I think it would really be in IBM's interests to make their z-series software accessible for those who want to learn on Hercules.
Yeah, there's no legal way to do it. That being said IBM does run a training system for Master The Mainframe that's extremely useful and always has a few active users
Genuinely interested: When you say you are in love with the system, is it because you think of yourself as kind of a luddite programmer, or do you believe there's something that mainframes and Cobol do that other stacks can't?

Or are you looking for work that pays a premium due to the obscure skillset?

There is a pleasure in getting the most out of older technology.
For the record, modern mainframes are not for luddites. They can run Linux natively and they have a very advanced hypervisor that you can use for Linux as well. As far as I know, IBM invented virtualization back in the 70s and coined the term "hypervisor", and they've been continuing to innovate in the field since then.

zOS itself feels dated because of the 3270 based interface that you use to interact with it and the fact that a lot of esoteric languages are still used heavily, but the OS and hardware are both cutting edge on the inside. Node.js, Swift, Java, and Python 2 and 3 all run on zOS nowadays.

Because it's the closest thing to alien tech that I've come across. It maintains compatibility for programs compiled in the 60s while still pushing the boundaries of modern tech. Hell, go take a look at a fully configured z14 and tell me that isn't a beautiful work of art (capable of handling thousands of users across thousands of virtualized or native systems). The interface is archaic as a poster under commented but there is some serious machine underneath it, with amazing amounts of documentation and established audited code. I cut my teeth on Linux/BSD systems and the way these systems are engineered is both elegant and thought out instead of heaping piles of duct tape. Although seeing the unit of measurement of "Cards" every now and again does get a giggle out of me.

Also: "Yeah but oh man, wouldn't you just love to get one of those Gibsons, baby? Ooooh!"

I've long been curious about mainframes. It's interesting you say they're well-designed and not made of Swiss cheese and duct tape. Archaic yet well documented sounds actually quite nice.

The z14 does indeed look awesome. One of my crazy hopes is to stumble on a z series chassis one day so I can retrofit a fridge inside of it. Yeah. (Because I know I'm not exactly going to be able to get a real one... and I'll poke my fridge a lot more than I poke any racks of equipment in any basements. :D)

Also:

> [I]t's the closest thing to alien tech that I've come across.

Mostly for entertainment value (for an interesting/oddball interpretation of "entertainment" that I think you might resonate with) take a look at ColorForth. Forth itself is a very odd little system, ColorForth an especially arcane implementation of it. But it's cute in an odd kind of way. Almost completely practical, except maybe for the educational journey Forth imparts.

"capable of handling thousands of users across thousands of virtualized or native systems": Yeah, the systems that I often work on can usually handle those kinds of work loads with extreme reliability and efficiency without even breaking a sweat. Meanwhile the server folks will look at that kind of stuff and almost wet themselves.

On "cards": Open a terminal session or a command prompt on almost any system ("new" or "old"), and it will generally default to being 80 columns wide. Guess where that default comes from!

I knew about 80 just being a standard but put into the context of punch cards it just makes sense. Same thing with cobol, max line length is 80, first seven are stripped from compile, comments start on line 7. Who thought 72 char lines were a good idea in a language? Guys that dropped a few too many stacks of cards.

Thank god for the continuation character.

The Canadian federal government uses a lot of COBOL.

My first job out of university in 1996 was maintaining COBOL programs that fed data from Revenue Canada to the CPP. My first task was to rewrite a COBOL program originally written in 1972 into "modern" COBOL-85! Which is to say that COBOL shops are not exactly on the cutting edge of technology. So I quit doing COBOL programming in 1998 after I'd paid off my student debt and taught myself C++ (although nowadays I use Python and Go).

Having said that, mainframes are still competitive in their niche (high performance batch processing) which is why they're still around. But as a career option you have to keep in mind that it won't be technically stimulating and you're probably vulnerable to the work being outsourced overseas to cheap body shops.

As others have said, Toronto should have about as many jobs as you can hope to find for such an obscure part of software development these days.

A lot of zOS shops hire remote developers these days too, because it's hard to find local people with the right skill set. I imagine it'd be pretty hard to get a remote position as your first job, but it's a good option for the second.

IBM themselves doesn't hire remote workers anymore though, at least I don't think they do.

Banks are your best bet for COBOL, as well as certain parts of the government. The IRS in the US still uses mainframes. Some big companies in the zOS world that you might look into are BMC Software, Rocket Software, and CA Technologies.

I would also recommend not limiting yourself to COBOL - plenty of mainframe programming is still being done in high level assembler, c, and c++. If you know CICS, DB2, and JCL already then it would probably be easy to get a job writing Java for mainframes as well.

Also, if you really love zOS and want a degree, Marist College in upstate NY has a degree program specifically for zOS. It's the only such program in the world, as far as I know.

http://idcp.marist.edu/enterprisesystemseducation/zosprogram...

I graduated college in 2016 and have been working at a small company that sells a high level assembler debugger for zOS since then. If you (or anyone else reading this) have any more questions about zOS programming or the mainframe industry in general, feel free to shoot me an email. My email address should be on my profile.

Thank god I just found a use for my dusty C skills, but I will have to pick up Java. More languages in the toolkit never hurt right? As noted above the gameplan right now is to get over to the GTA and keep working on my skills until I can afford the move. A poster in the r/mainframe thread suggested trying to get my floor in the door with a position in Ops and working up from there would be a good idea. What are your thoughts?

The college looks interesting, but America. :(

Working in ops is a good plan - in the mainframe world, the people we would normally call system administrators are called systems programmers or sysprogs.

Sometimes you can find a specific position (being a sysprog for CICS and nothing else, for example) or a more general role. Either way it's pretty easy to move from sysprog to developer once you have some mainframe experience because mainframe experience is so rare these days. You'll also be working reasonably closely with the development teams, so that helps too.

Honestly, it’s a dead end, with little innovation happening and alot of outsourcing. There are few/no new customers on these platforms and most new work is on platforms like Websphere if the bank loves IBM.

Tech is an amazing, growing, evolving field. Don’t settle, and don’t make your life dependent on IBM’s fortunes — that time passed 30 years ago!

Not true, a lot of banks still use z/OS and Cobol, and you can make a good living with those skills.
The other thing I'm taking into account here is demand though, there aren't many people willing to work in such an environment with established and unsexy tech. And with the amount of brain drain to the US from Canadian institutions, I believe this might be a good way to get in and work with some interesting hardware despite my credentials.
> Tech is an amazing, growing, evolving field.

Its a fucking fashion industry, where you have to keep up with the latest trend every year despite it being a step backwards much of the time.

From what I understand, mainframes and similar systems have now reached a point where they're quite "sticky". That is, if they haven't already been replaced by now then there are excellent reasons why they're perhaps going to stick around indefinitely. For one, every time another big ransomware attack occurs, which has cost several big companies months of work and hundreds of millions of dollars to try and clean up, the Big Iron folks look at that and go "Thank goodness we're [relatively] immune to such attacks!" And I once had to personally step in and temporarily revive a zombie but somewhat critical Wintel server which had been attacked in some fashion (the server folks had just given up on it, although finding and correcting the problem itself was pretty trivial), and while I was doing that I remember thinking that such an attack was basically impossible on the bigger systems which I often work on. And so on.

Plus, the economics of "scale out" vs. "scale up" don't necessarily look so hot, at least once you reach a certain number of servers. These days you can avoid that to a certain extent my moving at least some of your work to the cloud, but the cloud folks themselves aren't immune to this, either, and I believe they're already starting to figure that out.

As far as tech being "an amazing, growing, evolving field", as an old-timer I've grown quite accustomed to looking into some "new" tech only to realize that it's really a rehash of tech from maybe decades ago, just with a new name and a new coat of paint. Given that supposedly at any given moment something like half of the folks in IT have less than five years experience (they're noobs, in order words), I guess that it shouldn't be too surprising that they keep running into problems and reinventing solutions to those problems which were already worked out decades ago.

The following company offers mainframe access for $125 month. http://maintec.com/mainframe-access.html

Number of USERID’s: One USERID

Environment: Shared environment with RACF protection

Software Products: Only IBM Products Available (z/OS 1.4, TSO, ISPF, SDSF, JCL, DB2 V7.1, CICS V2.2, COBOL, Assembler, PL/1) including FTP.

System Availability: 24x7 (Any planned outages with be informed in advance)

Contract: Month – Month with one month cancellation notice

CPU: No Limit – Managed by WLM

DASD: Sufficient DASD is available. Additional DASD available on cost basis.

Support: 24x7 E-Mail Support Available

Emulator : Trial version available from -- http://www.tombrennansoftware.com/

Cost: The cost would be $125/Month for 1 Userid

Consulting: Additional support / consulting available for $95/hr.

I looked at these guys a few months back, just like you down the zOS/ Hercules rabbit hole. I lost interest and moved onto other things but never followed up with this company so I don't know how good they are.

I've been using the MTM System, and while slow I believe they're keeping the lights on all year as opposed to only when the contest is running. If they shut her down, I'll have to pick this up as a learning system.
I worked for a company that did integration work for the IBM market. Every Fortune 500 retailer we dealt with had zOS playing a big role in their enterprise and did not seem to have any plans to change that. Lack of a CS degree didn't hold back any of my coworkers. Most had some form of STEM degree but the degree didn't matter for experienced hires. It's tough getting that first job experience though.

Don't overlook OpenText though they hire a lot from U of Waterloo.

Lots of posters have mentioned the big banks in Toronto which is absolutely correct, but the big insurers use zOS heavily as well. Waterloo region has a number of big insurance companies and is a lot less expensive than Toronto.