Slashdot Mirror


California Can't Perform Pay Cut Because of COBOL

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.

19 of 1,139 comments (clear)

  1. Uhh... by jhfry · · Score: 4, Interesting

    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.

    --
    Sometimes the best solution is to stop wasting time looking for an easy solution.
  2. Should just fire everyone by OrangeTide · · Score: 5, Interesting

    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?

    --
    “Common sense is not so common.” — Voltaire
  3. Re:Programmers? by bestinshow · · Score: 4, Interesting

    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.

  4. Re:COBOL. by Bill,+Shooter+of+Bul · · Score: 4, Interesting

    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.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  5. Re:COBOL. by Anonymous Coward · · Score: 5, Interesting

    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.

  6. The problem is.. by faedle · · Score: 5, Interesting

    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.

  7. Maybe they lost the source . . . ? by PolygamousRanchKid+ · · Score: 3, Interesting

    I know that sounds absolutely idiotic, but an employee of a major European insurance company explained that exactly that happened to them with a COBOL application.

    Hell, with people losing laptops with critical data in the San Francisco Airport, why not?

    I just jested with him, and suggested that the programmers probably deleted it on purpose, because they were sick of maintaining the COBOL code.

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  8. Re:Programmers? by LWATCDR · · Score: 4, Interesting

    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"

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  9. How will they pay hospital employees? by kris_lang · · Score: 4, Interesting

    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.

  10. COBOL: The Undead Language by Naum · · Score: 5, Interesting

    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

    --

    AZspot
  11. Re:COBOL. by Bill,+Shooter+of+Bul · · Score: 5, Interesting

    1)I asked how old were the guys were he thought weren't being given a fair shot. My grandfather wrote Payroll systems for large firms like Ben Franklin, and Montgommary(sp?) Ward. He wasn't stupid, he was a pioneer in the very field we are talking about: COBOL based payroll systems for large organizations.

    2)I did not mean to imply that smart people didn't work on COBOL, or that all of them ended up like my grandfather. I just wanted a further explanation of who he thought were being discriminated against. If you asked my grandfather, he would say its because of his age, rather than the lack of his qualifications. There are a fair number of COBOL programmers of his era that are his age. I'm not sure there is a very large population of COBOL programmers that are not able to find work, solely because of their age.

    3)Are you implying that I read the dummies books for Java and Databases? Ouch. that wasn't nice. Not sure what that has to do with the price of wheat in Thailand, but thanks for sharing your thoughts. Ironically, you remind me a lot of my Grandfather. When he starts losing an argument he switches to personal attacks on his opponents education and qualifications. Learn form his mistakes: don't become a bitter old man who hurts those who love him the most.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  12. those are wishlists mostly by Trepidity · · Score: 3, Interesting

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

  13. Re:Problem is not lack of programmers.... by krlynch · · Score: 5, Interesting

    I think what Arnold wants to do is a crock

    It's a question of whether the government of California even has the authority to pay people. The law in California, as ruled by the Supreme Court of California, seems to require what the Governor has ordered, and what the Controller is refusing to do:

    Though the 69-page Supreme Court decision [in White v. Davis] addressed many legal arguments, its conclusion was unequivocal. "State law does not authorize the controller to disburse state funds to employees until an applicable appropriation" - a state budget - "has been enacted," the court stated. Once a budget is in place, the employees must receive back pay. And to comply with federal law, the court added, during a budget impasse the state must pay hourly workers the federal minimum wage and those who work overtime time-and-a-half pay.

    http://www.mercurynews.com/ci_10005275?nclick_check=1

  14. Re:Old People? by popeye44 · · Score: 5, Interesting

    Well, I work here I am affected by this threat of minimum wage. Bleh.

    I can tell you the problem is this. They don't want to preserve or change the current system. "sure continued changes COULD be done to the old one.. but why?"
      They NEED a new one. The old one has served its purpose. Now take the payroll program and multiply by 100.
    That is how many of these programs and problems we have out there. I have a 15 year old sign program. It's sole purpose is to manipulate those fancy signs you see on the freeway. "slow down.. amber alert etc" This program was created by a student who left a few years later. Of course said student took the source with him and we've been stuck for 13 years making this dos program work on the varying versions of windows.

    Now a program can be purchased for 30K "per district x12" that would let us control these older sign controllers as well as the new signs.
      We can't buy it. It is never a priority to replace an OLD program that still sort of functions. In fact it's usually at the bottom of the needs/wants list. yet the state spends 2million to put CMS's "changeable message signs" every half mile in a fog area.

    This is roughly the same problem the controller runs into. He can use the old system. It doesn't matter who the controller is, When Davis tried to do the same thing the problem existed then. The system was not created for making these type of payroll changes. We don't hire cobol programmers. Heck we really don't have anyone coding programs any more. It's all web-dev and off the shelf applications. Guess what? We're in a hiring freeze as well. So it's not like we could hire anyone to do it anyways!

    So if you want to work for free and offer your expertise we do allow that. But if you want to keep all the source then no-thanks!

    --
    Inane Comments are Generously Disregarded
  15. Re:COBOL. by demachina · · Score: 4, Interesting

    I think it would interesting to see what the world would be like if all the state and federal workers were fired. Would things be better or worse? Would the economy collapse or enter a boom when the tax burden disappeared and we got the free markets the conservatives keep saying will solve all problems.

    People relying on government to support them would certainly suffer, social security and Medicare...gone.

    What would happen to all the weapons the military has laying around, would someone invade us or would peace break out all over when the worlds biggest and most aggressive country stopped being big and aggressive?

    If you still had local police would crime remain in check, though all the state and Federal prisons would be closed down?

    The interstates would crater but maybe that would be a good thing especially if the railroads picked up the slack.

    --
    @de_machina
  16. I'm here by Mycroft_514 · · Score: 4, Interesting

    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.

  17. Re:COBOL. by demachina · · Score: 3, Interesting

    "Meanwhile, crime would run rampant on the streets"

    I didn't say anything about disbanding local government and local police. They are the ones that stop crime. The state highway patrol would be the only thing that would be gone people see on a regular basis.

    I was just talking about getting rid of state and Federal government. The only issues I can see with crime are that A) local authorities would have to hold their own prisoners instead of sending them off to the state. Maybe communities would have second thoughts about locking people up for long periods for things like drug possession if they have to hold them at local expense for long periods. B) Criminals could probably move to new localities to avoid the law if there weren't state and federal wide crime databases and authority.

    People have existed with local government only, they could do it again. The only issue you would have is defense from other nations or other locales that can't live peacefully and coexist with their neighbors. I'm not sure it would be the anarchy you say it is unless there were things like food shortages. The conservatives assure us free markets will solve all problems so there should be no shortages, though you might have issues with currency without a Federal Reserve and Treasury.

    --
    @de_machina
  18. Re:COBOL. by CodeBuster · · Score: 4, Interesting

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

  19. Re:COBOL. by david_thornley · · Score: 4, Interesting

    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.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes