Forgot your password?
typodupeerror
Programming Government The Almighty Buck IT Technology News

California Can't Perform Pay Cut Because of COBOL 1139

Posted by kdawson
from the handwaving-only-gets-you-so-far dept.
beezzie writes "Last week, California Governor Arnold Schwarzenegger ordered a pay cut, to minimum wage of $6.55/hr, for 200,000 state workers — because a state budget hadn't been approved yet. The state controller, who has opposed the pay cut on principle and legal grounds, now says the pay cut isn't even feasible because the state's payroll systems are so antiquated. He says it would take six months to go to minimum wage, and nine months more to restore salaries once a budget is passed. The system is based on COBOL, according to the Sacramento Bee, and the state hasn't yet found the funds or resources, in ten years of trying, to upgrade it." The article quotes a consultant on how hard it is to find COBOL programmers; he says you usually have to draw them out of retirement. Problem is, if there were any such folks on the employment rolls in California, Gov. Schwarzenegger fired them all last week, too.
This discussion has been archived. No new comments can be posted.

California Can't Perform Pay Cut Because of COBOL

Comments Filter:
  • i knew it (Score:5, Funny)

    by halfEvilTech (1171369) on Tuesday August 05, 2008 @02:44PM (#24483959)

    This brings back memories of when we picketed our COBOL professor christmas party with signs of:

    "COBOL raises taxes"

    we couldn't have been more right

  • COBOL. (Score:5, Insightful)

    by Anonymous Coward on Tuesday August 05, 2008 @02:44PM (#24483971)
    There are plenty of COBOL Programmers out there, the problem is nobody in IT wants to hire old people.
    • Re:COBOL. (Score:5, Insightful)

      by taniwha (70410) on Tuesday August 05, 2008 @02:47PM (#24484047) Homepage Journal
      no - the problem is that no one wants to be paid minimum wage to program COBOL
      • Re:COBOL. (Score:5, Insightful)

        by drpimp (900837) on Tuesday August 05, 2008 @02:52PM (#24484153) Journal
        no the problem is social security pays more so why go back to 40 hours weeks of coding at that rate!
      • Re:COBOL. (Score:5, Funny)

        by elrous0 (869638) * on Tuesday August 05, 2008 @03:06PM (#24484401)

        No, the problem is that someone put a T-800 series Terminator in charge of California!

        All the state's COBOL programmers have to work around the clock just to keep that early-80's piece of shit working.

      • Re:COBOL. (Score:5, Insightful)

        by Nutria (679911) on Tuesday August 05, 2008 @03:16PM (#24484619)

        no - the problem is that no one wants to be paid minimum wage to program COBOL

        No, the problem is CompSci snobbery and VERY poor textbooks that went thru all sorts of contortions to be GOTO-less.

        COBOL-74 had excellent capabilities for creating very structured, COBOL-85 even more. And "88" variables are just wonderful for decomplicating hairy IF statements.

        • Re:COBOL. (Score:5, Insightful)

          by Darinbob (1142669) on Tuesday August 05, 2008 @05:41PM (#24487551)

          I don't think the problem is in finding programmers who know COBOL. COBOL doesn't take that long to learn, and any decent programmer can pick it up, even those willing to put up with minimum wage.

          The problem is most likely in understanding and coping with a huge and antiquated accounting system, which is probably poorly documented and commented, and which has had tweaks and mods jammed in every year to cope with updated financial and legal requirements.

        • Re:COBOL. (Score:5, Interesting)

          by david_thornley (598059) on Tuesday August 05, 2008 @11:33PM (#24491501)

          Having used both FORTRAN 66 (it didn't get decapitalized until Fortran 77) and COBOL 77 extensively, they're very roughly equal in structure. COBOL had the PERFORM verb, in all its various forms, and the paragraph system, which introduced some structure to the language. FORTRAN had functions.

          The most frustrating thing I found about COBOL was the inability to use functions in any real sense. There were analogs to FORTRAN subroutines (ENTER "FOO" USING BAR, BAZ.", if I remember the syntax correctly), but not functions. There was absolutely no way to take some common operation and wrap it in a function.

          Nor do I understand what you mean about the textbooks. COBOL 77 can be written with very, very few GOTOs, in very specific locations. You need them, technically, when using the SORT verb and either feeding data into the sort or taking it out in the program itself (not using USING and GIVING to sort files directly). Using them only in that case was the best way to write COBOL 77. There were no contortions.

          Nor were "88" variables wonderful unless you were trying to do exactly what they were good at. They allowed you to name one conditional name to represent possible values of one variable. In any reasonable language, you'd do it with a function, but not in COBOL 77.

          I'm not familiar with COBOL 85, having managed to escape from COBOL programming without encountering it. I'm happy to say I've been COBOL free since 1997. I was having a distinct feeling that, once having used the COBOL side, forever would it dominate my destiny.

          Now, here's a question: how old are some of those programs? Do you have any reason to believe that they all were written in good COBOL 77 or later? If, as somebody claimed, some of those date back to Vietnam war days, those were in an earlier version of COBOL, one even crappier than 77.

          Now, there are reasons why I'd touch COBOL again. Duress. Kidnapping my son or wife and holding them hostage for some COBOL work. Extremely large sums of money. A drink from the Fountain of Youth. That sort of thing. I wouldn't do it for minimum wage. I'd rather flip burgers.

          For those of you youngsters who've heard of COBOL or glanced at it, and think you hate COBOL, think again. You can't possibly hate it like I do. You can't really hate something you don't know intimately.

      • Re:COBOL. (Score:5, Insightful)

        by ivan256 (17499) on Tuesday August 05, 2008 @03:34PM (#24485023)

        The problem is that the government only sees the option to pay dozens of old programmers to manipulate the COBOL code instead of paying one hacker for a day to write a Perl script to hard wire all the salary data in the database to minimum wage.

        If that politician can't think of a creative solution to a problem instead of proposing that it would take a year and a quarter to do something simple, he should step aside.

        Instead, though, we're going to line up in droves to put people just like him in charge of our health care.

        • Re:COBOL. (Score:5, Interesting)

          by CodeBuster (516420) on Tuesday August 05, 2008 @05:45PM (#24487609)

          The problem is that the government only sees the option to pay dozens of old programmers to manipulate the COBOL code instead of paying one hacker for a day to write a Perl script to hard wire all the salary data in the database to minimum wage.

          It's probably not that simple. In fact, it is likely that the COBOL payroll system is using flat files on the mainframe or else some old proprietary mainframe database that doesn't even support ODBC (because it predates everything in use today) and is only accessible via terminal or terminal emulation. No offense, but your glib attitude concerning Perl scripting tends to suggest that you haven't had to work with very many legacy systems or at least not mainframe legacy systems (they are finally getting rare now, but they are still concentrated in government and large insurance companies who were the among the first users of computer technologies when they became available and widespread in the decades following WWII). If this type of capability was not built into the system as an option in the first place (i.e. temporarily alter payroll) then it will probably be a royal PITA to accomplish. In fact, there is every reason to suspect that because payroll is (generally) such a well defined problem space that this system is even more rigid than most in its design assumptions. Incidentally, this is why the modern field of software engineering exists. If it were possible to develop flexible and powerful systems via hacking and ad hoc scripting then we never would have delved into databases, OO design, and functional analysis in the first place (and if people could manage themselves then we wouldn't need any managers). So it is either manage the payroll manually (which the system was built to handle because managing it by hand hasn't been feasible for decades now) or come up with some other system which doesn't involve the automatic payroll processing system (i.e. some other political alternative).

        • Re:COBOL. (Score:5, Informative)

          by Alpelopa (864348) on Wednesday August 06, 2008 @12:59AM (#24492135)

          I'm surprised by the number of people posting who seem to have no experience working with legacy IT systems (COBOL or otherwise). Here's a quick primer:

          First of all, there is generally no system architecture in legacy contexts. Rather, a set of interdependent applications will have grown into a system over time.

          COBOL applications in particular are not built on RDBMS concepts and changes to back-end data must be made programatically or disaster is likely to ensue. In many cases, no living person will know all the tables that should be changed to update a particular value safely.

          Here, the governor wished to cut the salaries of a broad category of employees which probably has no representation in the system. You can't just do a "update pay set rate='crap' where job_type not like '%critical%'" sort of approach. You would probably have to go through and re-classify many thousands of job types one-by-one to a new pay grade code, except that this would screw up benefits issues that weren't part of the pay cut.

          To subsequently reimburse back pay, as the governor promised, you would have to keep track of the old pay grade in a system that almost certainly does not track history. Then you'd have to build in a method for accounting for back pay.

          Bearing in mind there are no test suites for these changes, it's easy to believe it would take a while to implement them.

      • Re:COBOL. (Score:5, Funny)

        by Opportunist (166417) on Tuesday August 05, 2008 @03:56PM (#24485501)

        More accurately, to program in cobol, you wouldn't have to pay me a salary, you'd have to pay compensation for mental pain and anguish.

      • Re:COBOL. (Score:4, Funny)

        by sexconker (1179573) on Tuesday August 05, 2008 @04:07PM (#24485771)

        If I was in charge of programming the new pay system, I wouldn't be too worried about me making minimum wage...

    • Re:COBOL. (Score:5, Interesting)

      by Bill, Shooter of Bul (629286) on Tuesday August 05, 2008 @02:58PM (#24484261) Journal
      Define old. My Step Grandfather was a COBOL programmer. He's 86 now. You really shouldn't let him near anything electronic. He retired in the early eighties and hasn't kept up with any developments in the field. He doesn't know what a database is. Or Unix. He knows the IBM 360 pretty well though. So if they develop on it using IBM cards, he might be able to help.

      If you ask me, this is all payback for the original design of COBOL. If they had just extended FORTRAN and required any one interested in looking at code to have a 3rd graders grasp of math, California wouldn't be in this position and existing COBOL programmers wouldn't have to lie about their development language when talking to other developers.

      Actually, this story is about how California can't screw their state workers to make a political point, right? I guess COBOL wins after all, but they really should have made the syntax a little more like befudge.
    • Re:COBOL. (Score:5, Interesting)

      by Anonymous Coward on Tuesday August 05, 2008 @03:02PM (#24484329)

      the problem is nobody in IT wants to hire old people.

      You are right and the situation is even worse with more engineering oriented firms. Age discrimination in software/hardware is rampant and out of control. Partly it is institutional but often it is that the average 35 year old manager isn't even aware of his prejudices.

    • Re:COBOL. (Score:5, Insightful)

      by Lord Ender (156273) on Tuesday August 05, 2008 @03:08PM (#24484455) Homepage

      Sure they do. When I do a job search for IT positions, nine out of ten are for "senior" level positions. Nobody is hiring junior or just normal engineers. Seniors only.

      Usually "senior" means 5+ years experience with some piece of technology invented six years ago, though.

      So to get a job in IT, you can't be old, you can't be young, and you must have started working with every one of the latest technologies professionally on the year it was invented (before most businesses even used such technologies).

      I can't believe anyone can find a job with those requirements. Perhaps the mass of positions advertised these days are just a ploy to allow more H1Bs and outsourcing.

      • Re:COBOL. (Score:5, Insightful)

        by Surt (22457) on Tuesday August 05, 2008 @03:19PM (#24484663) Homepage Journal

        They lie in their requirements, you lie on your resume, balance is achieved.

      • by Trepidity (597) <.delirium-slashdot. .at. .hackish.org.> on Tuesday August 05, 2008 @03:45PM (#24485229)

        I know plenty of people with damn near zero experience in anything who have jobs with web 2.0 type companies. In certain market segments, especially web 2.0 and even more especially social networking, having anything at all that you can sell yourself as is enough to get in the door, because they're so desperate to hire people. Know a little CSS design, maybe can sell yourself as having done some amateur social-network analysis, and can write a PHP script? Sold!

        I exaggerate only slightly. Especially in the SF Bay Area, the fact that Google has hired ten thousand people in the past year alone has really put a drain on the availability, to the extent that most other companies will hire anyone they can in good conscience justify as "probably not terrible".

      • Re:COBOL. (Score:4, Funny)

        by MacTO (1161105) on Tuesday August 05, 2008 @04:00PM (#24485603)

        No, the ideal cadidate is still a 22 year old college graduate.

        All you need is 25 years of Java and .Net experience to back those credentials.

      • Re:COBOL. (Score:5, Insightful)

        by Opportunist (166417) on Tuesday August 05, 2008 @04:07PM (#24485761)

        That's a global problem. Companies want people with 5+ years of professional experience with technology that has been out for 3- years, flexibility (both in hours and location, meaning you work 48 hours a day, 8 days a week and have no problem being shipped off to their office in Abu Dhabi), can poop out perfect code while writing reports in at least 3 languages, have a masters and at least 10 years of professional experience but ain't older than 25, and don't ask for more than 2500 USD a month, tops.

        And then they go around and lament that we have not enough IT people. There are IT people on the market, but you have to pay their value and you have to step down from unrealistic expectations.

    • I can code COBOL (Score:5, Insightful)

      by Phreakiture (547094) on Tuesday August 05, 2008 @03:14PM (#24484565) Homepage

      I can code in COBOL. It seems unlikely, however, that Califorina can afford my fee.

  • Programmers? (Score:5, Insightful)

    by SgtPepperKSU (905229) on Tuesday August 05, 2008 @02:44PM (#24483973)
    Why would you need a programmer to change people's pay in the system?

    Oh, wait; you don't. This is just more politics...
    • Re:Programmers? (Score:4, Insightful)

      by Sebilrazen (870600) <blahsebilrazen@blah.com> on Tuesday August 05, 2008 @02:46PM (#24484013)

      Why would you need a programmer to change people's pay in the system? Oh, wait; you don't. This is just more politics...

      Job security? They(the bureaucrats) didn't know that it could be done without a programmer, so the programmer did it so they'd need a programmer.

      • Re:Programmers? (Score:5, Insightful)

        by Lord_Frederick (642312) on Tuesday August 05, 2008 @02:58PM (#24484269)

        I've seen how government applications are coded. The majority are either built by someone that can program but not engineer software and the rest are built by the lowest bidder. I find it perfectly feasible that a simple change will break the entire system.

        • by Lord_Frederick (642312) on Tuesday August 05, 2008 @03:06PM (#24484395)

          Hell, where I work now we're having problems because a particular CBT REQUIRES a floppy disk. Nobody can get the money to have the CBT code changed. The new computers don't come with floppy drives and the old computers are required to be taken out of service. Emulation software can't be used because it won't pass the "approval process" and putting a floppy drive into a new system voids the maintenance agreement.

        • Re:Programmers? (Score:5, Informative)

          by COMON$ (806135) * on Tuesday August 05, 2008 @03:19PM (#24484683) Journal
          Amen, gov't apps aren't generally created by seasoned programmers, they are programmed by whoever they could grab to throw at IT in the 90s. People that don't understand the concept of a variable, headers, comments, or anything resembling maintainable code.

          Also what is funny here is that dropping the wages wont get very many state workers to quit, they are so entrenched with their vacation time and specialized skills that they WONT go anywhere, they just like to bitch about it. Your average gov't worker is just that, a person who couldn't move on, every once in a while you run a cross a bright star keeping the mess together but they never amount to much as they leave after a couple years anyway.

          I have suggested many times that entire departments need to be fired, halved and hire new employees with 20% raises. There is so much bloat in personnel that it is insane, most of the shops have one guy doing the work for 10 people anyway.

    • Re:Programmers? (Score:5, Insightful)

      by oldspewey (1303305) on Tuesday August 05, 2008 @02:47PM (#24484019)
      It is possible that the code actually is that fucked up.
      • Re:Programmers? (Score:5, Insightful)

        by geekoid (135745) <dadinportland.yahoo@com> on Tuesday August 05, 2008 @02:55PM (#24484207) Homepage Journal

        Yes, but I would need a high degree of evidence to show me what a pay rate change would require reprogramming.

        And I work with a COBOL system.

        • by Anonymous Coward on Tuesday August 05, 2008 @03:00PM (#24484303)

          I work with a COBOL system

          How soon can you get on a plane to California?

        • Re:Programmers? (Score:5, Insightful)

          by encoderer (1060616) on Tuesday August 05, 2008 @03:35PM (#24485029)

          My honest guess?

          There's sanity checks on the data-input screens that prevent you from entering NaN, a negative number, etc, and somewhere along the line somebody added a sanity check to make sure the persons new rate was >= to existing rate. Maybe to prevent a misplaced decimal or something.

          And the "6 month solution" that they came up with was maybe to re-enter the employee data into a new record, with new rate, etc.

          But really, if I was tasked with this, I'd want a programmer, too. It would be a lot easier to mod these salaries in batch than one-by-one.

          I don't either of these require a team of COBOL wizzards as they're making it seem. Surely in the most populous state in the Union there is a single COBOL developer that has touched this payroll system before and can get into it.

    • Re:Programmers? (Score:5, Insightful)

      by Anonymous Coward on Tuesday August 05, 2008 @02:51PM (#24484129)

      Seems to me the people who should get their pay cut are the governor and legislators. They're the ones who haven't produced a budget.

      Don't give them back pay either - every day there's no budget is another day they lose a payday - forever. That might encourage them to get their job done on time.
       

      • Re:Programmers? (Score:5, Informative)

        by neko the frog (94213) on Tuesday August 05, 2008 @03:08PM (#24484447)

        The Governor refuses his salary, so that won't work.

        I suspect the legislators are wealthy enough that their per diem cut wouldn't be too much hurt.

        Now what *would* work...you know how they choose a pope?

        • Re:Programmers? (Score:5, Informative)

          by Martin Blank (154261) on Tuesday August 05, 2008 @05:32PM (#24487419) Journal

          Capping their per diem might hurt them more than removing their salaries. They get both. As of 2007, most legislators receive ~$113,000 per year, and then $162 per diem for each day they're in session (one or both may have gone up this year). Taking away their perks seems to get them moving faster than taking away their salary.

          The major fault of the California system is that there is no real changeover. The system is so rigged that it's virtually impossible for any state legislative or House seat to change parties. The state Assembly and Senate are locked in to provide exactly (2/3 - 1) vote for the Democrats, leaving the rest to Republicans. This prevents the Democrats from having complete power (which would result in the populace demanding a new redistricting), but means they only need to get one or two Republicans to cave in to get what they want. This has allowed California to build up a 40% increase in revenues in five years, while at the same time the population increased by 4%, the Consumer Price Index increased by about 19%, and spending increased by 44%. Had the state been capped by the growth in population and CPI (or some other inflation rate), it would be spending only 24% more than it had when Schwarzeneggar was elected, and would have had plenty of money in a rainy-day fund to cover the more than 10% shortfall that it now has.

          On top of this, the term limits that were voted into place (including by me) have turned out to be a colossal mistake. The legislature was once a fairly cordial place where most people settled into their seat, keeping constituents happy for a couple of decades, a few finding some ambition and targeting statewide or national office; It's now become a staring contest of ideologues, where no one budges on anything because it affects their chances to rotate into the other house or on to a more competitive office. It used to be that legislators had to learn to compromise because their opponent wouldn't just be there next year or next term -- they'd be there 10 or perhaps even 20 years later, and political memories can go back a very long time.

          The current system has survived court challenges, but it's expected that without a new process brought in early, the 2011 redistricting is going to get contentious and end up in court for a drawn-out battle before the court imposes its own solution.

    • Re:Programmers? (Score:5, Interesting)

      by bestinshow (985111) on Tuesday August 05, 2008 @02:55PM (#24484203)

      It's clearly 1960s and 1970s code. It probably has the pay rates hard-coded in, rather than using a database, because back then memory was expensive and logic had to be compact.

    • Re:Programmers? (Score:5, Insightful)

      by roc97007 (608802) on Tuesday August 05, 2008 @02:59PM (#24484293) Journal

      Sometimes you really do. Often, with really old systems like this, data that ought to be in tables is hard-coded in the system, sometimes in really obscure places. Or the code may only support pay *increases* because nobody thought there'd ever be a pay decrease for a government employee. (Seriously.) If you've ever worked on a project to replace an antiquated system, especially for a utility or government entity, you'd be shocked at what you saw. It's amazing that anything works at all.

      Job security? Incompetence? Micro-management? Probably a combination of all three.

      • Re:Programmers? (Score:5, Interesting)

        by LWATCDR (28044) on Tuesday August 05, 2008 @03:12PM (#24484541) Homepage Journal

        Yep I remember my first programing instructor explaining the idea of sentinel. You pick a number that would never come up to mark the end of data input. like 99 for a year. This was only 83 so 99 didn't seem that far away.
        When I asked him about that his answer was.
        Nobody uses software for that long.
        You know I never used sentinels like that in any of my programs after I finished that class. I have to assume that it was a standard method back in the day like using i,j,k for integers in loops. "Fortran defined those as integers be default"

    • Re:Programmers? (Score:5, Insightful)

      by Al Dimond (792444) on Tuesday August 05, 2008 @03:31PM (#24484959) Journal

      A guess: it's not changing the pay that requires a change in the code. It's keeping track of how much pay each employee is then owed at the end of the political fight.

      You see, they're not just going to unexpectedly cut their employees' pay. They're just going to take a short, interest-free loan from them without their consent. How merciful of them.

      It's no wonder governments so often get the worst pick of employees. Why would people with choices stay when they could at any time used as political pawns like this?

  • by mveloso (325617) on Tuesday August 05, 2008 @02:45PM (#24483987)

    The programmers of California have created the greatest payroll application of all time. You can only raise salaries, not lower them. Ingenious!

  • rule #1 (Score:5, Insightful)

    by pak9rabid (1011935) on Tuesday August 05, 2008 @02:46PM (#24484001)
    If you're going to pull a lame excuse out of your ass for why a decision can't by fulfilled, don't make it known that you're against said decision.
  • by Missing_dc (1074809) on Tuesday August 05, 2008 @02:46PM (#24484003)

    I need a COBOL programmer, who is your daddy and what does he do?

  • Uhh... (Score:5, Interesting)

    by jhfry (829244) on Tuesday August 05, 2008 @02:46PM (#24484009)

    I have never seen a payroll program that has the wages hardcoded in it... there is no reason that this can't be done... she simply doesn't want to.

    • Re:Uhh... (Score:5, Insightful)

      by isomeme (177414) <cdberry@gmail.com> on Tuesday August 05, 2008 @03:06PM (#24484403) Homepage Journal

      I can easily picture a system that encodes rules about pay grade differences derived from huge piles of laws, union contracts, and so forth. Changing everyone's pay to the same low level would violate all kinds of intertwined constraints and validation checks, and thus be rejected. I imagine the time quoted to make this change is due to the need to work around these cross-checks without eliminating them entirely, as most of the time (i.e., when the governor isn't posturing) they are quite useful to help avoid illegal or improper changes.

  • by janeuner (815461) on Tuesday August 05, 2008 @02:47PM (#24484025)
    ...expect minimum wage results.
  • by snkline (542610) on Tuesday August 05, 2008 @02:47PM (#24484031)
    The problem is not lack of Programmers. The problem is managers who think a developer needs many years of experience with a specific language or technology to be able to work with it. I am sure many programmers would be willing to work on their COBOL systems, but without the required "10 years of experience with COBOL" on their resume, they would never be hired.
    • by gfxguy (98788) on Tuesday August 05, 2008 @02:54PM (#24484191)

      The problem is this person is lying. Seriously, wages change all the time; probably at least once a year people get reviewed and get raises; you're going to tell me there's a 9 month backlog?

      And why on earth would it take 50% longer to raise them back up again? That makes absolutely no sense.

      There's only one obvious conclusion: the state controller is lying.

      • by Temkin (112574) on Tuesday August 05, 2008 @03:11PM (#24484495)

        As I understand it, Arnie wants to pay them minimum wage, and then grant them back pay once the budget is passed. That's a whole different calculation, and requires some kind of per-employee escrow account, etc...

        If I was a Ca state employee, I'd be pissed. Thankfully, I'm not even a resident anymore.

      • Back pay (Score:5, Informative)

        by 200_success (623160) on Tuesday August 05, 2008 @03:24PM (#24484795)

        Since the pay cut is just a way to postpone payments until the budget is passed, the system system needs to issue back pay after the crisis. It's entirely plausible that issuing back pay is more complicated than implementing the pay cut.

        It seems that California has a similar budget crisis every single year. Back in 1992 they issued IOUs [nytimes.com].

  • LOL (Score:4, Funny)

    by nebaz (453974) on Tuesday August 05, 2008 @02:47PM (#24484039)

    This is a delicious irony here. It's great. It's almost enough to coin a phrase "Don't attribute reprieve from malice to that which can be explained by incompetence."

  • Take ours (Score:5, Funny)

    by otacon (445694) on Tuesday August 05, 2008 @02:47PM (#24484043)

    We have about 20 Cobol programmers. We still run CISC and what have you. You can have them. Cheap.

  • by Critical Facilities (850111) * on Tuesday August 05, 2008 @02:47PM (#24484051) Homepage
    OK, no one likes programming in COBOL, but to argue that these systems can't be updated because the language is obsolete is just an all out lie. Plenty of major corporations still use COBOL/CICS because it just works.

    If (as someone above stated) a programmer is required to update what should undoubtedly be database fields containing salary information, then it sounds like a problem of implementation, and not one of technology/language of choice.
    • by gstoddart (321705) on Tuesday August 05, 2008 @03:17PM (#24484639) Homepage

      OK, no one likes programming in COBOL, but to argue that these systems can't be updated because the language is obsolete is just an all out lie. Plenty of major corporations still use COBOL/CICS because it just works.

      Yeah, but do they still have the expertise in house to make any changes?

      I've known organizations that had to pull people out of retirement (at 5x their old salary) to maintain old mainframe systems -- for the simple reason that there isn't anyone else left who knows how to modify the system, and if you don't throw cash at the old-timers, they'll laugh at you and go back to their golf game.

      If it works, great. If it stops, some companies simply don't have anyone left who can fix it. And then you're SOL.

      If (as someone above stated) a programmer is required to update what should undoubtedly be database fields containing salary information, then it sounds like a problem of implementation, and not one of technology/language of choice.

      Well, if it's a Vietnam-era bit of software (as TFA indicates) then it's quite possibly an implementation problem. What we currently consider to be "best practices" are likely to all be younger than the code in question. In fact, most of them are probably gleaned from systems just like this.

      I wouldn't really be surprised that a system for "which the state made a large investment decades ago and has been keeping it going the last few years with duct tape" isn't really easy to cajole along.

      I've been involved in projects to replace legacy applications -- it's sometimes not possible to actually give them all of the functionality because nobody has a detailed list until someone comes along and says "oh, what about feature X, how do I do that?" Then you see a room full of people looking stunned and asking "why is this the first we're seeing of this??". Often, it's a feature which is so fundamentally incompatible with everything else you've been told -- "X can never happen. Oh, except there."

      Never underestimate just how bad software of that vintage can be, and just how hard it is to fix or replace it.

      Cheers

  • by nurb432 (527695) on Tuesday August 05, 2008 @02:49PM (#24484093) Homepage Journal

    Its because of poor coding skills.

    Convenient scapegoat there they have.

  • by OrangeTide (124937) on Tuesday August 05, 2008 @02:50PM (#24484103) Homepage Journal

    It's a lot easier to just fire them with the software is what they are telling us.

    Seriously if California is in a budget crisis how will they pay firefighters and hospital staff? You can pay everyone full wage now and in 10 months stop paying EVERYONE entirely.

    In a business with this kind of budget problem you simply lay people off. People who work for the state are up in arms over this, but I've been laid off a number of times. You just fill out your unemployment insurance paperwork and get like 1/4 to 1/2 your salary after a few weeks, and look for a new job in the meantime.

    I'm not sure why unions act like every person should be guaranteed a job. What universe you have to live in for things to be so certain?

    • by kris_lang (466170) on Tuesday August 05, 2008 @03:20PM (#24484697)

      I kid you not about this: when I worked in the Los Angeles County Health System, I was paid by both the county and the state bursars. The paperwork for my job stated specifically that I was required to carry out my job EVEN IF THERE WERE NO FUNDS AVAILABLE TO BE DISBURSED TO ME FOR MY PAYCHECK. I have that document somewhere in my vertical archaeological dig of paperwork from the prior century.

      I pointed this out to the H.R. person after my employment physical, and she told me "Honey, don't worry about it, the state don't run out of money." I respectfully disagreed, crossed out the line, initialed it, and signed the paperwork. Nobody gave me any trouble, but if this happened nowadays, I bet they wouldn't let me in with that line crossed out.

      Don't even get me started about the payroll records and timecard abuse: the department secretary always told me to sign the blank timecard and she would fill it out: I refused to sign it unless I also filled out my hours. When I put in more than forty, she said, "Oh no, don't worry about it, we'll take care of it," or something equivalent to that.

        I never saw timecards again from the department.

    • by nickhart (1009937) <{moc.liamg} {ta} {trahkcin}> on Tuesday August 05, 2008 @03:35PM (#24485035) Homepage

      I'm not sure why unions act like every person should be guaranteed a job. What universe you have to live in for things to be so certain?

      I don't know about you, but I live in the richest nation on Earth (which has a government that acts like it owns the universe). We spend more than 5x on our military each year (not counting "supplemental" spending on wars, interest on loans for said wars and other related costs) than it would cost to feed every hungry person on the planet, according to UN figures. The workers of the United States are some of the most productive in the world and we collectively create vast riches--for a tiny minority of people at the top who "own" the factories and businesses from which this wealth is extracted. This is nothing more than organized theft.

      Under a sane, rational system all workers would share in the wealth we create. When we discover new techniques that make our jobs more efficient, we would all work less--instead of under capitalism, which results in layoffs and fewer people working more. We wouldn't waste trillions on killing people--we'd spend trillions to create good jobs that serve important needs: like educating people, healing them, building efficient mass-transit and clean, renewable energy sources (all of which create more and better jobs than military spending does).

      Instead we live in a world where a handful of parasites lets their own short-term, profit-oriented interests dictate policy for the rest of us. They get to force their pro-capitalist dogma onto us in schools, textbooks and via the media they own, so that people believe that the current system is the way things should be and always will be (just as the Church and nobility once taught serfs and merchants to remain in their places).

      There's no reason we can't provide a job, food, clothing, shelter and health care for every single person on the planet--except that it wouldn't be profitable for the people at the top, and they are not going to give up their power and privilege without a fight.

  • by the_duke_of_hazzard (603473) on Tuesday August 05, 2008 @02:50PM (#24484105)
    "Forrer said the system has tens of thousands of lines of code, so it is time-consuming to find and replace salaries for each job classification on an individual basis." Ummm...... they should have a look at the 30million line codebase I support. I'd love to give _that_ excuse.
  • by mlwmohawk (801821) on Tuesday August 05, 2008 @02:55PM (#24484217)

    Sure it *sounds* ridiculous to say you can't lower salaries without a programmer, but I bet it is a fairly complex batch program that has to run. You don't want people hand entering 200,000 payroll changes. If it takes 30 seconds (on average) to do each one by hand, that would be 41 weeks for a person to make all the changes. (assuming a 40 hour work week)

    Don't forget, the good governator is probably payed by that system too and you know HIS pay ain't going down.

    So, not only is it a HUGE number of data entries AND a complex filter on job classification. ALSO mistakes are something you don't want to make on payroll!

  • by slapout (93640) on Tuesday August 05, 2008 @03:01PM (#24484317)

    "A computer without COBOL and FORTRAN is like a piece of chocolate cake without ketchup or mustard." --John Krueger

  • The problem is.. (Score:5, Interesting)

    by faedle (114018) on Tuesday August 05, 2008 @03:05PM (#24484377) Homepage Journal

    Those of you saying "how hard can it be to write a couple of lines of COBOL" are probably underestimating the problem.

    If all they had to do was just lower people's salary to $6.whatever per hour, that wouldn't be the issue. The problem is they have to account for the ACTUAL salary the person should be making, because once the budget is passed they will have to pay all those people back for the salary that's owed.

    So, there's a big issue here. They have to calculate their salary like they would anyway, and then pay them minimum wage for the number of hours actually worked (because I'd guess a number of State employees are "exempt"), remember how much they SHOULD have been paid and how much taxes SHOULD have been taken out, record that information, and then print out a check.

    In a modern programming language with a modern relational database, no problem. In COBOL with an obsolete non-relational DB, perhaps even one with 80-column mindset? Yeah, right. Good luck with that.

  • by Naum (166466) on Tuesday August 05, 2008 @03:33PM (#24484989) Homepage Journal

    While it's been nearly 5 years since I toiled in COBOL, I can assure you that much of the information infastructure you deal with on a daily basis still runs on legacy mainframe hardware with COBOL programs being fed your charge card data, airline reservations, utility usage, pharmaceutical claim adjudications, etc....

    There are plenty of COBOL Programmers out there, the problem is nobody in IT wants to hire old people.

    True. Or the "hire" would be at a rate of 50-60% of what that same programmer made previously. I still get soliciations for mainframe COBOL work and the rates and salaries advertised to me are an absolute joke.

    The problem is not lack of Programmers. The problem is managers who think a developer needs many years of experience with a specific language or technology to be able to work with it. I am sure many programmers would be willing to work on their COBOL systems, but without the required "10 years of experience with COBOL" on their resume, they would never be hired.

    Well, code is code, but I would caution that:

    • More essential is experience with the legacy platform that those COBOL programs are running on. Are you familiar with the vagaries of S0C4 or S0C7 ABENDs? Do you JCL? Can you read an MVS dump? Do you know how to allocate a file?
    • Grizzled veterans can pinpoint root cause in short order while it may take an inexperienced crew days, if not weeks, to troubleshoot a problem. It's not about being smarter, it's knowing where to look, with the cruder, less evolved diagnostic tools.

    Wow, if this is a COBOL system, you mean no one took the time and energy to document the system and all of its glorious parameters during the ramp-up to Y2K? I'm shocked...SHOCKED to hear that a bureaucracy would waste such a golden opportunity as the Y2K scare to look long-term and decide that hey, as long as we're in the process of vetting code, why don't we document it as well?

    And yes, there are already those out there jumping up and down pointing out that fixing a year from a two digit to a four digit format is way different than figuring out how to reprogram an ancient computer language. Gotta love the State Government, home to Silicon Valley, too myopic to even consider upgrading something as non-essential as a payroll system.

    Most of the Y2K effort focused simply on alleviating eventual issues with two digit dates by "windowing". No expansion of existing database fields -- as much of the processing in legacy world on a fixed column basis, and lengthening the field was considered "out of scope" -- just a simple if statement to test if it was the 20th or 21st century. And regarding documentation, you're being glib, right? As staffs are downsized, support and application teams siphoned off to India or replaced by imported non-immigrant visa holders, documentation, which never was a top priority, has been given even shorter shrift.

    This sounds like a typical "we have to re-write everything" attitude I hear from a lot of programmers who have to work with legacy code.

    They have an application that calculates the salary. They don't need to change anything in the existing application, all they need is to "decorate" the app with an additional wrapper that rolls back the salary the appropriate amount.

    A rather naive assertion. In legacy systems much of the business logic is embedded deep within the bowels of the code. There may be a "business analyst" who is the overseer, but they are totally reliant on somebody else who can actually read code. And it will be far from straightforward, even for a gifted wizard, as the code in question may be decades old, and littered with patches and interfaces placed on top of all the cruft.

    I'll give $3 to the first person who can explain to me why on Earth you need to edit the software to change p

  • by floki (48060) on Tuesday August 05, 2008 @03:43PM (#24485179)

    A COBOL-savvy man suffers from a deadly disease and decides to go for cryonics, hoping they will find a cure in the future. A hundred years from now they wake him up. He's relieved and asks: "Thank god, you've found a cure." - "No", they tell him, "we're short of COBOL programmers."

  • by sampson7 (536545) on Tuesday August 05, 2008 @03:56PM (#24485503)
    Let's not ignore the circumstances here -- the Governor has directed this move as a political stunt in an attempt to force the Democratic legislature to agree to his proposed budget. Harming every day California State workers by lowering their salaries to minimum wage is a cheap trick and a disgraceful attempt to win political points.

    Suppose replacing salaries is a trivial programming task. Would you accept a job to change everyone's salary to minimum wage? Including yourself? What the State Controller is doing is in the best tradition of civil disobediance. He is an elected official answering to over 12 million California votes.

    He believes he has been issued a direct order by another elected official that he believes is illegal. Rather than trigger a constitutional crisis by outright refusing to follow the order, he's taken the very principle stand that it is impossible *cough* to enter these changes in a timely manner. Lowering salaries may not quite be the equivalent of committing a war crime -- but I don't see the "just following orders" excuse as valid. The Controller's sole constitutional reason for being is to manage the finances of the State, including the payroll system.

    Like government or not -- you do not improve government services by vindictively striking out at rank and file workers. The governor may not suffer if he doesn't receive a weekly paycheck, but I guarantee you that lots of others will. That's why what the Controller is doing is laudable -- even if it stretches credulity on the programming end.
    • by Skapare (16644) on Tuesday August 05, 2008 @04:36PM (#24486397) Homepage

      Let's not ignore the rest of the circumstances here -- the Governor is acting on a 2003 California Supreme Court decision (though it is an interpretation of that decision). Another fact is that this is not a pay cut. It is just the amount to be paid for now. Other states that have faced this situation have had to simply not pay anyone at all (effectively furloughing all state workers). Even the Federal government has had this issue. So I'm guessing that the California Supreme Court decision is saying that not paying at all, or furloughing as a means to not pay, is not an option, and that a minimum wage still has to be paid for now, for anyone still on the job.

      Then there is the complication that the difference between what people should have been paid, and what they do get paid (minimum wage), be paid back later once the budget is approved and passes. That kind of logic is apparently not yet coded into the payroll system. The problem is more a case that the state has not budgeted to the state IT department the resources to implement, test, and deploy, a system the California Supreme Court decision may require under existing laws (or better yet, upgrade it to an all new system in a modern language on modern computers ... such as Java or Python running on Linux or Solaris).

      This is NOT lowering salaries/wages ... it is just paying them a minimum amount now for staying on the job, and the difference later once the budget becomes law.

      This is NOT "vindictively striking out at rank and file workers" ... it is trying to make sure they are paid something for now, rather than nothing at all, or the possibility of them not even working (time for which they then would never be paid).

  • by Skapare (16644) on Tuesday August 05, 2008 @03:59PM (#24485593) Homepage

    ... to get the system to issue payroll checks at a $6.55/hr amount, including doing the correct calculation based on reported hours, including the 1.5x factor for overtime, do all the correct tax calculations, generate all the reports like what goes to the IRS, print the checks ... while keeping (but ignoring, for now) the original pay rates in the database. This change in logic would require probably several hundreds, if not thousands, of lines of computer code in hundreds of modules, just to be sure everything got processed in exactly the correct way uniformly everywhere. And then there is testing. A lot of testing is needed to make sure there no parts of the system were overlooked, and each changed part was done correctly.

    You might think it is as simple as changing "MULTIPLY HOURS-WORKED BY PAY-RATE GIVING GROSS-PAY." with "MULTIPLY HOURS-WORKED BY 655 GIVING GROSS-PAY." but I can assure you it is far, far, more complex than that.

    Alternatives that are also unworkable for a quick change include literally changing all the pay rates in the database, then changing them back again later. Substituting a temporary database is also unlikely because this is likely a massive database that contains far more than just names, SSNs, and pay rates.

    And are they even sure they have all the source code to all the modules in the system? Do they even have the machine capacity to do several dozen payroll runs in just a couple weeks time just to complete the testing?

  • I'm here (Score:5, Interesting)

    by Mycroft_514 (701676) on Tuesday August 05, 2008 @04:26PM (#24486179) Journal

    25+ years of COBOL, multiple dialects. Pay me what I'm worth, I'll take a vacation from here to do the job. What's the database, if their is one? IDMS, IDS-II? VSAM files? ISAM files? I've done them all, no problem.

  • by qazwart (261667) on Tuesday August 05, 2008 @04:30PM (#24486273) Homepage

    Wonder why they can't find any Cobol programmer? There are probably Cobol programmers on the state payroll maintaining this system, but do you want to modify a computer program, so your employer can cut your pay by 75%? Didn't think so.

    Manager: I need you to modify our payroll system in order to cut your pay to a mere $6.55/hour. How quickly can you get that done?

    Developer: I'll get right on it boss. Let's see, I'll have to modify the payroll routines, reconfigure the database, change out the bit buckets, and scronge the verbliz... That will take me... Er, how long do you think it will be before the state passes a budget?

    Manger: Probably in about 5 months.

    Developer: It'll take me about 6 months.

There is no royal road to geometry. -- Euclid

Working...