And the real WTF is ...



  • A few months ago I took over maintenance of a custom inhouse content
    management system. This was a new J2EE web application designed to
    replace a previous PHP-based CMS that was gettting long in the tooth
    and difficult to use with the amount of content we have to manage. The
    original could have been fixed up, but management decided to start from
    scratch so it would be shiny and new.



    No, that's not the real WTF.



    The new application was, naturally, a disaster; full of many WTFs, most notably the db update process:

    • changes to the db were managed by deleting all rows in the table and reinserting them from the user's session cache
    • the tables were of course locked for reads and writes during this process
    • for some tables the update process would take a considerable amount of time, considering there were thousands of records to be reinserted
    • during busy periods, several people would be working on the same data
    • the db table locks would queue up
    • it occassionally took 20-30 minutes for all locks to clear
    • people would ask why their change "didn't take"
    • many, if not all, of the tables were accessed by several other inhouse apps, which would appear to hang when unable to access the affected tables


    No, that's not the real WTF.

    Anyway, I was parachuted in to try to save this app (like the previous two applications I've worked on at this company ... I sense a pattern here) and the original developers "moved on" to other things. We couldn't afford to move any more staff onto it, so I was a team of one.

    At about the same time, we switched to using a new issue tracking system. We all had a three hour training session set up, but I played about with the system for a few minutes and decided it was close enough to clearquest or bugzilla that I didn't need to waste any time on training, especially considering the thirteen blocking issues I had to fix.

    Fast forward three months. I made a series of minor dot releases to fix the most egregious server errors and followed up with a major release with a fully rewritten data access layer and revamped UI, fixing all 150 Blocking, Critical and Major bugs. A common caching mechanism meant everyone was working on the same data set, and the RAM footprint dropped to a quarter (no more OutOfMemoryErrors). Updates to the db were now handled by actually updating individual records. Removing drop downs consisting of 20000 items meant that pages that once took minutes to load now took seconds. Operations that once took 5 hours could now be completed in 30 minutes. The app dropped from being the top DB load to something that we could deal with.

    The content team and db admins were extremely pleased - I got praise from them and was called out at the most recent engineering all hands.

    Last week, my manager called me into his office. "It looks like you only worked on the cms for five hours over the last quarter." "Huh?" "We know how much you worked but we've set up a three hour issue tracking system training for you."

    You see, one thing people learned during training for the new issue tracking system was that the engineering budget was partly (thankfully not totally) based on how much time was spent on each of the issues. The time was counted from when it went into "assigned" to when it was "resolved" (plus "reopened" -> "resolved" if needed). I of course didn't know this, and since I was working on the app on my own, I didn't care about stepping on anyone else's toes. So I got into the habit of looking at an issue, fixing it in code, then checking in the change. Then I would set it to "assigned" then straight to "resolved" (you can't go from "unassigned" straight to "resolved"). So the 150 or so issues I'd fixed spent a total of about five hours in the assigned state.

    So, I have had 17 issues in the "assigned" state for the past week.

    No, that's not the real WTF.

    For saving the company thousands, if not tens of thousands, I got a $100 bonus.

    WTF.



  • My senior year of college, the IEEE brought in some speaker.  The only thing I remember this guy saying was "Engineering is not for the faint of heart.  If you mess up, your miscalculation could result in injuries or even death.  If you do a good job, you get a piece of paper to hang on your wall"

     



  • I'm sorry to say that the small bonus is not a WTF. It's just how business is normally done.



  • @nilp said:

    For saving the company thousands, if not tens of thousands, I got a $100 bonus.

    WTF.

    YEEEEEEEEOUCH!!!!!

    I learned long ago, that 15-day bugs were more profitable than 1-day fixes. Of course, "mission critical" bugs would always get quick fixing, but some others would take days, even though the "fix" was actually done in the first day, and it was only a matter of doing a SVN COMMIT on the target day.

    Somehow, when you actually do your job right and fix stuff up, or implement changes before the deadlines are met, you're either seen as wasting too much time slacking, or given even more loads of work.

    Oh well, at least you got a $100 bonus, I know some people who have saved billions for a certain financial institution, and got nothing in return. Not even a bonus, or a day off.



  • @dgvid said:

    I'm sorry to say that the small bonus is not a WTF. It's just how business is normally done.

     

    It's $100 more than the bonus I got from my last employer for working 10-12 hour days, seven days a week, for four months to meet a deadline imposed on us by our biggest customer through a sales screw up. But it's still a WTF to me ... especially when management/executives expect me to be grateful, and don't understand why I might be so disloyal as to look for another job.



  • @nilp said:

    working 10-12 hour days, seven days a week, for four months to meet a deadline imposed on us by our biggest customer through a sales screw up
    I found the real WTF.

    If that had been me I'd have cracked and you'd have seen me in the news. 



  • @dgvid said:

    I'm sorry to say that the small bonus is not a WTF. It's just how business is normally done.

     I understand where people are coming from with their argument, but I have to agree with you. The business is paying our salary to fix software problems. If those fixes pay dividends to the company, then they really don't owe you money, they paid your salary and you fixed the software. Some companies go out of their way to reward employees based on their performance, others don't. Its like an R&D department: the whole purpose is to try to make things better by the end of the day, that is the job. If they pay you a reward, be thankful, because that is simply their generosity and appreciation to their staff.



  •  @DOA said:

    @nilp said:

    working 10-12 hour days, seven days a week, for four months to meet a deadline imposed on us by our biggest customer through a sales screw up
    I found the real WTF.

    If that had been me I'd have cracked and you'd have seen me in the news. 

    Oh, I'm not so stupid as to do that now. Even while I fixed up this last app, I worked five day weeks from 8am to 5pm. I no longer work beyond the call of duty for this very reason.

    You know you're working too much when your 18 month old daughter points at a picture of a computer in a magazine and says "daddy!"

    As for the "you're only doing your job" comments, yes, that's true, but I'm going be more grateful - and I may even show some loyalty to the company - if I get recognition and a big wad of cash. I feel insulted that my employers think I'll be bought for what amounts to 90 minute's salary. I think I'd rather have just got nothing ... hmm ... nah, that's not right ... it's still $100 I didn't have before.



  • @pitchingchris said:

    The business is paying our salary to fix software problems. If those fixes pay dividends to the company, then they really don't owe you money, they paid your salary and you fixed the software. Some companies go out of their way to reward employees based on their performance, others don't

    My business (the one I work for, not own) pays people to sell fairly high value goods to pretty big organizations and they get a hefty commission for doing this.  When I've spent half the morning helping a sales manager with a powerpoint presentation ("how do I insert pictures?"), shouldn't I expect a cut of their commission?

    Yeah, I did say it to the user over the phone, meh.



  • @nilp said:

    You know you're working too much when your 18 month old daughter points at a picture of a computer in a magazine and says "daddy!"
    Wow, you're right.  I didn't even know I had a daughter.



  • @Eternal Density said:

    @nilp said:
    You know you're working too much when your 18 month old daughter points at a picture of a computer in a magazine and says "daddy!"
    Wow, you're right.  I didn't even know I had a daughter.
    Hmm.. this might explain why I found a picture of a kid in my wallet...



  • why in the name of fuck would you get a bonus for saving the company tens of thousands of dollars.  Assuming you make $100,000 in salary per year, you have to generate at least $200,000 of wealth for them to break even.



  • @tster said:

    why in the name of fuck would you get a bonus for saving the company tens of thousands of dollars.  Assuming you make $100,000 in salary per year, you have to generate at least $200,000 of wealth for them to break even.

     

    Oh, I see where you may misunderstand me - through some brain fart I left out the "per week" in the thousands or tens of thousands line. Can't go back and edit it now. Besides, the saving is on top of whatever value I provide to the company anyway, which must be something otherwise I would be asked to leave. My job was to get the application working ... anything more is a bonus to my employers.

    So, where do I get thousands per week? Well:

    • we don't have to buy or lease new db hardware (yet)
    • One person can now do in one hour what three or four people tried, and often failed, to do in five hours ... freeing these people up for other things, and meaning the company no longer has to hire extra staff to handle a simple job (actually, it's more likely a couple of them will be laid off, but it's a crappy job anyway ... it'll be better for them in the long one, and it's even better savings for the company).
    • I fixed in three months what took a team of three a year to screw
      up (actually that's what pisses me off most ... surely it doesn't take
      a rocket scientist, or QA, to notice that pressing button X returns a
      server error 100% of the time, or that deleting and reinserting all
      records to update a single one isn't generally considered best practice. I mean,
      these are experienced software engineers.)

     

    And you can, if you want, calculate my real salary from my previous comment (hint: assume 2000 hours per year, calculate the hourly rate from the value for 90 minutes I supplied).



  • @nilp said:

    So, where do I get thousands per week?
     

    Seriously, a bonus is a bonus. You should never expect a bonus. That is just wrong.



  • @tster said:

    why in the name of fuck would you get a bonus for saving the company tens of thousands of dollars.  Assuming you make $100,000 in salary per year, you have to generate at least $200,000 of wealth for them to break even.

    According to this "rule", my entire team combined had actually generated 100x what we were being paid. Still no bonus, even if we should deserve it.



  • @MasterPlanSoftware said:

    @nilp said:

    So, where do I get thousands per week?
     

    Seriously, a bonus is a bonus. You should never expect a bonus. That is just wrong.

     

    Expecting a bonus is like using a RNG to generate an account number for direct deposit.  You deserve the pay, but you are hoping that everything lines up correctly and the money ends up in the correct account. 



  • @MasterPlanSoftware said:

    @nilp said:

    So, where do I get thousands per week?
     

    Seriously, a bonus is a bonus. You should never expect a bonus. That is just wrong.

    True. Don't expect a quick fix either, as anything going on normal rates, will be treated as normal rates.

    While there are some support contracts that do include a "service guarantee" clause, this case isn't one of them. A bonus is a bonus, all right, but a bonus is a reward for doing things beyond your line of duty or being more productive than expected. I'd say that fixing the entire app would qualify as "exceeds expectations".



  • @danixdefcon5 said:

    True. Don't expect a quick fix either, as anything going on normal rates, will be treated as normal rates.
     

    Seriously, this has to be the best example of what is wrong with this industry. 

    Comments like this make me sick. Do your job. If you get a bonus, awesome, but this attitude is the worst I can possibly imagine.



  • @MasterPlanSoftware said:

    @danixdefcon5 said:

    True. Don't expect a quick fix either, as anything going on normal rates, will be treated as normal rates.
     

    Seriously, this has to be the best example of what is wrong with this industry. 

    Comments like this make me sick. Do your job. If you get a bonus, awesome, but this attitude is the worst I can possibly imagine.

    Notice I didn't say I wouldn't do the job, but I wouldn't do it super-fast unless I'm getting something else. If the OP was doing his work at a stupidly fast rate for fixing FUBAR'd code, he should be rewarded for that. Not given a measly $100 for what would've easily been an entire dev project!

    There are things you should expect to be paid more, you know? I once worked in a large financial institution which sure enough, would have "fix this, I want it yesterday!" situations. These were sometimes made in overtime, weekends, and even some of our days-off. While internal staff would get overtime pay/bonuses (hell, they even paid their meal expenses!), those of us in outsourcing didn't get squat. So the attitude for most outsourced dudes was "clock out, do it tomorrow" unless it was really, really necessary.

    Another example: I once was on a 1-week vacation, in a small town where I couldn't even get my cellphone to find a signal all the time. My boss somehow was able to get his call through to me, and told me that it was urgent for me to pack, get back to office and fix an urgent issue with one of our clients. Never mind that said client was also about to close for the same week as my holidays, it was "urgent". However, even he knew I wouldn't move without compensation. I asked for $400, plus travelling expenses. He said he'd call me back, as he had to locate yet another co-worker for the thing. My coworker asked for $700, and all of a sudden, the "urgent" issue was not so urgent after all.



  • @danixdefcon5 said:

    I wouldn't do it super-fast unless I'm getting something else.
     

    Right. And that is wrong. You should work extra hard all the time, and if you get incentives, that is great. If not, you are still doing your job and getting paid. Anything else is just lazy no matter how you try and dress it up.

    @danixdefcon5 said:

    he should be rewarded for that.

    No, you should not be rewarded for doing your job. Your salary is your reward for doing your job.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.