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.
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...
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.
...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.
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.
Its because of poor coding skills.
Convenient scapegoat there they have.
---- Booth was a patriot ----
From Wikipedia on California state controller duties:
* As the state's chief fiscal officer, acts as the state's accountant and bookkeeper of all public funds.
* Administers the state payroll system and unclaimed property laws.
* Serves on numerous boards and commissions including the Board of Equalization, the Board of Control, CalPERS and CalSTRS.
* Conducts audits and reviews of state operations.
I posit that he has failed to administer the state payroll system and as such needs to be canned and replaced. Part of administrating the system is making sure it is flexible enough to meet the demands of the California Governor.
I regret that I only have one mod point to give per post.
The rate the guy's firing people lately, you'd think they'd nickname him the 'terminator' or something.
Really though - this is a perfect example of modern conservatism: Destroy people's reliance on government by promising anything to be elected, then do absolutely everything you can to destroy everything that government does or provides. Soon, everyone sees politicians only as lying bastards (but still elects those who make the best promises), but no longer sees government as something that can actually help anyone do anything.
The end result is a society that distrusts everyone, and a private sector which can pick off opportunities from an enormous set of basic needs that are being unmet.
Government doesn't even need to be drown in the bathtub - indeed, it might be reborn in a different form if you did that. This way, you get to keep it in a permanant coma, feeding off of everyone's needs and desires and blaming generic government for everything you do.
Ryan Fenton
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!
I'll give $3 to the first person who can explain to me why on Earth you need to edit the software to change people's salary (Ok, I probably won't give anyone money even if you do come up with a decent reason). Even if they had to individually change each entry, it just doesn't make sense; if you put 100 people (seems like a reasonable number to me) working full time on the project in 6 months you have about 100,000 work hours. So they're trying to say it takes a half hour to change one person's salary? I don't care how antequated the system is, that is unnacceptable.
Somewhere, the current program is storing the salary data in some kind of file. Hire a high school CS student to parse the file, edit it, and save it back. I'm willing to bet a competent programmer could find some solution to this problem within a week. This is just the state controller trying to stick up for his employees; unfortunatly, he's too much of a wuss to do it the legal way and has instead turned to blattant lies that most people are too uninformed to see through.
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.
When all you have is a hammer, everything looks like a skull.
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 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.
A business does not provide services essential to the safety, health, and welfare of a population.
When you lay off a bunch of hackers who code website backends, or a bunch of fry cooks at the local fast food joint, the broader social implications are nill. When you lay off firefighters or hospital workers, it's likely more people will die.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
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.
alias 'please'='sudo'
People who argue this issue has a simple solution are code rookies and have no idea of the complexities involved with large enterprise systems. They are basing their responses on a few primary mistakes:
The ability to watch a screencast, install Ruby on Rails, and script a blog in a few hours is not equal to working on a complex legacy system.
The ability to conceive of a simple answer is not equal to understanding a complex problem.
The ability to access contemporary technologies does not mean that programmers from 30 years ago know less, were stupid, and failed to realize the choices and tradeoffs they faced.
The best programmers I have ever met are from the pre-PC days when they had to work through the complex issues of performance, data storage and memory allocation. Although now retired, many remain smart, resourceful, and reflect the best engineering skills our country has ever seen.
Whereas The government is too busy bickering with themselves to do their job.
Whereas The people of the state are harmed by the lack of a budget year after year.
We Propose that if a budget is not completed by the deadline, the previous budget is automatically re-enacted except Each legislator and the Governor get a 5% pay cut. During the period of the next two years the legislators may not raise their own pay.
They (the legislators)may only raise their pay again with the second budget they enact on time.
Here's my understanding of the issue: Schwarzenegger wants a temporary paycut for all 200,00 employees. He wants to set all their wages to minimum. State Controller says the change could take many, many months to make the change and reverse it.
Most people here are calling the controller a liar saying it can't possibly take that long. After all, people get salary adjustments everyday. Here is the problem: There are two ways to change their salaries: Manually and programmatically. Changing one persons' pay is easy because it is a manual change. Changing all 200,000 government workers is harder. You can either manually change all 200,000 people or change it in the code. The State Controller says the code is so old that this will be a problem. (1) No one really knows the business logic. (2) No one knows the code (COBOL) even if they knew the business logic.
Now, I don't know if it's gonna take 15 months to do, but I would outright call the controller a liar without know the underlying details.
Well, there's spam egg sausage and spam, that's not got much spam in it.
I think if Jurassic Park has taught us anything it's not to clone dinosaurs by combining ancient DNA preserved in amber with genes from Bullfrogs then put them in a high tech enclosure and bring a small, select group to view it before opening up to the public.
but I kinda like this guy.
This is exactly what republicans say they should do. Take a hard line against government waste. If the existing systems can't do the job, get new systems.
Also if the controller thinks that it will take as long to undo as it took to do (knowing when you are doing it that you will have to undo it), FIRE HIM AND EVERYONE WHO GAVE HIM AN ESTIMATE RIGHT NOW! This concept is so unforgivably wrong that for an engineer to not recognize that right off is virtually not possible (I expect this has been put forward a few times in this thread for just this reason).
If they actually wanted to update it using modern development methodologies, it probably wouldn't even be anywhere near as expensive as they have been quoting.
1 - Any programmer using any language could in less than 4 hours could write a program to first save then alter the files containing the employee's payrate. And then later restore the rate to its previous value.
It's not a pay rate change. It's a minimum pay issuance. People will get the rest of the money they are due later (if they can figure out how to do it correctly). It's better than not being paid at all as other states do, or never being paid if temporarily laid off.
2 - This does not require a COBOL program change, which by the way given the file layout I could write the program in 30 minutes or less and do it in COBOL, FORTRAN, PASCAL, ORACLE procedure or BASIC (maybe).
Your program will need to calculate the pay due on the original pay rate, and calculate the pay to be issued on the minimum rate. It then needs to record the difference in the database for later issuance as pay. Then the tax programs need to do similar for the tax reports to the IRS. The tax is first calculated on the minimum pay issued. When the back pay is done, the tax calculations now have to be done on the combination of pay due for new earnings, as well as the back pay issued.
This all has to be integrated into the existing payroll system. Otherwise you're designing a new system. This is not anywhere near as trivial as you make it out to be.
3 - the state has employed programmers in the last 2 years, none of which were for their COBOL skills.
Either upgrade the existing COBOL system to handle split payments like this, or migrate the entire payroll system to modern methods and modern systems (something they are starting to work on, but will take at least a couple years to complete even if a maximum budget for the conversion is authorized).
Slashdot readers deserve that you check out the facts before publishing such crap.
Slashdot readers deserve analysis by someone experienced in these complex systems running on legacy computers, and/or someone experienced in conversion of large scale complex systems from one platform to another, and the testing procedures involved in both.
now we need to go OSS in diesel cars
All of the "expert suggestions" in this thread and in TFA's comments section are ridiculous. Sounds just like "Dr." Bill Frist disgracing the medical profession by "diagnosing" Terry Schiavo from a videotape. None of the posters have seen the code and its gotchas, so no one is qualified to declare how dirt simple it must be to solve this problem.
COBOL doesn't have functions, it has "paragraphs" that are just glorified GOSUBs.
and then all the conservatives could go after cereal makers for encouraging canabilism in the same way they now go after video games for encouraging violence
-- Sex is the antonym of pringles. Once you pop it's time to stop.
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.