Xyon (xyon) wrote,

Work rant

I want to preface this with the following:
I don't really like to complain; especially to management, et cetera; and most especially about other people. It takes a lot to make me not give someone the benifit of the doubt.

The person I commented on a while back whose title when hired was "Java Architect" had to do a provable development project before they were going to let him be an architect. If you work in software you know that for the most part architects are highly opinionated people that know enough about programming to read code, but can't write it worth a crap.

This guy did not, in fact, prove to be the exception.

Task: Removing items from the cart.
His development time: 3 days
My development time: 30 minutes

Mine worked, his didn't. He was doing something equivalent to
for (int i = 0; i < cart.length; i++) {
if (shouldBeRemoved(cart[i]) {

Which is fine... unless you need to remove two adjacent things.
Also, the "UID" he was using to identify request input to cart items wasn't unique....

I had done that one after finishing everything else I could without having remove from cart.

Task: Applying FunCash to items in the cart (kinda like a cupon)

His development time: 2.5 days
My development time: 45 minutes

The 2.5 days is how long he had been working on it WHILE HE WAS SUPPOSED TO BE WORKING ON SOMETHING ELSE before I had written it and he got pissed that I had done something else that he was working on while he was still working on it (ref: Remove from cart). When I asked him if he was going to start on what I thought he had been working on for the past two and a half days he said something along the lines of "no, because as soon as I do you're going to tell me that you're done with it" and signed off of his IM client.

Task: Update account: Address, Email, Payment method

I think he started on this one last Friday, but I'll give him the benifit of the doubt and call it Monday.

His development time: 5 days
My development time: 4 hours

Note that once again, this was concurrent development (not cooperative) and he never got it working. It took me 4 hours because I had to undo what he had done because he had gone way off in the totally wrong direction.
Spec: If alternate address is being used and the user selects current address on file then their permanent shipping address should be used
His: If alternate address is being used and the user selects current address on file then the alternate address will continue being used.
Similar violations in other areas.

Rantable item:
This was -MY- project. I'm the one who wanted to do it (before he was even hired), I'm the one that got VP approval to do it, and the one that convinced the end users/client/whatever that it was worthwhile.

If you asked him, it was his project; and if he was in the right mood he even might say that I was working on it... when I did at least 95% of the final work. He probably spent more than half the time working on it (since I had other meetings and the like), but he is ::deep breath:: TOTALLY FUCKING INCOMPETENT /::deep breath::

Rantable item:
I estimated that if I had nothing else to work on (meetings, production issues, et cetera) that it would take me 3 days per major screen to convert from the old rendering method to the new one. (In the end I think it took me around 1.5 per for when I could work on it). That included writing valid HTML 4.01 Strict; and the proper CSS to be fully browser independant.

I wrote none of the CSS because his initial task was to make valid HTML 4.01 Strict template pages for each screen (populated with static dummy data).

Along the way, though, I had to rewrite much of that HTML; and his CSS only displays properly in IE (which I suppose is fine, since the end users all use an embedded IE widget to use the web application)

So, back to the 3 days thing.. that included delay padding and the like. Pad it out some more to be week-aligned; I said 4 weeks. Management said 5 weeks; and this is the end of week 6.

The application is due to Quality Assurance by 10:00 Monday morning; and I finished it at 16:15 Saturday afternoon. Why did I finish it this late? See the last task. The 5 days were this week.

Friday or Monday:
Him: I'll work on update
Me: Good show (I was working with some production issues or something at the time)

Tuesday: 18:00 he calls my work cell (I'm at home since I have no car)
Him: I can't figure out how the verification on address and credit card works since the XML document isn't being used anymore; we just don't have the proper data.
Me: None of the data has changed, now you just have to read it out of the session rather than the XML document... look at paymentPrint and the ccNameMap, for example.
Him: Okay.

Wednesday right before going home I shared with the Director of the group why we were behind schedule.

Thursday she wanted a meeting with her, me, him, and my manager (the 'architect' has a different manager, who was working with a vendor)... he had appearently decided to work from home. So we had a 3 person <--> IM <--> 1 person Status meeting. He said he was still working on verification; and since that happens before submission he hadn't really made any progress. I point him in the right direction; but can't babysit him since he's at home, and another production issue came up.

Friday we have staff meetings... it was mostly the status of this project meeting. He had made no progress over the past day except for increasing the number of javascript errors (Aside: Full address verification is expensive; the javascript prevented submission if any of the address fields were left blank... I dislike javascript but understand the usage here.... and this was just a carryover from the previous version). I had been trying to help him before lunch (I'm on a new medication that does a pretty good job of causing an upset stomach if you don't eat, so I had to take lunch); and when I gave a status update to the Director at noon she was unhappy with my '1 fixed one defect he had caused, but updating the account still doesn't work at all'.

After lunch I found that he had been trying to use a class that had been decided to remove from this release because it's too hard to work with (requires setting several flags to do anything, it was really long, only one [method,function,procedure,whatever], no comments, et cetera). I sit down at around 2 and start writing the replacements; have 2 out of the 3 done before I have to leave to go to that Pacer's game. (The Director told me that I should go rather than put in a late night last night). When I left I told him that I had the classes both written; one of them I had the page data tie-ins set up already, he just needed to fix the presentation errors on the page and do the other one.

Today I get an email from him around noon:
I need to know what has changed in the data presentation to the classes so I can use them correctly.

Right before replying (about 30 seconds after I received it) I had committed the tie-in and fixing the presentation errors. There had been no CVS activity since I left Friday evening.

Then I fully did part 3 of 3; fixed 3 more bugs that he had caused in the past week or so; found a place that we had an error with no presented error message; and added the error message. (Along the way I got a java.lang.InternalError: erroneous handlers error; it was funny. Apperantly I had forgotten to upload the .class files for the new Exception types to the server, and that's the error message it gives when you do that, as opposed to NoClassDefError)

I've sent him another email since then; still haven't heard anything from him since noon.

Though we (I) made the deadline, and now perhaps they'll fire him for lack of performance reasons.

I feel extremely better now.
  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.