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.
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
There are plenty of COBOL Programmers out there, the problem is nobody in IT wants to hire old people.
Why would you need a programmer to change people's pay in the system?
Oh, wait; you don't. This is just more politics...
The programmers of California have created the greatest payroll application of all time. You can only raise salaries, not lower them. Ingenious!
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.
I need a COBOL programmer, who is your daddy and what does he do?
How amazed would you be to suddenly find that you just forgot what I wrote and you needed to reread my post.... again.
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.
...expect minimum wage results.
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.
We have about 20 Cobol programmers. We still run CISC and what have you. You can have them. Cheap.
In a world of acronyms, the words are the real victims.
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.
They created the worst payroll application of all time... it takes 50% longer to raise them back!
Stupid sexy Flanders.
Its because of poor coding skills.
Convenient scapegoat there they have.
---- Booth was a patriot ----
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
"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.
Don't forget, the good governator is probably payed by that system too and you know HIS pay ain't going down.
The Governator is getting paid an annual salary of $1 a year. If his pay went down any further you'd probably end up with a divide by zero error somewhere.
Hire a Linux system administrator, systems engineer,
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.
What kind of programmer can't learn a language like COBOL
the kind that you can get for minimum wage
I can code in COBOL. It seems unlikely, however, that Califorina can afford my fee.
www.wavefront-av.com
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.
I posit that you were too f'ing lazy to bother reading one complete paragraph on the front page which plainly stated that the state hasn't yet found the funds or resources, in 10 years of trying, to upgrade it.
If your understanding of how government works is so limited that you didn't know that the Controller can't spend the money to upgrade the system without Legislative budgetary approval signed off on by the Governor, do us all a favor and stay home next election day.
FreeSpeech.org
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.
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.
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....
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.
Well, code is code, but I would caution that:
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.
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.
AZspot
Because you aren't changing their salaries. You are paying them a partial salary for the duration of the budget crisis and then back paying them all that remains.
What do you do about health insurance payments -- what if their current options cost more that they are being paid.
Do their 401K deductions and the resulting match go into their account now?
There are a bunch of questions that come up when you start dealing with HR issues. Nothing is ever simple there.
Don't get me wrong I support Arnold's effort to cut state spending to try and lower their defecit. But this might be more difficult to implement than it might seem at first glance.
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."
from the to-stupid-for-words dept.
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.
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
alias 'please'='sudo'
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.
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.
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).
now we need to go OSS in diesel cars
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: $%##@%^$%@
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.
molmod.com - computing tips from a molecular modeling
Parent should be "informative". The governor is actually getting a pay of $1 a year.
Thank you, symbolset. And I respect your opinion but I disagree. There's actually a parallel world thing going on here. You live in one, I live in another.
I started programming just as the minicomputer revolution was breaking out in the early 1960s. I spent some time around the PDP-1, which was used by a major international communication carrier for doing message switching. I worked for a time on the Burroughs B300, a business computer that worked directly with data in the BCD char set, the forerunner of ASCII, and did decimal arithmetic directly on fields of digits. Tools were primitive and I was attracted to building tools.
In the 1970s I personally developed the core communications operating system for a financial information service company, in assembly language, on a proprietary 16-bit minicomputer. I helped them recover from 2% market share in the industry they had invented to over 60% market share. While there I designed and built what may have been the first caching disk controller, wrote numerous neat utilities, and specified what may have been one of the early proto-LANs to interconnect up to 16 of our machines at DMA speed. I also learned the power of small team development where everyone knows their stuff cold and can complete each other's sentences in an environment free of politics.
It wasn't until the mid 1980s that I came to know a certain type of mainframe. I did about 50/50 systems and utility development and business applications, first in compiled BASIC, later in COBOL and a proprietary 4GL/database. That segment of the mainframe world peaked in the mid to late 1980s and began a decline brought on by a combination of overzealous PC weenies and slow movement by all mainframe and mini manufacturers to integrate PC technology.
The user community in which I worked shrank seriously through the 1990s but it wasn't until after Y2K that consulting business began to drop off for me. I switched my attention to a package that allowed moving COBOL apps essentially unchanged to Unix on RS/6000 or HP. The speed was great but there were too many wrinkles, and much of the beloved mainframe environment was missing.
In 2003 I took steps that resulted in the virtualization of my favorite line of mainframes, and in 2004 co-founded two companies to promote the technology. In early 2005 we signed a multi-year contract with the mainframe manufacturer to bring a new, virtualized generation of their systems to market. By that time all their legacy stuff was showing its age and they had nothing to offer their customers as a way forward.
In late 2005 the first of our systems was sold. By then we had settled on the Dell PowerEdge 28x0 machines running Linux and spec'ed out with the fastest Intel CPUs and other parameters. We were able to offer performance 50% greater than the fastest of the legacy mainframe models. In 2006 we adopted the PowerEdge 29x0 machines and faster, better Intel CPU chips and were able to offer twice the performance of the legacy top end. This year we're moving up again and can offer 220% of the legacy top end performance.
Things progressed, and we now have over 60 sites in ten countries, all happy customers, most of the systems being the enterprise processor, a few being subordinate in large conglomerations of multiple platforms, and a few used only for archival storage of and access to data.
It is typical of our customers that they built their own applications over the course of 10, 15, 20, even 25 or more years. The applications do precisely what they want, they are stable and nearly bug free, and they have competent staffs of programmers. Most use COBOL, a few use RPG, and one notable case that has not moved to our technology has apps written entirely in assembly language and 1/10th the processing cost that is standard in their industry.
Our virtualized mainframe is the perfect solution for these folks. It is 100% seamlessly compatible with all their software. No data or programs have to be converted, just moved into the
Look at the bright side: there's always seppuku.