Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming

New Jersey Desperately Needs COBOL Programmers (josephsteinberg.com) 185

In New Jersey, the coronavirus outbreak has resulted in something that few people outside that state's tech department would have foreseen: a dire need for COBOL coders. From a report, shared by reader AmiMoJo: Standing for Common Business-Oriented Language, COBOL's day came and went long ago. It initially made a splash by giving coders a programming language that could work across the proprietary computers of multiple manufacturers. That was in the early 1960s. After becoming a staple of mainframes, it eventually came to represent dusty legacy code, including during the Y2K crisis 20 years ago. In New Jersey, experts are now needed to fix COBOL-based unemployment insurance systems -- more than four decades old -- that are overwhelmed due to pandemic-related job losses. At a press conference yesterday, governor Phil Murphy asked for the help of volunteer coders who still knew how to work in COBOL. Of course, as cyber-security expert Joseph Steinberg noted on his blog, such volunteers are likely well over 60 years old, making them especially vulnerable to Covid-19.
This discussion has been archived. No new comments can be posted.

New Jersey Desperately Needs COBOL Programmers

Comments Filter:
  • Tangent (Score:4, Insightful)

    by Retired ICS ( 6159680 ) on Monday April 06, 2020 @09:55AM (#59913410)

    Before the twitter twatters go off on a tangent of wanting to use a "more modern language" I would note the that computers do not execute source code, they execute machine code, so replacing the source code with the current buzzword language will make no difference whatsoever. So suggestions to rewrite using Java or Rust are completely not useful in the least. Secondly, it would be a massive undertaking just to "rewrite" the parts of the standard COBOL implementation in another language -- for example the one COBOL phrase "organization indexed" equates to millions of lines code in any other language.

    • by AuMatar ( 183847 )

      Definitely not useful in the short term, no. And I wouldn't start a project to do so right now. But in the long term, opening themselves up to the much larger talent pools available to more mainstream languages and some of the advancements to ease of coding in those languages would probably be a big win.

    • Re:Tangent (Score:5, Interesting)

      by jellomizer ( 103300 ) on Monday April 06, 2020 @11:16AM (#59913738)

      The problem is more than just a Lack of COBOL programmers. But the general unwillingness of Management to hire non-COBOL programmers to do the work. Most skilled developers really don't care about the language, when given a new language to code in, they will pick it up rather fast. Also, there is an unwillingness for new Devs to apply to COBOL jobs because they are often dead ends, keep the server running 40 years old program alive, putting you in an area where any new exciting project you will be left out on.

      While in the end it is just compiled machine code. Newer languages give you features that prevent excessive code to do common tasks. It ads in extra security and stability features, to prevent buffer overflows or injections. Even that good old Try, Catch, Except commands which have been responsible for a great improvement in the stability of the software, while it can be argued it creates sloppy code, it also catches and fixes errors that may not have been considered at the time.

      • Re: Tangent (Score:3, Insightful)

        by OrangeTide ( 124937 )

        Modern programmers often lack the skills necessary for making tight implementations on these old systems. Too much abstraction creates bloat, too little creates huge maintenance issues that compound in complex systems.
        Very little of COBOL is about applying your computer science degree to algorithm design. It is more about skills in understanding a large project and designing enhancements that solve new requirements without rewriting everything.

        • I suspect that COBOL programmers need to have a thorough understanding of mainframe operations in addition to the COBOL language.
      • The problem is more than just a Lack of COBOL programmers. But the general unwillingness of Management to hire non-COBOL programmers to do the work.

        I can't speak to New Jersey specifically, but the COBOL shops I've checked out are willing to do training, and hire programmers who don't know COBOL. The problem I've found is they pay like dirt, so you'd have to be out of other options if you want to choose that career path.

    • by ranton ( 36917 )

      for example the one COBOL phrase "organization indexed" equates to millions of lines code in any other language.

      That is very hard to believe. If you had said dozens of lines of code I would still feel it is hyperbole, but at least potentially possible. Even if there are some commands which are less verbose in COBOL, a simple library would likely suffice in abstracting away the complexity in another language. Most likely this command would move into the DBMS layer anyway in a true rewrite, but I don't any of the specifics on the command beyond a quick Google search.

    • I've said it before and I'll say it again: The longer you delay re-writing old COBOL-based systems in a non-obsolete language the more expensive and difficult it's going to be due to most of the programmers who know this long since obsolete language being rather geriatric and thus mostly retired or close to retiring.

      Obviously this gives the developers who are old enough to have been taught this language back when it was relevant for anything beyond legacy systems from when a lot of businesses and governm
      • Or maybe if you wait long enough a satisfactory way to de-compile the object code into another language will be developed or even to transcode COBOL source into another language.

        Presumably COBOL objects can be linked to objects created in other languages already (I see a linking stage in the JCL that google turned up)

        considering this stuff runs on "big iron" I would have thought that the vendors like IBM would be all over this as a possible solution, what the hell is watson useful for if not things like thi

  • Resumes (Score:5, Insightful)

    by Ukab the Great ( 87152 ) on Monday April 06, 2020 @09:55AM (#59913416)

    Because putting COBOL on your resume, instead of React, serverless, AWS, React Native, etc. makes you hyper-employable. Right?

    • Re:Resumes (Score:5, Funny)

      by K. S. Kyosuke ( 729550 ) on Monday April 06, 2020 @10:04AM (#59913452)
      Apparently, in New Jersey, it does.
    • Only if you want an awful job that you hate because it doesn't make sense to keep doing what you are doing and the bureaucracy won't lallow change.

    • LOL! (Score:5, Insightful)

      by Viol8 ( 599362 ) on Monday April 06, 2020 @10:18AM (#59913500) Homepage

      Give it a few years sonny when all the Kool Kids have moved onto the next flash in the pan javascript framework it'll be a case of "React?! Thats so 2020 dude! Like where have you been? Everyones rocking with Vajazzle now man!".

      Meanwhile COBOL (not to mention Java, C++ and C#) programmers will still be in regular employment.

      • Yeah, comment above yours seems to not really understand that COBOL has been around forever and will be around forever. Companies can't seem to afford to get away from it and all the old COBOL guys are retiring or dying. COBOL has a lot of value being on a resume and will continue to be highly sought after.
      • Re: LOL! (Score:4, Funny)

        by Ukab the Great ( 87152 ) on Monday April 06, 2020 @10:53AM (#59913624)

        In a few years the next governor of New Jersey will ask for volunteers to revamp legacy React apps while unemployed people take out ridiculous loans for Vajazzle bootcamp.

        • by znrt ( 2424692 )

          the difference is that cobol runs critical infrastructure that originated at a time when languages evolved slowly and has thus consolidated into big unwieldy beasts that run on specific hardware and are very costly and risky to replace, while react runs mostly replaceable uis and apps in a fast paced environment with an expected lifetime of a few years at most and which won't be a problem in a decade because they won't be around anymore.

          reliability vs flexibility, make your pick.

      • Java, C, C++, Python, Ruby, JavaScript.... They are all over 20 years old now. They are not by any means new fad languages.

        However, unlike COBOL these languages have been used more types of applications. Compared to just Government and Bank Databases CRUD (Create, Read, Update, Delete) applications. So you boring Gov job coding in Java will still open the door for you in Exciting Tech Company job, later on.

        • by cusco ( 717999 )

          Most of the databases for the large retailers also run COBOL, either on mainframes or on cloud hardware emulating mainframes.

          • If you're talking about legacy companies Sears, Macy's, Target and Jc. Penney's that's only because they use old legacy systems that were originally created decades ago and are simply too expensive to replace.

            Look at newer businesses like Amazon that have been founded in the last quarter century and you'll find they use much more modern solitions.
      • We SO need a language named Vajazzle! Let's rename VB!
    • by goombah99 ( 560566 ) on Monday April 06, 2020 @10:18AM (#59913502)

      I watched battlestar Galactica so I know all about the Lords of Cobol. Can I put that on my resume?

      • I watched battlestar Galactica so I know all about the Lords of Cobol. Can I put that on my resume?

        Only if you can explain the difference between a z/OS TRAP and a Cylon death trap.

        (Extra consideration will be given if the Cylon death trap involves Number 6.)

        Number 6 disambiguation
        Number Six (The Prisoner), the protagonist of the TV series The Prisoner
        Number Six or Sayaka Suzuki, a character from Pani Poni Dash!
        Number Six With Cheese" is a comedic food review channel on Youtube
        >>>>>>>>Number Six

    • resume...React, serverless, AWS, React Native

      Most of these are glorified javascript libraries that pull a ton of dependencies with unknown quality and unknown amount of bugs, just because someone with a bland resume, but better than yours, could not figure out how to do it better.

      At the most, all of these components require a few weeks to master properly.

      You're not very competitive if this is all there is on your resume.

    • I don't know anything about all those other things you listed except for COBOL.

  • by RobinH ( 124750 ) on Monday April 06, 2020 @09:56AM (#59913418) Homepage
    There are still lots of pros that specialize in COBOL [quora.com]. You just need to pay them what they're worth instead of asking for volunteers. Even if some 66-year-old wants to come out of retirement and do it, you should still pay them. This is a BS story, from the likes of "it's old, so let's make fun of it." If anyone on this planet has the finances to rewrite their software, it's banks and financial institutions. If they're not rewriting it, then you can bet they've done a cost benefit analysis on it.
    • Bingo! (Score:5, Informative)

      by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Monday April 06, 2020 @10:09AM (#59913474)

      Your suspicion is spot on with mine.

      Getting into Cobol can't be that bad. I did Sharps Basic back in the 80ies. That a loooong shot away from todays PLs and I still would manage. Although it would be eerily bizarre, that's for sure. Line-numbers and shit. I also did programming in Opcode, which is the micorcomputers next best thing to punching cards.

      So, yeah, pay me my salary and I'll do Cobol alright. Especially if I need to solve some cricital problem that would actually help real people if it went away. Give me 90k for maintaining your mission-critical cobol mainframe and a testing environment to get my hands dirty without tanking your financial service and I'm in. Other than that, good luck in finding a coder willing to do Cobol for the cheap.

      I very much suspect the problem you mentioned: Folks want to get Cobol programmers for peanuts.
      Won't happen, as with any other PL.

      My 2 eurocents.

      • COBOL does not have line numbers. That's not what those prefix numbers are. You'll notice that they repeat, they're not sequenced.

        Otherwise, I agree. There is nearly no demand at all. All the examples of a "shortage" are just examples of unfunded projects where the code is in COBOL; it would be unfunded and go unwritten in any other language, too.

        In the late 90s when there actually was a programmer shortage, if I posted on social media (slashdot, etc) that I knew COBOL, I'd get job offers, cold. That's what

      • by Pascoea ( 968200 )

        90k for maintaining your mission-critical cobol mainframe and a testing environment to get my hands dirty without tanking your financial service

        90k seems pretty light for that kind of work.

      • Give me 90k for maintaining your mission-critical cobol mainframe and a testing environment to get my hands dirty without tanking your financial service and I'm in.

        Really? You'd be willing to go that low? I would consider that volunteer work.

    • by nnull ( 1148259 )

      Ah, you've touched a subject many managers don't want to hear. Pay them.

      It's quite a joke and I love seeing all those indeed or monster ads for companies looking for maintenance that can program PLC's from the 1980's, just so they can keep production, but for minimum wage of course. Most companies don't want to pay people to upkeep old software or old machines, so they see you as worthless as that old machine that needs to be replaced (They don't look at you as the magician that can keep their old equipment

    • Yeah, in terms of salary being a COBOL programmer is not a great career move [ziprecruiter.com]. These companies (and governments) are willing to do training, but you can make twice as much doing Javascript somewhere else.
    • You do realize that we're talking about local government services here? They obviously can't just afford to just let themselves be bent over a barrel and pay people who were more than well paid even before they retired whatever they think is enough to come fix an old legacy system whenever it breaks down.

      Sure, it's usually a great gig whenever you get to bend your employer over a barrel like this, but tax funded local governments just can't afford to do this sort of thing regularly.
  • by Arkham ( 10779 ) on Monday April 06, 2020 @09:57AM (#59913420)

    At this point I know Assembly, Pascal, C, C++, Objective-C, Swift, Java, Perl, Python, Javascript, LUA, and a few others. How weird and different is COBOL that a decent C++ programmer couldn't pick it up in a few days?

    • by Wookie Monster ( 605020 ) on Monday April 06, 2020 @10:03AM (#59913448)
      It's not the language, it's the legacy. Trying to maintain code which is over 10 years old is difficult enough. Try maintaining code that's 40 years old!
      • by kbahey ( 102895 ) on Monday April 06, 2020 @10:46AM (#59913604) Homepage

        It's not the language, it's the legacy. Trying to maintain code which is over 10 years old is difficult enough. Try maintaining code that's 40 years old!

        That is the crux of the matter.
        I programmed in COBOL back in the 1980s. It is relatively simple, and if written clearly in a structured way (no GOTOs), it is easy to understand.

        However, the issue is not the language syntax. The issue is knowledge of the domain/business rules.

        The code base NJ uses will have lots of rules and special cases as the payroll and tax laws have changed over the decades.

        Decoding that maze of laws and rules is the challenge. Making sure that new rules do not break previous ones is the challenge.

        I wouldn't take on such a project, paid or not. They are better off with someone who worked on that specific code base. If they did not have succession planning, then they are short sighted.

        • Way way back at Lockheed they wrote their own payroll software and other HR related stuff, like many large corporations did. Large parts of it were written Fortran, who knows why. And there was an army of people working on these.

          We hired one person away from there to help in a smaller group of sysadmins because our boss volunteered us to write the computer usage accounting rather than purchase a product (minicomputers). She seemed to have difficulty seeing the big picture and things needed to be explained

      • I very much agree, though I'll also point out that even that isn't as bad as most people think. My first job out of high school was maintaining some 20-30 year old FORTRAN code (FORTRAN 77, I think) at NASA. Granted, I was a very, very junior developer on a project with guys who had been working on that same project since before I was born (literally so; I found a comment in the code that was dated prior to my birth and was written by one of my team members, who understandably did not appreciate me pointing

    • by Bender0x7D1 ( 536254 ) on Monday April 06, 2020 @10:06AM (#59913466)

      How weird and different is COBOL that a decent C++ programmer couldn't pick it up in a few days?

      I hate this kind of thinking. Yes, you can learn the syntax and can make programs work in a few days of working with a new language. However, you don't actually know that language. They all have issues - which you won't know about without years of experience - and they all have different ways of optimizing things. In fact, it's almost like they are different languages, designed for different things, with a lot of different experience required to master tham.

      Saying "you can just pick it up" is like saying a quarterback can be a pitcher because both are just throwing a ball. Sure, a gifted athlete can switch and operate at a good intramural level - but that doesn't mean they are really good at it.

      • As we used to say when describing bad programmers, "you can write Fortran in any language"

    • I remember handling old-school relational data formats from the pre-relational-DB era. AICC it was called and first defined and used by the airline industry sometime in the 60ies or something. Really strange old-school shit. The thing you would come up with when given an early 80ies 8bit computer and ask to handle n-dimensional data. Stuff like that is on par with the COBOL camp. Very strange but also very funny if you manage to keep your humor. Other than that, once you've accepted the limitations, COBOL r

      • by znrt ( 2424692 )

        you should be happy with those limitations because they're your domain if you use cobol: processing rows in a relational database. even user input is abstracted into a row of data. this stuff comes from the age of punched cards. comparing cobol with modern languages doesn't really make much sense.

        outside of job, hitting the limits might be fun. we did all kinds of crazy stuff with cobol and rpg back in the day, out of pure boredom.

    • ...(apart from maybe Prolog and a few other esoteric ones), its easy to pick up the basics and throw something together that sort of works, but to learn the ins and outs and all the gotchas takes time and experience. And I'm a C++ dev, not COBOL but I had to do it a while back because all the COBOL guys had left and it soon became apparent that there was a learning curve just like any other language.

    • At this point I know Assembly, Pascal, C, C++, Objective-C, Swift, Java, Perl, Python, Javascript, LUA, and a few others. How weird and different is COBOL that a decent C++ programmer couldn't pick it up in a few days?

      COBOL really is a different animal than what we're used to today. You could pick up the syntax relatively easy, but things are just done differently. And you'd probably hate it. I took it in college in 1998 and it was miserable.

      The instructor had been writing COBOL for the state government since dinosaurs roamed the earth. He had his ways of doing things. And only his ways.

      One time he gave us an assignment that was something like parsing three datasets and doing a multi level merge. And he demonstrate

    • A few days? If you are competent and know anything about how computers work and normal procedural programming languages (Assembly, Pascal, C, PL/1, FORTRAN) it will take you about 5 minutes to grasp COBOL. However, COBOL includes a lot of "data manipulation" and I/O facilities that are foreign to most other languages. Those may take a few more minutes to master.

    • There's a difference between being able to program in a language, and knowing that language.

  • by thewils ( 463314 ) on Monday April 06, 2020 @09:57AM (#59913424) Journal

    First day, first ever contract in the UK the conversation literally went like this:

    Client: Ah, you're the RPGIII Guys?
    Us: Er....no?
    Client: Oh, then you must be CICS Cobol!
    Us: Er........no??
    Client: Don't worry, you'll soon pick it up.

    And we did.

  • Sorry (Score:5, Funny)

    by Growlley ( 6732614 ) on Monday April 06, 2020 @09:59AM (#59913432)
    having been a Cobol programer - I carry a DNR in case ofCobol emergency card.
    • by thewils ( 463314 )

      I'd do it again if it didn't involve EBCDIC.

  • by DidgetMaster ( 2739009 ) on Monday April 06, 2020 @10:00AM (#59913436) Homepage
    They need 'volunteer coders' to fix their system which means they are not willing to pay anybody. Where have we heard this before? Lots of companies say they desperately need software or bug fixes or new features, but the minute you ask what they are willing to pay for such 'needs' they give you a blank stare and accuse you of being a 'greedy capitalist' if you want to be paid for your time and effort. I sincerely doubt any of the politicians and bureaucrats in New Jersey have offered to 'volunteer' any of their personal time and expertise.
    • by leonbev ( 111395 )

      Oh, but think of all of the good EXPOSURE* they'll get! Surely that's worth something, right?

      Sorry, but your typical COBOL programmer probably has 25-30 years of work experience and knows better than to make changes to software code for free for a customer that should be able to pay for it.. Because they of all people know that once you touch a piece of code, you OWN it forever.

      * And by exposure, we mean both exposure to the virus and maybe a nice press story.

  • COBOL was still mandatory learning in the computer science program at my CEGEP in Quebec something like 15 years ago.

    • Yes but how many computer science people went into programming COBOL from your classmates and following students. Sure they may have learned it but haven’t used it in a long time. Like I’m sure you used FORTRAN and Assembly but unless you used it at work, it’s going to be very rusty.
  • by gatkinso ( 15975 ) on Monday April 06, 2020 @10:13AM (#59913482)

    They are asking for "volunteer coders."

    • They are asking for "volunteer coders."

      Should be some available then?

      I know, I'll show myself out ...

    • Most likely because the vast number of anyone with proficiency is retired.
      • by thereddaikon ( 5795246 ) on Monday April 06, 2020 @11:05AM (#59913668)

        Most likely because the qualified types are asking for a salary that reflects what they are worth and the state doesn't want to pay it.

        A real competent COBOL dev is worth six figures. Nobody in a state job that isn't either political or higher management gets to make that much. Just not going to happen. I used to work for a state IT agency, we didn't have COBOL but we did have a lot of system Z based stuff. The IBM experts had all left because the state wouldn't pay what they were worth. Eventually they were forced to contract directly with IBM to operate and maintain the system. And guess who IBM brought in to do it? The same guys who left, no being paid what they were worth of course. There was a 90 day turn around between when they left and when they returned as newly minted vendor employees.

        That kind of bureaucratic idiocy was common. Somehow they can't stomach paying mere individuals the six figures they are worth but its easy to pay a vendor millions a year to not only pay those guys but make a profit on top. Not to mention they were still technically retired state employees so they were entitled to draw pension while working the same job, in the same office they always had. Their ID badges were just a different color now.

    • Well considering it's a language where most of the well versed programmers have retired, i.e no longer in the job pool, or very close to retirement, and hence very expensive to employ for a tax-funded local government with limited resources, what do you expect?
  • by paralumina01 ( 6276944 ) on Monday April 06, 2020 @10:15AM (#59913494)
    That's great and all, but where do you go to actually volunteer for this?
    • Look at this guy who thinks COBOL supports hyperlinks.

      Real COBOL programmers all know a guy who knows a guy, and the proper challenge/response phrases. ;)

  • Comment removed based on user account deletion
    • by RedShoeRider ( 658314 ) on Monday April 06, 2020 @11:05AM (#59913666)

      Hi. New Jersey Homeowner here.

      Yup, highest average property taxes in the nation. In real numbers: I live in Passaic County. 2nd highest tax rate next to Bergen (the next door County). In real terms: I have a small home on a 50x125 foot lot. My property taxes, per year, are 9k. Yes, you read that right. It's expensive living here.

      Why? Here's a large reason - New Jersey has 21 Counties and 565 Municipalities, with a land area of 8,700 square miles. Texas, by comparison, has 254 Counties and 1,214 Municipalities in 268,597 square miles. So Texas, being 30 times larger, only has double the amount of Municipalities. This has painful concequence. Back 130 years ago, NJ was big on breaking up these big districts into these tiny municipalities.
        My town is the typical New Jersey Story: The town I live in has a land area of only 4 square miles. It has 13,000 residents. We have our own, non-shared (other than in an emergency) Police Department, DPW, Pre-Kindergartern program, 2 grammar schools, a Middle school (grades 6-8), and our own high school. Our own Superientandant, Mayor, etc... etc.... The town next to us has a population of 7,000....and their own grammar school and middle schools, own Police Department, own DPW, etc....

      Lots of very small towns with low populations, and no regionalization of cost. Regional schools are common in Southern New Jersey, but in North Jersey, are rare. Rather than merge districts with the one next to us, saving 3/4 of a million dollars a year, we stay separate. So, yes, the property tax is staggering to support all oft these services on a town-by-town basis. The amount of money the state gets from us is reasonable, but it's nothing compared to what we pay the towns to keep things running.

      Long story, short: yes, the taxes are high and we don't really get shit from the state for it and get utterly screwed by the federal government every year.

      • ...and because I hit the submit button too fast:

        The tax money is going to the school, yes. Generally, to the teachers salaries, not to the facilities. Problem is with such an expensive place to live, if you want any sort of teacher retention, you're going to pay. Dearly.

        There's the administrative costs, too. 5 Principals with full staff for each school. Very well paid superintendent looking over a school population of just over 1400 kids. There are regional schools in Southern New Jersey that are 6000+ kids

  • by PeeAitchPee ( 712652 ) on Monday April 06, 2020 @10:40AM (#59913580)
    I'd laugh in that Governor's greedy face. NJ has the highest average property taxes in the entire US [cbsnews.com]. Where did all that money go? Here's a thought: hire a few professionals to do the job once and do it correctly, and FUCKING PAY THEM instead of blowing all that taxpayer cash on God knows what, and then having to cheap out begging for volunteers. What a joke.
    • Considering that I moved out from NJ, I happen to agree with your sentiment. But property taxes are used for municipal expenditures rather than state ones, there are other taxes that are used for state wide expenditures, for example, income tax (which are not cheap either).

      But "blowing all the taxpayer cash on God knows what" it's rightly on point.

      When I got laid off two years ago, I had to go through the unemployment benefits process. They were working on improving their front end system to consolida

  • by davebarnes ( 158106 ) on Monday April 06, 2020 @10:43AM (#59913592)

    "Are likely well over 60 years old"
    More likely well over 65.
    More likely over 70. People similar to me at age 71 who wrote COBOL (all caps) programs as late as 1977.

  • I did COBOL for ~4 years, 1987 to 1990, I could be a little bit rusted but I still remember it pretty well, thanks emacs for cobol mode and tabulation too!
    Maybe in a few years, in my retreat, as a contractor, I'll do it.

  • How about $100,000/month contracts, you dumb motherfuckers!

  • by packrat0x ( 798359 ) on Monday April 06, 2020 @11:06AM (#59913670)

    The purpose of this announcement is to blame programmers for not working for free to fix New Jersey's unemployment computers. It's a way to deflect blame from the state government.

  • ...such volunteers are likely well over 60 years old, making them especially vulnerable to Covid-19.

    So what? Can't they work from home? Are those mainframes not connected to the Internet at all?

  • "We can't figure it out, so please come in and volunteer to cover our collective a55es."
  • In the systems I work on there is a ton of COBOL code, particularly in Payroll applications. It has been there for many years and while everyone realizes that COBOL is a legacy language nobody is willing to touch it for fear of breaking something that admittedly works extremely well. Whatever bugs may have existed have been ironed out long ago and what remains is bullet proof. And it is very adept at handling large data sets and executing SQL against it.

    The challenge is finding people that can write COBOL.

  • This is what you would be getting into. The code implements a set of rules that aren't really consistent. They are the initial rules from 100 years ago that got tweaked and added to. New laws were not new they were changes to the existing system. So the code was then written in the early 60s based on what was likely a complex system. I would bet the first young coders assumed someone would fix the laws and their code would only run for a year or two at the most. Nothing was document. A third of the p
  • If they desperately needed anything, they'd be willing to pay for it. In fact, they wouldn't even worry about finding COBOL devs, they'd just throw gobs of money at anyone talented enough to pick up old systems on the job. Since they're not doing this, they're full of shit using words like "desperate".

  • but you have to be willing to pay for it and to pay more than their current jobs. Funny how that works.
  • by ytene ( 4376651 ) on Monday April 06, 2020 @03:31PM (#59914714)
    The OP notes that the code in desperate need of maintenance is "over 40 years old"... That strongly suggests that we're not talking about COBOL85, but most likely this will be COBOL74. In simple terms this means that this will be a flavor of COBOL that lacks a lot - if not most - of the functionality of not just more recent languages, but more recent editions of COBOL. We're talking super-primitive code here.

    For all we know, it may mean that we're talking about applications that lack even CODASYL support - let alone RDBMS. I started as a trainee programmer right at the tail end of COBOL 74 in a government agency that didn't have the budget to purchase a more modern "mainframe" - the best we could hope for was an "ISAM" (Indexed-Sequential Access Methodology) file system that offered a single primary (unique index) and where sorting that file on any other field typically had to be done using batch-mode JCL and outside of the main application logic.

    It's fascinating to read a lot of the comments here - and I don't mean to challenge anyone who offers a "how hard can it be" type of comment... but I'd very respectfully point out that a lot of the functionality we take for granted to do (even something as crazy-new-fangled as an "IF" conditional statement that has an *ELSE* option with it... ) simply doesn't exist in COBOL. It has an English-language-like structure that isn't hard to parse, but the structural simplicity means that coding complex logic requires a huge amount of effort.

    Add to this, a *huge* amount of it could be context-specific. For example: if any of this code is designed to support OLTP (On-Line Transaction Processing for the web generation among us), then there will be significant differences between, say, an IBM "CICS" implementation and a Honeywell "TDS" environment...

    Or you could push deeper and think about the fact that back in the 70s some COBOL implementations had a few "custom tweaks"... Here's just one example... In vanilla COBOL it's possible to write a line to a printer using "WRITE ... AFTER", such as this:-

    WRITE report-1 FROM header-1
    AFTER ADVANCING 1 LINE.
    WRITE report-1 FROM header-2
    AFTER ADVANCING 1 LINE.

    But it's also possible to achieve a similar result by placing a single EBCDIC charater in the first position of the output string (known as an "H" statement field, IIRC) and depending on the value of this field, the printer would advance a set number of lines.

    If you're familiar with these two styles, then understanding and maintaining even un-documented code will not be hard. But remember: the text books and manuals printed for these systems are going to be 40 years+ old - and if they are still around and complete I'd be impressed. If you're not familiar with this and a hundred other localisations, parsing even simple "COBOL" is going to be quite the challenge...

    I would not underestimate the size of this task.

    Best bet? Reach in to Wall Street... It's just across the Hudson and the number of banking systems still running on the same vintage COBOL would surprise most of us and embarrass most of the big banks. They might be able to loan out a few of their folk to help; and even if that is just training up a few folk in the basics, it could make a big difference.
  • by Deadstick ( 535032 ) on Monday April 06, 2020 @05:59PM (#59915302)

    At a job interview:

    -Why do you want to leave your present job?
    -They want me to become a COBOL programmer.
    -So, you don't like to learn new things?

Avoid strange women and temporary variables.

Working...