California Can't Perform Pay Cut Because of COBOL 1139
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.
i knew it (Score:5, Funny)
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
Re:i knew it (Score:5, Funny)
PWN3D YR PAYROLL.
I wonder if the guy who maintains the COBOL is sitting in an SF jail right now - he'll only tell the Mayor what the name of the right functions are..
Re:i knew it (Score:4, Funny)
Re:i knew it (Score:5, Funny)
In COBOL that's:
USE JOKE MISSING OVERHEAD SOUND(FWOOSH).
except that slashdot's too many caps lameness filter is also written in COBOL.
Re:i knew it (Score:5, Funny)
Thanks for linking to the Wikipedia article on Jurassic Park, I've never heard of that movie before. Or it's sequel. Or it's sequel's sequel. Or the books. Or the multiple theme park rides.
Re:i knew it (Score:5, Funny)
Re:i knew it (Score:5, Funny)
What about the cereal?
Going by an eBay auction of an old box of the stuff, the cereal pieces look dinosaur shaped.
:)
Personally, I'd make them human shaped so the kids could play at being dinosaurs and eat all the humans. You know that's what they'd really want
Make me a sandwitch (Score:5, Insightful)
alias 'please'='sudo'
Re:i knew it (Score:5, Funny)
They need to update to more advanced frameworks. Like COBOL on Cogs.
Re:i knew it (Score:5, Funny)
> They need to update to more advanced frameworks. Like COBOL on Cogs.
How about Mono on Monorails?
Haskell on Handrails?
BASIC on Beams?
Python on Pillars?
C++ on Conveyors?
GRASS on Girders?
Scheme on Scaffolding?
Lisp on Lintels?
REBOL on Rebar?
Assembly on ...er...
Re:i knew it (Score:5, Funny)
Python on a Plane
COBOL. (Score:5, Insightful)
Re:COBOL. (Score:5, Insightful)
Re:COBOL. (Score:5, Insightful)
Re:COBOL. (Score:5, Funny)
No, the problem is that someone put a T-800 series Terminator in charge of California!
All the state's COBOL programmers have to work around the clock just to keep that early-80's piece of shit working.
Re:COBOL. (Score:5, Informative)
Re:COBOL. (Score:5, Insightful)
no - the problem is that no one wants to be paid minimum wage to program COBOL
No, the problem is CompSci snobbery and VERY poor textbooks that went thru all sorts of contortions to be GOTO-less.
COBOL-74 had excellent capabilities for creating very structured, COBOL-85 even more. And "88" variables are just wonderful for decomplicating hairy IF statements.
Re:COBOL. (Score:5, Insightful)
I don't think the problem is in finding programmers who know COBOL. COBOL doesn't take that long to learn, and any decent programmer can pick it up, even those willing to put up with minimum wage.
The problem is most likely in understanding and coping with a huge and antiquated accounting system, which is probably poorly documented and commented, and which has had tweaks and mods jammed in every year to cope with updated financial and legal requirements.
Re:COBOL. (Score:5, Interesting)
Having used both FORTRAN 66 (it didn't get decapitalized until Fortran 77) and COBOL 77 extensively, they're very roughly equal in structure. COBOL had the PERFORM verb, in all its various forms, and the paragraph system, which introduced some structure to the language. FORTRAN had functions.
The most frustrating thing I found about COBOL was the inability to use functions in any real sense. There were analogs to FORTRAN subroutines (ENTER "FOO" USING BAR, BAZ.", if I remember the syntax correctly), but not functions. There was absolutely no way to take some common operation and wrap it in a function.
Nor do I understand what you mean about the textbooks. COBOL 77 can be written with very, very few GOTOs, in very specific locations. You need them, technically, when using the SORT verb and either feeding data into the sort or taking it out in the program itself (not using USING and GIVING to sort files directly). Using them only in that case was the best way to write COBOL 77. There were no contortions.
Nor were "88" variables wonderful unless you were trying to do exactly what they were good at. They allowed you to name one conditional name to represent possible values of one variable. In any reasonable language, you'd do it with a function, but not in COBOL 77.
I'm not familiar with COBOL 85, having managed to escape from COBOL programming without encountering it. I'm happy to say I've been COBOL free since 1997. I was having a distinct feeling that, once having used the COBOL side, forever would it dominate my destiny.
Now, here's a question: how old are some of those programs? Do you have any reason to believe that they all were written in good COBOL 77 or later? If, as somebody claimed, some of those date back to Vietnam war days, those were in an earlier version of COBOL, one even crappier than 77.
Now, there are reasons why I'd touch COBOL again. Duress. Kidnapping my son or wife and holding them hostage for some COBOL work. Extremely large sums of money. A drink from the Fountain of Youth. That sort of thing. I wouldn't do it for minimum wage. I'd rather flip burgers.
For those of you youngsters who've heard of COBOL or glanced at it, and think you hate COBOL, think again. You can't possibly hate it like I do. You can't really hate something you don't know intimately.
Re:COBOL. (Score:5, Insightful)
Sorry, I wasn't suggesting that anyone and everyone should learn or approach COBOL without reason; I was addressing the mindless ridicule of COBOL, the comments that make it clear that many look down on COBOL and wouldn't want to go near it even with reason, most of them without even understanding it.
COBOL is easy, it lends itself to explanatory naming, and the constructs are rarely cryptic. The mainframes for which COBOL is almost an assembler do decimal arithmetic and implement machine instructions for most COBOL verbs, including the MOVE to an edited numeric that involves formatting the number with things like currency symbol, leading spaces or asterisks, commas, decimal point, etc. The main complaint I have heard from those who have actually worked in COBOL is that it is verbose. That was a more valid complaint in the days of punchcards than it is in the day of editors that make it easy to work with verbose languages.
My first computer was a Bendix G-15D, my second was a CDC 160A, then a PDP-1. Today I still work with a certain kind of mainframe and compiled BASIC in addition to COBOL 74 and 85. Oh yeah, I arranged for the legacy mainframe to be virtualized and run on modern servers, and we have 60 of the new ones installed in ten countries, running all manner of businesses, with more always in the sales pipeline.
We who work with this stuff and actually get the business of business done while consulting weenies propose multilanguage tinkertoys while having no clue about the business, laugh at today's typical project where some of the languages and tools become obsolete before the project is even finished.
I know of a COBOL shop where half a dozen long-term, competent people tend a repository of 50,000 programs that they wrote, 37,000 of which were found to be in active use in a 30-day audit, and where that repository can be drawn on by people who understand both the code and the business to produce new apps in times that would make today's trendy programmers' heads spin.
TFA is a joke. It says more about the organization that owns the code than it does about the language it's written in. Any business programmer reading that they can't modify pay in a reasonable time would conclude that they can't find their way to the bathroom or parking lot, either.
Re:Ben, (Score:5, Insightful)
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
Re:COBOL. (Score:5, Insightful)
The problem is that the government only sees the option to pay dozens of old programmers to manipulate the COBOL code instead of paying one hacker for a day to write a Perl script to hard wire all the salary data in the database to minimum wage.
If that politician can't think of a creative solution to a problem instead of proposing that it would take a year and a quarter to do something simple, he should step aside.
Instead, though, we're going to line up in droves to put people just like him in charge of our health care.
Re:COBOL. (Score:5, Interesting)
The problem is that the government only sees the option to pay dozens of old programmers to manipulate the COBOL code instead of paying one hacker for a day to write a Perl script to hard wire all the salary data in the database to minimum wage.
It's probably not that simple. In fact, it is likely that the COBOL payroll system is using flat files on the mainframe or else some old proprietary mainframe database that doesn't even support ODBC (because it predates everything in use today) and is only accessible via terminal or terminal emulation. No offense, but your glib attitude concerning Perl scripting tends to suggest that you haven't had to work with very many legacy systems or at least not mainframe legacy systems (they are finally getting rare now, but they are still concentrated in government and large insurance companies who were the among the first users of computer technologies when they became available and widespread in the decades following WWII). If this type of capability was not built into the system as an option in the first place (i.e. temporarily alter payroll) then it will probably be a royal PITA to accomplish. In fact, there is every reason to suspect that because payroll is (generally) such a well defined problem space that this system is even more rigid than most in its design assumptions. Incidentally, this is why the modern field of software engineering exists. If it were possible to develop flexible and powerful systems via hacking and ad hoc scripting then we never would have delved into databases, OO design, and functional analysis in the first place (and if people could manage themselves then we wouldn't need any managers). So it is either manage the payroll manually (which the system was built to handle because managing it by hand hasn't been feasible for decades now) or come up with some other system which doesn't involve the automatic payroll processing system (i.e. some other political alternative).
Re:COBOL. (Score:5, Informative)
I'm surprised by the number of people posting who seem to have no experience working with legacy IT systems (COBOL or otherwise). Here's a quick primer:
First of all, there is generally no system architecture in legacy contexts. Rather, a set of interdependent applications will have grown into a system over time.
COBOL applications in particular are not built on RDBMS concepts and changes to back-end data must be made programatically or disaster is likely to ensue. In many cases, no living person will know all the tables that should be changed to update a particular value safely.
Here, the governor wished to cut the salaries of a broad category of employees which probably has no representation in the system. You can't just do a "update pay set rate='crap' where job_type not like '%critical%'" sort of approach. You would probably have to go through and re-classify many thousands of job types one-by-one to a new pay grade code, except that this would screw up benefits issues that weren't part of the pay cut.
To subsequently reimburse back pay, as the governor promised, you would have to keep track of the old pay grade in a system that almost certainly does not track history. Then you'd have to build in a method for accounting for back pay.
Bearing in mind there are no test suites for these changes, it's easy to believe it would take a while to implement them.
Re:COBOL. (Score:5, Funny)
More accurately, to program in cobol, you wouldn't have to pay me a salary, you'd have to pay compensation for mental pain and anguish.
Re:COBOL. (Score:4, Funny)
If I was in charge of programming the new pay system, I wouldn't be too worried about me making minimum wage...
Re:COBOL. (Score:5, Interesting)
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.
Re:COBOL. (Score:5, Insightful)
You basically described a full government collapse. At first, there would be a power vacuum, and all these different factions would fight to fill it. Then, as one faction takes power, it will most likely rule with an iron grip until the other factions have been completely eliminated. By the time they are though, the fear that there are other factions trying to eliminate those in power will be completely embedded into domestic policy, hence creating a totalitarian regime.
Meanwhile, crime would run rampant on the streets, citizens will arm themselves to the teeth for protection, businesses will get looted, and all-around lawlessness would prevail. Without government to regulate firearms (I can't believe I said that), local police force would become useless and eventually dissolve, leaving bands of armed civilians to patrol the streets and dish out the law.
OTOH, on the off-chance that a socially responsible (read: non-violent) group takes hold of the country, a lot of government jobs would get resurrected. Depending on the corruptness level of the group, these jobs would either serve to siphon (sp?) off tax payer money into the pockets of bureaucrats, or would be streamlined more efficiently until a more corrupt group could do the former.
So, your two options are either violent lawlessness, or corrupted rule -- please don't say that's what we have now; I urge to look at government corruption in other countries, especially ones that have gone through a government collapse before uttering that statement.
In summary, government collapse: bad!
In soviet russia... (Score:5, Informative)
Re:COBOL. (Score:5, Insightful)
"The national defense is one of the few things the federal government does today that actually has a constitutional basis. I don't think anyone suggests getting rid of our military. It's one of the VERY few things our government has done that actually WORKS (when liberals aren't busy undermining it and/or its mission, anyway)."
I think that is seriously open to debate. For one things between the defense and intelligence establishment Afghanistan and Iraq wars what is the "defense" budget is up to $600-700 billion if you actually counted everything. This seems more than a little excessive for "defense" which it probably as much as the entire rest of the world combined spends on defense. Its also a LOT of money not going to any productive use.
When was the last time our National Defense actually did "defense". Its been playing offense in places that have nothing to do with the U.S. including Iraq, Vietnam, Panama, Grenada and Korea, Western Europe in World War I, Spanish American, Mexican wars. The only wars that strike me as being "defense" are the Revolution, 1812, World War II though the U.S. provoked Pearl Harbor with an oil embargo on Japan, and Afghanistan. Afghanistan would have been self defense but the Bush administration actually failed miserably in stomping Al Qaeda and the Taliban and instead let them move to the tribal areas of Pakistan where they've been living happily ever since, while we occupy Afghanistan to no good effect.
Re:COBOL. (Score:5, Insightful)
The national defense is one of the few things the federal government does today that actually has a constitutional basis. I don't think anyone suggests getting rid of our military. It's one of the VERY few things our government has done that actually WORKS (when liberals aren't busy undermining it and/or its mission, anyway).
Really? There's a constitutional basis for using our military to murder democratically elected leaders in order to install brutal right wing thugs if they're friendly to certain powerful corporate interests?
How exactly does that translate as "defense"?
The most laughable thing is that you declare people who dislike that type of massive unconstitutional corporate welfare to automatically be "liberals" (which, of course they are according to what that word actually means although that's not what you meant by it) and then claim that by expecting the military to actually do their fucking job instead of being little besides a corporate hit squad that they're "undermining" the mission of the military.
That is, of course, complete nonsense.
Your idea of the military's mission is in direct contradiction to what it actually is. You also demonstrate your contempt for a free society and your love of militant fascism, corporate welfare and huge government.
I mean, seriously, at least try to sound sane for a minute.
"Waaaaaa the eval liberulz are undermining the mission of the military by expecting it to defend our country instead of attacking other countries for the profit of a few scumbags". That is what you said, and it's both false and utterly disgusting.
Please keep your huge oppressive government wet dreams to yourself, or at least have the basic decency to be honest about your contempt for small government and the idea of a free society.
Re:COBOL. (Score:5, Interesting)
If you ask me, this is all payback for the original design of COBOL. If they had just extended FORTRAN and required any one interested in looking at code to have a 3rd graders grasp of math, California wouldn't be in this position and existing COBOL programmers wouldn't have to lie about their development language when talking to other developers.
Actually, this story is about how California can't screw their state workers to make a political point, right? I guess COBOL wins after all, but they really should have made the syntax a little more like befudge.
Re:COBOL. (Score:5, Funny)
It was the Complete Idiot's Guide, thank you very much.
Re:COBOL. (Score:5, Interesting)
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.
Re:COBOL. (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.
Re:COBOL. (Score:5, Insightful)
Sure they do. When I do a job search for IT positions, nine out of ten are for "senior" level positions. Nobody is hiring junior or just normal engineers. Seniors only.
Usually "senior" means 5+ years experience with some piece of technology invented six years ago, though.
So to get a job in IT, you can't be old, you can't be young, and you must have started working with every one of the latest technologies professionally on the year it was invented (before most businesses even used such technologies).
I can't believe anyone can find a job with those requirements. Perhaps the mass of positions advertised these days are just a ploy to allow more H1Bs and outsourcing.
Re:COBOL. (Score:5, Insightful)
They lie in their requirements, you lie on your resume, balance is achieved.
Re:COBOL. (Score:5, Funny)
You made that post that from work, didn't you?
those are wishlists mostly (Score:4, 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".
Re:COBOL. (Score:4, Funny)
No, the ideal cadidate is still a 22 year old college graduate.
All you need is 25 years of Java and .Net experience to back those credentials.
Re:COBOL. (Score:5, Insightful)
That's a global problem. Companies want people with 5+ years of professional experience with technology that has been out for 3- years, flexibility (both in hours and location, meaning you work 48 hours a day, 8 days a week and have no problem being shipped off to their office in Abu Dhabi), can poop out perfect code while writing reports in at least 3 languages, have a masters and at least 10 years of professional experience but ain't older than 25, and don't ask for more than 2500 USD a month, tops.
And then they go around and lament that we have not enough IT people. There are IT people on the market, but you have to pay their value and you have to step down from unrealistic expectations.
I can code COBOL (Score:5, Insightful)
I can code in COBOL. It seems unlikely, however, that Califorina can afford my fee.
Re:COBOL. (Score:4, Funny)
so, they passed the buck to you :)
really, the reason nobody can find old cobol programmers to do the work is because they know the mess they left behind and they won't touch it with a 10' pole.
SAP? (Score:4, Funny)
Sorry, they already have a budget crisis.
Re:Old People? (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!
Programmers? (Score:5, Insightful)
Oh, wait; you don't. This is just more politics...
Re:Programmers? (Score:4, Insightful)
Why would you need a programmer to change people's pay in the system? Oh, wait; you don't. This is just more politics...
Job security? They(the bureaucrats) didn't know that it could be done without a programmer, so the programmer did it so they'd need a programmer.
Re:Programmers? (Score:5, Insightful)
I've seen how government applications are coded. The majority are either built by someone that can program but not engineer software and the rest are built by the lowest bidder. I find it perfectly feasible that a simple change will break the entire system.
Re:Programmers? (Score:5, Funny)
Hell, where I work now we're having problems because a particular CBT REQUIRES a floppy disk. Nobody can get the money to have the CBT code changed. The new computers don't come with floppy drives and the old computers are required to be taken out of service. Emulation software can't be used because it won't pass the "approval process" and putting a floppy drive into a new system voids the maintenance agreement.
Re:Programmers? (Score:5, Informative)
Also what is funny here is that dropping the wages wont get very many state workers to quit, they are so entrenched with their vacation time and specialized skills that they WONT go anywhere, they just like to bitch about it. Your average gov't worker is just that, a person who couldn't move on, every once in a while you run a cross a bright star keeping the mess together but they never amount to much as they leave after a couple years anyway.
I have suggested many times that entire departments need to be fired, halved and hire new employees with 20% raises. There is so much bloat in personnel that it is insane, most of the shops have one guy doing the work for 10 people anyway.
Re:Programmers? (Score:5, Insightful)
Re:Programmers? (Score:5, Insightful)
Yes, but I would need a high degree of evidence to show me what a pay rate change would require reprogramming.
And I work with a COBOL system.
Re:Programmers? (Score:5, Funny)
I work with a COBOL system
How soon can you get on a plane to California?
Re:Programmers? (Score:5, Insightful)
My honest guess?
There's sanity checks on the data-input screens that prevent you from entering NaN, a negative number, etc, and somewhere along the line somebody added a sanity check to make sure the persons new rate was >= to existing rate. Maybe to prevent a misplaced decimal or something.
And the "6 month solution" that they came up with was maybe to re-enter the employee data into a new record, with new rate, etc.
But really, if I was tasked with this, I'd want a programmer, too. It would be a lot easier to mod these salaries in batch than one-by-one.
I don't either of these require a team of COBOL wizzards as they're making it seem. Surely in the most populous state in the Union there is a single COBOL developer that has touched this payroll system before and can get into it.
Re:Programmers? (Score:5, Insightful)
Seems to me the people who should get their pay cut are the governor and legislators. They're the ones who haven't produced a budget.
Don't give them back pay either - every day there's no budget is another day they lose a payday - forever. That might encourage them to get their job done on time.
Re:Programmers? (Score:5, Informative)
The Governor refuses his salary, so that won't work.
I suspect the legislators are wealthy enough that their per diem cut wouldn't be too much hurt.
Now what *would* work...you know how they choose a pope?
Re:Programmers? (Score:5, Informative)
Capping their per diem might hurt them more than removing their salaries. They get both. As of 2007, most legislators receive ~$113,000 per year, and then $162 per diem for each day they're in session (one or both may have gone up this year). Taking away their perks seems to get them moving faster than taking away their salary.
The major fault of the California system is that there is no real changeover. The system is so rigged that it's virtually impossible for any state legislative or House seat to change parties. The state Assembly and Senate are locked in to provide exactly (2/3 - 1) vote for the Democrats, leaving the rest to Republicans. This prevents the Democrats from having complete power (which would result in the populace demanding a new redistricting), but means they only need to get one or two Republicans to cave in to get what they want. This has allowed California to build up a 40% increase in revenues in five years, while at the same time the population increased by 4%, the Consumer Price Index increased by about 19%, and spending increased by 44%. Had the state been capped by the growth in population and CPI (or some other inflation rate), it would be spending only 24% more than it had when Schwarzeneggar was elected, and would have had plenty of money in a rainy-day fund to cover the more than 10% shortfall that it now has.
On top of this, the term limits that were voted into place (including by me) have turned out to be a colossal mistake. The legislature was once a fairly cordial place where most people settled into their seat, keeping constituents happy for a couple of decades, a few finding some ambition and targeting statewide or national office; It's now become a staring contest of ideologues, where no one budges on anything because it affects their chances to rotate into the other house or on to a more competitive office. It used to be that legislators had to learn to compromise because their opponent wouldn't just be there next year or next term -- they'd be there 10 or perhaps even 20 years later, and political memories can go back a very long time.
The current system has survived court challenges, but it's expected that without a new process brought in early, the 2011 redistricting is going to get contentious and end up in court for a drawn-out battle before the court imposes its own solution.
Re:Programmers? (Score:5, Interesting)
It's clearly 1960s and 1970s code. It probably has the pay rates hard-coded in, rather than using a database, because back then memory was expensive and logic had to be compact.
Re:Programmers? (Score:5, Insightful)
Sometimes you really do. Often, with really old systems like this, data that ought to be in tables is hard-coded in the system, sometimes in really obscure places. Or the code may only support pay *increases* because nobody thought there'd ever be a pay decrease for a government employee. (Seriously.) If you've ever worked on a project to replace an antiquated system, especially for a utility or government entity, you'd be shocked at what you saw. It's amazing that anything works at all.
Job security? Incompetence? Micro-management? Probably a combination of all three.
Re:Programmers? (Score:5, Interesting)
Yep I remember my first programing instructor explaining the idea of sentinel. You pick a number that would never come up to mark the end of data input. like 99 for a year. This was only 83 so 99 didn't seem that far away.
When I asked him about that his answer was.
Nobody uses software for that long.
You know I never used sentinels like that in any of my programs after I finished that class. I have to assume that it was a standard method back in the day like using i,j,k for integers in loops. "Fortran defined those as integers be default"
Re:Programmers? (Score:5, Insightful)
A guess: it's not changing the pay that requires a change in the code. It's keeping track of how much pay each employee is then owed at the end of the political fight.
You see, they're not just going to unexpectedly cut their employees' pay. They're just going to take a short, interest-free loan from them without their consent. How merciful of them.
It's no wonder governments so often get the worst pick of employees. Why would people with choices stay when they could at any time used as political pawns like this?
Great programming job! (Score:5, Funny)
The programmers of California have created the greatest payroll application of all time. You can only raise salaries, not lower them. Ingenious!
Wrong! (Score:5, Funny)
They created the worst payroll application of all time... it takes 50% longer to raise them back!
rule #1 (Score:5, Insightful)
Read in an Arnold voice: (Score:5, Funny)
I need a COBOL programmer, who is your daddy and what does he do?
Re:Read in an Arnold voice: (Score:5, Funny)
Uhh... (Score:5, 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.
Re:Uhh... (Score:5, Insightful)
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 you pay minimum wage for labor... (Score:5, Insightful)
Problem is not lack of programmers.... (Score:5, Insightful)
Re:Problem is not lack of programmers.... (Score:5, Insightful)
The problem is this person is lying. Seriously, wages change all the time; probably at least once a year people get reviewed and get raises; you're going to tell me there's a 9 month backlog?
And why on earth would it take 50% longer to raise them back up again? That makes absolutely no sense.
There's only one obvious conclusion: the state controller is lying.
Re:Problem is not lack of programmers.... (Score:5, Informative)
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:Problem is not lack of programmers.... (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 [mercurynews.com]
Back pay (Score:5, Informative)
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].
Re:Problem is not lack of programmers.... (Score:5, Informative)
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?
LOL (Score:4, Funny)
This is a delicious irony here. It's great. It's almost enough to coin a phrase "Don't attribute reprieve from malice to that which can be explained by incompetence."
Take ours (Score:5, Funny)
We have about 20 Cobol programmers. We still run CISC and what have you. You can have them. Cheap.
Sounds like B.S. to me (Score:5, Insightful)
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.
Re:Sounds like B.S. to me (Score:5, Insightful)
Yeah, but do they still have the expertise in house to make any changes?
I've known organizations that had to pull people out of retirement (at 5x their old salary) to maintain old mainframe systems -- for the simple reason that there isn't anyone else left who knows how to modify the system, and if you don't throw cash at the old-timers, they'll laugh at you and go back to their golf game.
If it works, great. If it stops, some companies simply don't have anyone left who can fix it. And then you're SOL.
Well, if it's a Vietnam-era bit of software (as TFA indicates) then it's quite possibly an implementation problem. What we currently consider to be "best practices" are likely to all be younger than the code in question. In fact, most of them are probably gleaned from systems just like this.
I wouldn't really be surprised that a system for "which the state made a large investment decades ago and has been keeping it going the last few years with duct tape" isn't really easy to cajole along.
I've been involved in projects to replace legacy applications -- it's sometimes not possible to actually give them all of the functionality because nobody has a detailed list until someone comes along and says "oh, what about feature X, how do I do that?" Then you see a room full of people looking stunned and asking "why is this the first we're seeing of this??". Often, it's a feature which is so fundamentally incompatible with everything else you've been told -- "X can never happen. Oh, except there."
Never underestimate just how bad software of that vintage can be, and just how hard it is to fix or replace it.
Cheers
Its not because of COBOL (Score:5, Insightful)
Its because of poor coding skills.
Convenient scapegoat there they have.
Should just fire everyone (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?
How will they pay hospital employees? (Score:5, 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.
Re:Should just fire everyone (Score:5, Insightful)
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.
Time-consuming? (Score:5, Funny)
Not as lame as people are thinking... (Score:4, Insightful)
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!
Re:Not as lame as people are thinking... (Score:5, Funny)
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.
Re:Not as lame as people are thinking... (Score:5, Informative)
Ob. Cobol quote (Score:4, Funny)
"A computer without COBOL and FORTRAN is like a piece of chocolate cake without ketchup or mustard." --John Krueger
The problem is.. (Score:5, Interesting)
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.
COBOL: The Undead Language (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....
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.
Obligtory COBOL joke (Score:5, Funny)
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."
Controller is Right to Dis-obey an Illegal Order (Score:5, Insightful)
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.
Re:Controller is Right to Dis-obey an Illegal Orde (Score:5, Informative)
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).
The real problem is ... (Score:4, Informative)
... to get the system to issue payroll checks at a $6.55/hr amount, including doing the correct calculation based on reported hours, including the 1.5x factor for overtime, do all the correct tax calculations, generate all the reports like what goes to the IRS, print the checks ... while keeping (but ignoring, for now) the original pay rates in the database. This change in logic would require probably several hundreds, if not thousands, of lines of computer code in hundreds of modules, just to be sure everything got processed in exactly the correct way uniformly everywhere. And then there is testing. A lot of testing is needed to make sure there no parts of the system were overlooked, and each changed part was done correctly.
You might think it is as simple as changing "MULTIPLY HOURS-WORKED BY PAY-RATE GIVING GROSS-PAY." with "MULTIPLY HOURS-WORKED BY 655 GIVING GROSS-PAY." but I can assure you it is far, far, more complex than that.
Alternatives that are also unworkable for a quick change include literally changing all the pay rates in the database, then changing them back again later. Substituting a temporary database is also unlikely because this is likely a massive database that contains far more than just names, SSNs, and pay rates.
And are they even sure they have all the source code to all the modules in the system? Do they even have the machine capacity to do several dozen payroll runs in just a couple weeks time just to complete the testing?
I'm here (Score:5, Interesting)
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.
Wanted: Computer Consultants: $6.55/Hour (Score:5, Funny)
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.
Re:can't find COBOL programmers? (Score:5, Insightful)
the kind that you can get for minimum wage
Re:This state controller needs to be fired (Score:5, Insightful)
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.
Re:he's not an attorney (Score:5, Informative)
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:I call BS... (Score:5, Insightful)
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.