A place to discuss Joel on Software. Now closed.
This community works best when people use their real names. Please register for a free account.
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot
The Old Forum
Albert D. Kallal
My company uses a crappy spaghetti code ASP system that's prone to SQL injection (it's a well known bug, that's never been fixed) bought from a 3rd party. IMO it's the root of all of their problems with their business.
My boss is now wanting to upgrade to the new version of this same crappy system, which from what I can tell (they have an open source "lite" version for download) added some minor features but hasn't changed anything (it's still spaghetti code and does no error checking).. I try to tell him that this is a bad move because the system itself is cheap garbage and has a ton of bugs, but he's desperate and won't understand this. He needs a scalable system but we have custom modules that would need to be entirely rewritten to be effective, but there's no resources at all to do this.
I feel like I'm in a downward spiral where things won't ever get better as long as we rely on this system, but the boss won't be convinced that this system is wrong for our business and hurts us more than it helps, and he's dead set on buying an upgrade of it to "fix" things, when I know it won't fix anything.
I care because I have to maintain the steaming pile, most of which is honest to God barely intelligible code with no indentation or decent naming. He'll ask me for stuff and get angry/upset when I find out it'll take longer than he thinks (not that he's a programmer at all) because I have to slog through a sewer to find out what things are supposed to do. It stresses me out and gives me health problems because I'm overworked and underpaid, but I can't afford to just up and quit as much as I'd like to, or I'd lose my place to live and my car and everything else.
FWIW My resume is updated and is out there, but with the economy I'm not sure anything will bite.
OP, seems like you missed the first reply. let me type it again: life is too short =]
victor a.k.a. python for ever
Friday, May 29, 2009
...and a third time: Life is too short.
As I read your description, it sounds very similar to my last three years at BigCo. I felt trapped, like I had no realistic options, that my attempts to make thing better were uselesss, etc. You have two choices, really: accept that this *is* your reality, or leave. A far distant possibility is that things willl get better in situ.
Choice one means constant stress, poor health, maybe a stroke (happened to someone I worked with at another employer-guy was worried that his performance was gonna get him laid off. stroking out in the lunchroom 'saved' him from that, but...). Choice three is like playing the lottery-it might hit bu the odds are long.
Thing is, it's **your** choice.
I think this story has been posted before by several different folks. Either accept your fate, fix the problem or get a different job. Sounds like fixing the problem is out of the question.
Friday, May 29, 2009
You have to see things from your boss' perspective and work within his framework.
The goal is to make payroll, keep the money coming in, increase the value of the company so he can one day retired, etc. He probably has a ton of projects he thinks will get him closer to those goals. Updating some spaghetti code and making it shinier on the inside doesn't help him at all (that he can see). Keeping an employee's feeling of 'right' appeased is not high on his priority list.
If you can find an alternative product/technology that will be faster or cheaper (helping him achieve his goals), and free up your time so you can work on more of his other projects (his goals) then try that approach. Maybe sell him on money gained through failed transactions?
the thing is that he knows it's spaghetti code and the root of the problem - he's just not willing to invest the resources in fixing it properly (and he knows what "properly" means), he's trying to patch it up without investing the time and effort in *fixing* it.
>he's just not willing to invest the resources in fixing it properly
Exactly. And why doesn't he want to invest? Assuming he's reasonably competent (he is paying the bills right?) there is a reason. I'm sure he'd like a highly performant, solid solution. But there is a cost. He's weighing that cost against other things. Those other things are apparently more important from where he's sitting. Try to understand it from that (his) point of view and you'll become more of a business partner and asset rather than the whiny programmer (and I don't mean that in a durogatory way -- just trying to pull you up from the code and make you consider how you might possibly be viewed in the larger context).
It's hard. I was probably into my career at least 5 years when I finally had the epiphany that the code doesn't really matter -- it's the people. Another 5 years and I finally saw the process. 5 more years and I started running a small business and REALLY had my eyes opened. The code is a utility/tool to enabling other things. Not much different from the electricty in the wall. Figure out how to make those 'other things' happen and your boss will worship you.
give him numbers...
how long does the new system cost? Also, who will be responsible for testing and integrating the new system?
how long will it take you and a couple of programmers to write something internally to fix this?
My point is that a vendor app may "look" like it saves money. But, if you add in all the time spent managing the vendor, then are your really saving anything?
Be careful what you wish for. If you do convince him to go with a whole new system it will either be purchased or built. If it's purchased, he'll hire someone to implement it because you're too busy maintaining the current business on the current system. If it's built, he'll hire someone to create it because you're too busy maintaining the current business on the current system.
From his chair, those are the smart choices once he's decided to replace the current system.
Friday, May 29, 2009
+1 for Patrick.
If you want any chance at convincing him you have to do it in HIS currency (to steal some Dr. Phil speak).
What does this boss care about?
How can you weigh the alternatives in terms of their impact on what he cares about?
Money is actually the easiest currency. Could be worse. He could be fascinated by shiny things. Or blue things. "We're switching our servers to Blue Dog Inc. because they're B L U E !!! And call up the Blue Man Group. They're going to perform for our Xmas party.
Saturday, May 30, 2009
I have explained it to him in terms of money (i.e. The current system is a POS and highly unstable, it's cost us $X already because it doesn't work right half the time and is extremely difficult to maintain), and he knows that the system is the root of his problems, but even with that he won't take the proper steps to fix it because it would take several months to do right and he doesn't want to wait that long, and won't spend money to hire me additional programmers to help (as you might have guessed, I'm the only programmer and most of my day is being a glorified data analyst because the company is all about data but no idea what needs to be done with it; any "programming" I do is maintenance and patching up holes in the current system, it's no new development or even development using anything modern - I'm honest to God scared to death that my career is being ruined at this company because I'm not learning anything).
So he's afraid that for the X months it will take to get a new system up and running, he'll be without his critical data analysis. And without that data, he's scared of what will happen (maybe things will get REALLY bad??).
That appears to be the framework you're in. Pretend it's a strategy game of RISK. What will you do?
Good luck. Not a great situation, but you'll come up with something.
Yeah, it sounds like that confirms my guess. No matter how much he needs the fix, he can't afford to lose you from your current duties long enough to do it.
Saturday, May 30, 2009
The funny thing being if he took the time in the first place to get things done right, I wouldn't NEED to fuss around with half the stuff that I have to do during the day because it's WRONG. But that's the infinite loop here - He needs me to do this non-programming, data manipulation junk because the application is in shambles due to not being done right (which itself is due to him being a cheap bastard and not wanting to spend the resources to do it right), and now I can't be taken off the data stuff to fix the system because it would take a while to do, during which time the data stuff wouldn't be done.
Yet another unfortunate reason so many of us job-hop so often. Lesson for next time: Never let yourself become indispensable to a task you don't want forever.
Sunday, May 31, 2009
You said you explained the cost of the crappy system (in terms of cost to do past work).
Have you explained to him the future cost (of a rewrite) and benefit and shown him what /when is ROI would be?
How about breaking it down into small steps with measurable results?
Is there a way to do one of those small steps so he's not betting the farm on your brilliant idea for a rewrite?
Monday, June 01, 2009
I'm honest to God scared to death that my career is being ruined at this company because I'm not learning anything).
Trust me it is and damage done. I was recently let go from a similiar situation. While I have done some .NET, I can't walk in and tell someone that's what I have been doing the last x years.
I was on a similiar system you are discussing. Other posters are correct. If the boss decides to change , he'll bring in some programming team/programmers who have the latest technology skills and you'll be supporting that system until you become obsolete.
I understand your pain in finding another job. The economy sucks. I've been out a month already and I have had 1 interview.
I don't have any answers for you, just someone to commiserate with you and tell you that you are not alone.
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz