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:
  • he's not an attorney (Score:2, Informative)

    by KernelMuncher (989766) on Tuesday August 05, 2008 @02:47PM (#24484033)
    From the article: "He [State Controller Chiang] disputes Schwarzenegger's legal interpretation of a 2003 California Supreme Court decision," Chiang is the State Controller, not an attorney. It's not his job to give legal interpretation on Supreme Court decisions. His job is to execute the orders of states executive branch, Gov. Schwarzenegger. It sounds like the Controller is letting his personal beliefs interfere with his professional responsibilities. That's a quick route to unemployment.
  • 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?

  • 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.

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

    by jeremyp (130771) on Tuesday August 05, 2008 @03:13PM (#24484555) Homepage Journal
    As any fool knows, the T-800 software was written in 6502 assembler [wikipedia.org].
  • by dave562 (969951) on Tuesday August 05, 2008 @03:16PM (#24484601) Journal
    This is the State of California we are talking about here. Do you really think that they have "non-production / test" environment of their antiquated COBOL mainframe setup for the amateur's to play around with and test code on? Maybe they can go ahead and just bring it up in an x86 virtual machine?

    My girlfriend works for the state. She handles part of the time/payroll process. Most of it is still manual and done in ledger books. For the facility she works at with about 500 employees there is a single person who handles all of the payroll data entry into the system. The entire system is so antiquated it would be a nightmare to sort out. It isn't as simple as updating a single value to $6.55 and being done with. Everything is tiered and based on seniority. Each position has a different pay rate and is influenced by how long the employee has been working for the state. There are so many layers of complexity in that system that it would boggle your mind. Hell... the state just LAID OFF 200,000 people. Those are only the part time folks. How many people are still employed? A million? Maybe more? Do you really want some amateur screwing with the production database that is responsible for paying a million people? And not just paying, but deducting social security, medicare, payroll taxes, pension payments, Cal-PERS and all of that?

  • 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.

  • by tilandal (1004811) on Tuesday August 05, 2008 @03:20PM (#24484705)

    RTFA. It would take 9 months to return the back pay owed to state employees after a budget has been approved. Also they fired most of the workers who had been taken out of retirement specifically to maintain the payroll system so now you have to hire and train new workers.

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

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

    You do if you want to change everyone's salary. I'm sure global salary adjustment is a sufficiently rare phenomenon that it is not a feature of the system (remember, this was developed in cobol). So you have to do this programmatically. Making the same change by hand would be error prone, if it was even possible to do in a sane time frame. Remember that unlike with a raise, for example, you need to remember the old salary.

  • by dave562 (969951) on Tuesday August 05, 2008 @03:23PM (#24484787) Journal
    It isn't just an issue of changing some constants. The pay cut isn't permanent. It is a temporary solution and the employees will get back pay once the budget passes. There are a lot of calculations that take place when a state employee gets paid. There are union contracts to follow. There are Federal and State payroll deductions to calculate. There are pension funds that are regulated by law to take into consideration.
  • 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].

  • by nomadic (141991) <nomadicworld@nOSpAM.gmail.com> on Tuesday August 05, 2008 @03:29PM (#24484905) Homepage
    From the article: "He [State Controller Chiang] disputes Schwarzenegger's legal interpretation of a 2003 California Supreme Court decision," Chiang is the State Controller, not an attorney.

    Actually he is an attorney.

    It's not his job to give legal interpretation on Supreme Court decisions. His job is to execute the orders of states executive branch, Gov. Schwarzenegger.

    Where did you get that idea? He's an elected official, not an appointee, and his job is to safeguard the state's finances, not be a flunky for Schwarzenegger.

    It sounds like the Controller is letting his personal beliefs interfere with his professional responsibilities. That's a quick route to unemployment.

    That's for the voters to decide.
  • Re:Programmers? (Score:2, Informative)

    by The Dancing Panda (1321121) on Tuesday August 05, 2008 @03:29PM (#24484925)
    It's not just a pay rate change. It's changing from salaried to a wage system. I don't see why they can't just pay them salaried minimum wage, but that seems to be the problem.
  • by York the Mysterious (556824) on Tuesday August 05, 2008 @03:30PM (#24484947) Homepage
    Having just gone through the process of getting a replacement payroll check from the state I ALMOST believe the story here. The system is REALLY bad. I had to fax information to 3 different departments then mail a hand written letter in. After that it took them almost 2 months to get a new check to me. Thing is it wasn't a check. They won't mail checks. It had no routing or account number on it. Just a phone number for the bank to call. The bank looked at me like I was trying to pull a fast one. Took another three days for them to confirm it was a real check and cash it. Now why do I have checks still? Why no auto deposit? Perhaps because they refuse to add lower level employees to auto deposit because they claim their system can't handle that many auto deposits.
  • by dave562 (969951) on Tuesday August 05, 2008 @03:33PM (#24484993) Journal
    My girlfriend works for the state. This is what she has to say about what is going on. "I saw that people are talking about not wanting to hire cobool workers or something...well the issue with the state is that we do not upgrade anything EVER!!! So its freakin hilarious that they cant cut our pay cause they are cheapskates"
  • by copponex (13876) on Tuesday August 05, 2008 @03:38PM (#24485083) Homepage

    In that case the US Government should fire everyone, since we're 9.5 trillion in the hole. The deficit spending popularized by Reagan, which cut out social programs, raised military spending, and lowered taxes for the wealthy, is just one of the internally flawed principles that passes as economic policy under "conservative" government.

    An appropriate response would be to cut spending across the board, and probably reduce the trillion or so dollars a year we spend on military research and wars, which would be around 100 billion if in line with what the rest of the world spends. Instead, we've more than doubled our military spending since 2001, and our currency has steadily declined because of our refusal to address this very basic issue.

    America has enormous wealth, but it's currently being squandered by the same chickenhawks who increased the deficit in the 80s with military spending, saber rattling, and tax cuts for the wealthy. Their names might sound familiar: Bush, Cheney, Rumsfeld, Wolfowitz.

    http://zfacts.com/p/318.html [zfacts.com]

    (Just because you don't like the source doesn't mean the numbers aren't real.)

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

    by dan828 (753380) on Tuesday August 05, 2008 @03:48PM (#24485297)
    The minimum wage thing is actually an improvement over what these clowns usually do every year when they utterly fail to pass the budget on time. Usually the state issues IOUs to it's employees which don't get paid of until the budget gets done. This year, they are talking about actually paying people something during the impasse and making up the difference when the budget gets passed. It's not a permanent salary change.

    All this hysteria is just being generated by the democrats to use as leverage against the governor in the budget talks. It's all a bunch of political bullshit.
  • Re:COBOL. (Score:1, Informative)

    by NicknamesAreStupid (1040118) on Tuesday August 05, 2008 @03:55PM (#24485495)
    Actually, the code displayed in the original Terminator movie was IBM 370 assembler language. Mainframe Arnold wouldn't settle for being a micro anything.
  • 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?

  • by bluefoxlucid (723572) on Tuesday August 05, 2008 @04:17PM (#24485975) Journal

    I've written in COBOL. It's not a language I'd like to use a lot. It's not hard to learn, though.

  • 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 JimDarkmagic (1339257) on Tuesday August 05, 2008 @04:44PM (#24486573)

    We still teach it at my local community college - it is a required part of our programming degree; RPG too. Still taught at the public university too. Don't know about the private ones.

    Seems at least one or two 3 credit classes wouldn't hurt when there's still plenty of old COBOL running in business. The same could be said of dBASE and AS/400 apps too - we teach AS/400, but not dBASE. The course planners must have to decide which legacy tech to teach.

    Incidentally - I finally created a Slashdot account after 5 years of reading and occasional AC posts - I hate having to name things

  • by Skapare (16644) on Tuesday August 05, 2008 @04:53PM (#24486729) Homepage

    This is not a case of changing pay rates. It is a case of paying minimum wage rates for now, recording the difference in gross pay, and paying that difference back later after the budget becomes law. This is different than what other states and even the Federal government has done, which is to furlough people (they don't get paid at all, ever, for time not working), or expect them to work without getting any pay until later.

    This is a logic change in the programming. It needs to be changed not only in the programs that cut the checks, but also in the programs that calculate and report taxes. There could be dozens of places in various separate programs that need to have a logic change. And the database needs to keep the existing pay rates and record the differences for time actually worked so the correct pay difference can be done later.

    COBOL is required because this is a change to an existing legacy system that is written in COBOL. Time is required because system analysis is needed to ensure all the correct places in the system are changed, the database has the right schema and record types to record these differences between issued and due wages, and because all this has to be tested thoroughly. It might be nice if this were a system in a modern language like Java or Python on a modern system like a farm of machines running Linux or Solaris. But the state apparently doesn't want to budget an upgrade of the state IT infrastructure (or at least the payroll system).

    The Governor is stuck because he apparently has to actually keep people working AND paid (at least something) due to whatever law the California Supreme Court decided on. The State Controller is stuck because he has a legacy system and has not been given a budget to modernize it. It sure sounds like politics, and no doubt a lot of it really is. But both the Governor and the State Controller are working from positions they really don't have much control over. The net effect may well be that the state as a whole does not have the means to comply with the law (at least as the Governor interprets a court decision).

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

    by jmorris42 (1458) * <jmorris@[ ]u.org ['bea' in gap]> on Tuesday August 05, 2008 @05:05PM (#24486977)

    > You do realize it is a violation of labor laws to withhold someone's
    > pay check or refuse to pay them as the result of a third party
    > failure, correct?

    You mean it is against the law to stop payment on a check you discover is made out for more than the correct amount? Sounds stupid enough to be a law in CA, but it doesn't apply to the government. Soverign Immunity. See yesterday's /. story about the USAF vs the DMCA for a refresher.

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

    by ricegf (1059658) on Tuesday August 05, 2008 @05:16PM (#24487129) Journal

    In Texas, we have a part-time legislature. They meet for a couple of months every two years and pass all the laws we need (including the constitutionally-mandated balanced budget). Then they have to go live under them for the rest of the term.

    Works pretty well.

  • 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:i knew it (Score:3, Informative)

    by Blackjack Joe (997819) on Tuesday August 05, 2008 @05:56PM (#24487771)

    "And just where do they think they will find a COBOL programmer working for minimum wage?"

    Just find one that'll work as a contractor, that gets around that pesky minimum wage problem.

  • by uhlume (597871) on Tuesday August 05, 2008 @06:17PM (#24488015) Homepage

    Shall we talk about "bullshit"? Let's start with your comment, a charming blend of distortion and fabrication.

    Issuing IOUs to state employees during budget crises is not standard procedure in California nor, to my knowledge, any other state. The last time IOUs were issued to state workers in California was when Pete Wilson (another Republican governor) attempted it in 1992, when the state ran out of cash during protracted budget negotiations — something controller Chiang assures us will not happen [news10.net] until at least the end of September.

    Banks refused to accept the IOUs, and public employees were finally driven to take legal action. The state was ultimately forced to come to a settlement with workers in 1996, after a 1995 ruling by U.S. District Judge Garland E. Burrell Jr. found that the state's IOUs were not "cash or its equivalent" and violated the federal Fair Labor Standards Act. California has never since issued IOUs as pay.

  • by retendo (321086) on Tuesday August 05, 2008 @06:18PM (#24488027) Homepage

    You may not be correct. It may be VSAM files. Try changing those is batch.

    I'm currently working as a J2EE Architect/Developer for the state of California on a different project. After reading this story I approached our main COBOL guy on the team (also happens to be good at J2EE systems, he actually manages the dev team) and asked him about this. He seemed to think that the values for employee salaries may not be in a database. My response was, "Wow".

    We are currently replacing a system that is COBOL build on top of ADABAS. This system is under ten years old. Why was it built with those technologies? That's what people around here know and the budget was pretty small. Again, "Wow".

    The California DMV is currently redoing their antiquated system. It is written is assembler. They are updating it to COBOL. So I know that DMV has snatched up many of the COBOL developers in Sacramento.

    Although the project I'm working on is written as Java batch jobs and a webapp deployed on WebSphere, it has a requirement that everything must run on the mainframe. The mainframe is way overused and cannot handle the load but for some reason (and the managers on the project won't tell us who controls this) we cannot deploy onto any system other than the mainframe. We estimate that with about $20K - $40K in UNIX boxes we could easily have enough performance for the production system. If that number seems high to your then please note that the project is burning through around $422K/month in development costs. But no, we'll finish performance testing and realize that we need more processing power and end up spending $124K minimum to get the second ZAP processor enabled (the hardware is installed, IBM just left it disabled until we come up with the $$$) or we'll end up purchasing another general purpose processor for about half a million.

    Why all the rambling? To give others an idea of what the development world is like in the state of California. It's been an interesting lesson is scope, scale, and the cost of legacy systems.

    --
    EBCDIC sig: $%##@%^$%@

  • In soviet russia... (Score:5, Informative)

    by pimpimpim (811140) on Tuesday August 05, 2008 @07:11PM (#24488611)
    Really, not the meme, just look at former soviet states. As soon as all government employees (or better: everyone) got laid off after the communist system collapsed, a lot of military equipment ended up just going to the highest bidder, energy plants and other vital parts went to the now-billionaires who were smart enough to reserve their own spot in the new system. Most former sovjet states are still having a hard time because of this.
  • It aint COBOL (Score:1, Informative)

    by Anonymous Coward on Tuesday August 05, 2008 @08:33PM (#24489525)

    The COBOL is just fine. The CICS data base contains the salaries.

    The State of California actually has competent CICS data base programmers. (the famous Data Base Administrators: DBAs)

    Should take about two days to back up the data base, (Which on a mainframe is done constantly) and load the new salary tables. About 2 hours if you are an expert.

    To recapture the salaries lost would take a more determined effort, but so what if the state employees had to wait ten years. I bet the state employee programmers would be motivated to recoup their lost salaries.

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

    by slashtivus (1162793) on Tuesday August 05, 2008 @09:25PM (#24490145)
    Replying to you since I haven't seen this mentioned before and it seems to fit: I've written a smallish payroll system, and I would guess that a bigger problem is withholding taxes (the IRS wants their money!), as well as child support payments, any judgments against individuals are decided in the courts, and probably must continue. There are also rules that you cannot simply keep deducting someones check into the negative number range. So then there would have to be some sort of escrow account set up to cover that and still cover the minimum pay requirement. When the budget is passed there must be some way to cross-correlate the escrow with all of the deductions - the temporary minimum wage. Our payroll had to take all this into account without even the escrow portion of it stuff like that tends to get messy. Cheers.
  • by againjj (1132651) on Tuesday August 05, 2008 @09:28PM (#24490179)
    Parent should be "informative". The governor is actually getting a pay of $1 a year.
  • Re:i knew it (Score:1, Informative)

    by arrowrod (1256976) on Tuesday August 05, 2008 @10:46PM (#24491037)
    The payroll data is in a CICS data base. The comptroller is a liar. When I was on the Y2K team, they had competent CICS DBAs. The change is trivial.
  • 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:i knew it (Score:2, Informative)

    by Anonymous Coward on Wednesday August 06, 2008 @08:21AM (#24494495)

    There is no such thing as a CICS data base. CICS is an interface control, language pre-compiled before the COBOL statements, to facilitate interactive COBOL programs.

  • Re:i knew it (Score:0, Informative)

    by Mipoti Gusundar (1028156) on Wednesday August 06, 2008 @08:51AM (#24494821) Journal

    Many places! Like Calicutta or Mumbai or Bangalore.

  • Protest (Score:3, Informative)

    by cdneng2 (695646) on Wednesday August 06, 2008 @10:39AM (#24496515)

    There's much more to this story than that, from Crooks and Liars [crooksandliars.com]

    "Controller John Chiang is standing up to Governor Arnold Schwarzenegger -- refusing to comply with the devastating Executive Order the Governor signed last Thursday -- despite 28,016 petitions Courage Campaign, CREDO Mobile and True Majority members sent to his office."

The universe is like a safe to which there is a combination -- but the combination is locked up in the safe. -- Peter DeVries

Working...