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.



  • @nilp said:

    ...working 10-12 hour days, seven days a week, for four months...

     

     

    Wow, I wouldn't do that for less than $150,000, and I only make $60,000 working 40 hour weeks right now. Time off is extremely important, unless you're really working on something you're passionate about. I doubt that was the case here... 



  • @PerdidoPunk said:

    @nilp said:

    ...working 10-12 hour days, seven days a week, for four months...

     Wow, I wouldn't do that for less than $150,000, and I only make $60,000 working 40 hour weeks right now. Time off is extremely important, unless you're really working on something you're passionate about. I doubt that was the case here... 

    Switch "four months" with "thirteen months" and you're basically describing my old job.

    10-12 hour days, five days a week... but only on a good week, usually more. Contract states 40-hour weeks, do the math. On top of that, we usually had to do weekend stayovers, sometimes staying from Friday to Sunday without prior notice. No overtime pay there.

    Oh, and all of this for a whopping $20,000 a year. Guess why I switched jobs...



  • @MasterPlanSoftware said:

    @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.

    Not really. I agree that you should work hard and not waste your employers time, but if you are employed on a 40-hour week you should expect some overtime/bonus or at least time-in-lieu for working 50-60 hour weeks as some of the previous posters have.



  • @Physics Phil said:

    Not really. I agree that you should work hard and not waste your employers time, but if you are employed on a 40-hour week you should expect some overtime/bonus or at least time-in-lieu for working 50-60 hour weeks as some of the previous posters have.

    Only if you were told you would receive those things before you were hired.  Anyone who works in this industry and doesn't ask about overtime, etc.. during the interview has only his or her self to blame.  All IT positions usually require some crunch-time or emergency work and finding out beforehand the expected compensation is your responsibility.



  • @morbiuswilters said:

    @Physics Phil said:

    Not really. I agree that you should work hard and not waste your employers time, but if you are employed on a 40-hour week you should expect some overtime/bonus or at least time-in-lieu for working 50-60 hour weeks as some of the previous posters have.

    Only if you were told you would receive those things before you were hired.  Anyone who works in this industry and doesn't ask about overtime, etc.. during the interview has only his or her self to blame.  All IT positions usually require some crunch-time or emergency work and finding out beforehand the expected compensation is your responsibility.

     

    Not to mention, if you are this concerned about being compensenated for your time, you should not be working in a salary position.



  • @morbiuswilters said:

    Only if you were told you would receive those things before you were hired.  Anyone who works in this industry and doesn't ask about overtime, etc.. during the interview has only his or her self to blame.  All IT positions usually require some crunch-time or emergency work and finding out beforehand the expected compensation is your responsibility.

     <hints id="hah_hints"></hints>
    I can't speak for every region in every country, but generally there is an Employment Standards Act or similar legislation which applies to all salaried workers and outlines specific requirements for overtime pay.  It's usually something along the lines of time-and-a-half for each hour after the 50th hour worked in a week, or something to that effect.  The actual rate is calculated as you'd expect - take annual salary, divide by total number of non-vacation work hours per year (usually 250 days * 7.5 hours), multiply by 1.5.

    Most people worried about crunches or emergencies would want to negotiate a better overtime policy since consistent 50-hour weeks aren't such a thrilling idea.  But if you're being made to work 60 hour weeks then you're owed overtime regardless of what the contract says.



  • Of the three engineers originally working on the project I described here, one is at the same level as me, so presumably earns just as much, and two were junior, but still earn close to six figures. None of them got a bonus, but being involved in such a screw up doesn't seem to have adversely affected them in any way. They are just working on something else now - hopefully under close supervision.

    Now, I'm not saying I'm some kind of genius - the app was really pretty simple; 40 or so pages providing views into the db, allowing modification of the data, but it uses JSF, which is a WTF in itself - but I don't get where the three man-years of work came in. For the latest version, I added 9 pages in two weeks, so effectively increasing its complexity by 25%. In two week.

    See where I'm coming from?

    My contribution is apparently worth $100 more to the company than the original developers.

    On one of the previous projects I've saved at this company, I took it over when the contractor left (actually was pushed when the manager realised what a screw up it was going to be) two weeks before we were to deliver. A couple of weeks of hard work (more 10-12 hour days), we launched with no visible bugs (we fixed the invisible bugs in later releases). I was given three days off in compensation for working 12 days straight. It was nice to have three free days while everyone else was working. At $60/hour it cost the company $1440 worth of my time. So it's not a systemic issue throughout the company.

     



  • @nilp said:

    My contribution is apparently worth $100 more to the company than the original developers.

    No, your contribution is worth your salary.  Just because the other developers weren't qualified to do their jobs doesn't mean you get paid extra because you were qualified.  So if you're ever in a severe accident and you come out from under anesthesia, you would be alright with the surgeon asking for a "tip" because you survived?  I mean, some of the other surgeons on the staff get paid the same as him and they have people die all the time...



  • @MasterPlanSoftware said:

    You should work extra hard all the time

    Why "extra"? Can't I just do my job?



  • @nilp said:

    My contribution is apparently worth $100 more to the company than the original developers.

    Why should companies give bonuses to their employees for doing their jobs? If you think you're worth more, you should demand a higher salary.



  • @bstorer said:

    @nilp said:
    My contribution is apparently worth $100 more to the company than the original developers.
    Why should companies give bonuses to their employees for doing their jobs? If you think you're worth more, you should demand a higher salary ransom.

    FTFM. 



  • @morbiuswilters said:

    @bstorer said:

    @nilp said:
    My contribution is apparently worth $100 more to the company than the original developers.
    Why should companies give bonuses to their employees for doing their jobs? If you think you're worth more, you should demand a higher salary ransom.

    FTFM. 

     

    Oh dear -- did they up the price on ammunition?

    Damnit. I may have to invest in other methods of persuasion. 



  • @morbiuswilters said:

    @bstorer said:

    @nilp said:
    My contribution is apparently worth $100 more to the company than the original developers.

    Why should companies give bonuses to their employees for doing their jobs? If you think you're worth more, you should demand a higher salary ransom more dollars bills stuffed in my G-string.

    FTFM. 

    FTFY


Log in to reply