Older Entries | Newest Entry |   Get your own diary at DiaryLand.com!  

2003-03-21 - 12:06 a.m.

Not long after the release of our client's public site, I was transferred to the administrative back end application developer team. It quickly became apparent that the individuals that had been responsible for the back end applications were not as talented as the group that worked on the client's public applications. My first dealings with this team came in the form of a call from Ms Psycho. Ms Psycho called me to present a problem -- she was trying to display some sort of tree on one of her applications and the native function in the language she was coding in had limitations she considered unacceptable. She was in a pinch because she'd been trying to find a solution for some time and the project was over due.

Ms Psycho wouldn't divulge her requirements to me, she simply told me she needed software that would allow her to generate a data tree. She started talking about incorporating 3rd party software or maybe involving some kind of java applet or COM object. I wasn't really sure about what exactly her end goal was but I told her I'd try to help her find something like what she was describing. All she could really tell me is that she was looking for something that could emulate the folder trees that Windows uses and that this feature was to be incorporated with data that was being pulled from the database.

From what I got out of Ms Psycho she was looking for something that would create dynamic collapsible folders, something easily accomplished with javascript and DHTML. I sent her some code that would do what she described and sent her a working sample so she could see the code in action, the only thing left to do was plug in the server side code to output real data.

Ms Psycho passed the task of incorporating the server side code off to me. I finally got my hands on her requirements, because at this point I was building the application. Low and behold the application didn't really require any collapsible folders. The application simply required the capacity to show parent-child relationships with data. There was no need for a COM object or a tree or even any javascript, what the application required was as plain as requirements get. I knocked out the necessary code in a few short hours and the application was complete.

I was more than a little disgusted that my time had been wasted investigating a solution that wasn't needed and outright disturbed by the fact that Ms Psycho, a developer, who questioned my qualifications to do the job, had so much trouble with such simple requirements. There was no question about it, Ms Psycho was a poor excuse for a programmer. The application feature I was working on was an addition to code she'd already written. Her workmanship was a disgrace, her code read like a ransom note, no order or structure or consistency, just bits hacked and glued together in a shoddy and hasty fashion.

As I put the finishing touches on the work I was doing I noticed another feature within the administrative applications wasn't working correctly. I contacted Ms Psycho to inform her that this was a problem and that whoever developed that feature should debug it. With her sheer inability to follow much of anything technical, Ms Psycho started on a tirade about how I should keep ownership of all work on this application and that going back to whoever developed the broken code would be a waste of time because they would never understand the "tree" I developed. "Even I don't understand how you did that," Ms Psycho announced haughtily.

Remember, dear readers, the code that was broken was in a portion of the application that had nothing to do with the "tree" I'd created. I never had ownership of it to begin with. I could probably have debugged the broken code but since I was unfamiliar with it it would probably be more efficient for the original developer to do it. It is also worth noting that the magical and complicated "tree" code that I wrote was maybe 20 lines at most and even a junior level developer should have been able to look at what I wrote and, along with my helpful comments, figure out how I did what I did. Frankly, Ms Psycho should have been ashamed to make comments like that. Calling something incomprehensible when in fact it is very elementary really makes one look like an idiot.

Since I was pretty convinced of Ms Psycho's idiocy at this point I went ahead and talked to the original developer of the flawed application, in spite of her harsh warning not to. He wasn't the sharpest tool in the drawer either but he managed to debug his code in about 20 minutes, which is longer than it would have taken me to go about even researching the requirements. Warrior Geek - 1, Ms Psycho - 0!

The thing about Ms Psycho is that she doesn't like to be alone in looking like an idiot, whenever possible she tries to make every application requirement seem like a complex feat. When she is asked to do anything she will be quick to talk about how it is unlikely that she, or any other developer, will be able to do complete task is at hand. Maybe at some point this sort of obvious bull shit worked for Ms Psycho but with Warrior Geek on the scene my speedy and crafty skills only serve to make her comments look as absurd and I know them to be. When I was first handed off the "tree" assignment Ms Psycho went out of her way to email all the managers on the team to let them know that I would probably need very senior level guidance on the project and that it was unlikely that I'd be able to manage on my own. I only hope that the managers took note of the fact that I had the feature completed mere hours after she sent out that message.

I think Ms Psycho realizes I'm a threat so she tries to come up with sneaky ways to foil my plans to make her look stupid and get work done. She withholds information, tries to keep me from talking to people, gets bossy and tries to intimidate me. She will do anything she can to make getting work done difficult. One of her more clever ploys is to conduct all communication via telephone. This is pretty crafty. If you communicate via telephone it is easy to jumble information and leave no trace of your obvious attempt to fuck things up. There is no paper trail with the phone so I have no way to prove to say, a manager, that she intentionally tried to interfere with my ability to do my work accurately.

I caught on to this strategy immediately. I like email. I'm a very typical geek that way. First of all I just don't enjoy talking to people on the phone, second of all I like documentation, I like to go back to who said what and when so I know what information I've been given. I tried desperately to get Ms Psycho to comply with my requests for written communication. I sent all comments and questions to her via email and hoped she'd respond in kind, I even wrote things like "email me back with this information please." I was making it obvious what I was after. Ms Psycho refused and I was getting fed up fast. My only defense was to transcribe every point of our phone conversations and email my notes to her to ask her to verify them -- tedious at best and left room for omissions at worst.

To make matters worse Ms Pyscho tended to get testy when I asked her to repeat things. Sorry, Ms Psycho, I can only scribble notes so quickly. Maybe if you'd email this information to me you wouldn't have to repeat yourself. Emailing for veracity was really a necessity in any case. When Ms Psycho told me things and I repeated them to her to make sure I had written them down correctly she'd interrupt me to tell me I had it wrong but then she'd say the same thing that I'd just said.

One afternoon while I was studying requirements Ms Psycho instant messaged me to say she was sending me several defects and was going to call me to go over them with me (because apparenlty she thinks I'm incapable of reading defect notes). Enough was enough.

Warrior Geek: Could you email me instead?
Ms Psycho: I don't communicate very well, it appears that my strength is verbal communication, I work best over the phone.
Warrior Geek: (stunned that some one would be so quick to admit such a serious incompetence) Well maybe you could just send me the key points of what we need to discuss and send over those defects and then we can follow up with a call if it is necessary.
Ms Psycho: Actually I am very pressed for time right now and I don't have time to write anything for you, besides anything I write will be useless. I'll just call you. I have a disability, OK?
Warrior Geek: Oooo kay (thinking to self, "Isn't your whole damn job to write things? Aren't you a developer? I guess this is why your code is such a craptacular, uncommented, disorderly, bucket of spaghetti.")

At this point I needed to process. What do you with some one like this, some one so completely unwilling to participate in anything resembling a productive process, some one so inflexible and stubborn and shamelessly inept? I claimed that I had a meeting so that I was not going to be able to take her call right at this time. It was half true, I was on the verge of losing my temper and a phone chat with her at that juncture would have been ill-advised. I told her I'd call her after my meeting. Then I went ahead and had a meeting, with a manager, to discuss what to do about Ms Psycho.

I forgot to mention that I was already nearing my wits end with Ms Psycho for other reasons. Prior to the run-in above I'd had another exchange with Ms Psycho about an application requirement that was not going to be met in a timely fashion. Because the administrative applications were so unstandardized there was no easy way to implement a standard feature that was in the requirements document. I told Ms Psycho it would be possible to implement the feature but that it would take some doing.

Ms Psycho thought it would be better to tell the client they couldn't have their feature and leave it at that. To me this was a completely unacceptable response. "How about if I talk to the client and we offer to give it to them after the first version of this application releases. We'll have more time to revisit standardization methods and we can implement it then," I offered. Ms Psycho wasn't having it, she insisted that she would talk to the manager on the project and tell them to forget about the feature.

I was fuming over her attitude. You don't tell a client they can't have something because you don't feel like doing it for them. If the client asks for something, and it is at all within your power to meet their requirements, you do it, that is what they are paying you for.

Any way, in the most diplomatic and polite manner that I could muster (and truth be told I did a pretty good job with this) I presented the facts of my case to the manager I went to see about my troubles with Ms Psycho. The manager was sympathetic and admitted that other people had voiced similar concerns about Ms Psycho's behavior. The manager went on to say that Ms Psycho does, in fact, have a lot of "issues," and that it would be best if I catered to her needs in terms of communication methods. The manager also started spouting off some new-agey, pointy-head speak about different communication styles. Riiiight. I wasn't asking for written communication to be a pain in the ass, and I wasn't doing it because I prefer it the way some people prefer Pepsi to Coke, there are legitimate reasons that written communication is more appropriate for this situation. The manager did agree that Ms Psycho's attitude could stand to be adjusted, a miniscule victory for me. I am not sure if the manager actually did anything with the information I gave her but at least I know that when the project goes to hell in a hand basket no one will be able to say I didn't warn them.

I'm pretty much still at square one with Ms Psycho. I'm stuck working with her and apparently the rest of the team has a high tolerance for her antics. I try to avoid her when I can and work around her if I have to. When she gives me her usual story about how impossible a task is that I am about to be given I make sure to finish it extra quickly and exactly to spec, purely out of spite. I am sort of getting off on making her look like the idiot that she is. I don't know if anyone is taking note but maybe at the very least she knows I'm better than her and that is a tiny bit rewarding.

The truth is I want off of this project. I'm sick of Ms Psycho's incompetence, laziness, negative attitude, bullying and tantrums. Sometimes she stops talking mid-sentence and says she needs to get juice and will get back to me later. The problem is that this project has the potential to be good for my career. Because all of the code was written in such a fly-by-the-seat-of-someone's-pants fashion it's laden with duplicate and inefficient code. These applications desperately need to be standardized and it's a campaign I could definitely take on. It would be a project that is somewhat more senior level and more interesting than what I usually get to do and could lead to resume buffing and maybe a raise and promotion. The unfortunate reality is that the developers on this team are incompetent and that even if I came up with the best standards and advice for making the code more efficient if the developers can't help me out with making my ideas a reality it's a waste of my time. Maybe I should look for another battle to fight.

I'm tempted to present these thoughts to Mr. Erratic, he has some say in how all of this is going to go down. I believe he is pretty unaware of the situation. Talking to Mr. Erratic is dicey, on one hand it could go well and he could agree with the approaches I've taken to date and help guide me to a better situation, on the other hand Mr. Erratic could really flip out upon hearing about what a disaster this project is and try to get people fired or start making a big scene and I'm really not up for that kinda drama. I have a meeting coming up with Mr. Erratic in the not so distant future, perhaps I'll test the waters then.

previous - next

Member of the Work Sucks Diary Ring
Previous WSDR Member | Random WSDR Member | Next WSDR Member