Wednesday, September 12, 2007

A day at the office

Yesterday afternoon was just one of those days you wish you went home at lunchtime. But to tell you this story, I have to give you the background first.

We have a SQL programmer in the IT department who I simply do not see eye to eye with, (which is a second story that I will not get into now) and he and I had a bit of a tiff. I am in charge of any visual presence into our company, especially our website. And for that reason, I have full autonomy over it's look and feel, and I am the primary and lead developer on any applications that reside on it. Well about 6 months ago, our Career Development department asked for a newsletter application that in the grand scheme of things was a fairly low priority project. At the time I was busy redesigning our entire Associate Toolkit, and I made the judgment call that my current project was more important than an application that was designed to spam our associates with e-mail. Especially since this spam would be about upcoming events that they could already find on our website. So I told the VP of Career Development that I would get to it as soon as I could.

She was very nice about it and said that if she couldn't find an alternative solution, my schedule would be fine. What I didn't know was her "alternative solution" was to go speak with the CIO and ask that his IT team develop this application for her because it was a top priority. So the CIO and my boss (the VP of Marketing), this SQL guy, and I get together to discuss this. From the very beginning I lobbied against it, noting that once a project is declared finished being developed by the IT department, they hand it off and wash their hands of it. That means I would be fully responsible for maintaining it since it would be sitting on my computer servers and I would not have a hand in it's development. But more importantly the guy they had assigned to work on it (this SQL programmer that I do not see eye to eye with) has no design experience and would be responsible for creating fancy e-mails that would be mailed out with our name and logo associated with it. To me, that was a scary thought.

I lost that argument, and the guy went off to work. A week later we are gathered for a proof of concept demonstration. As soon as he started presenting I knew he hadn't written the code. All the data entry fields were graphically enhanced and this guy doesn't have graphics software on his machine - he couldn't have done that. But in the grand scheme of things, that wasn't really a big deal because he did customize it to their needs and it seemed to function adequately. So I kept my mouth closed but after the meeting I did a 30 second Google search and found a downloadable newsletter application that looked amazingly like what he presented. Anyway, the next week we had a follow-up meeting where he showed the sample template of the e-mails that were to be going out... and they were Pink and Purple (I'm not kidding!) and every section seemed to use a different font face and size. Now our company colors are red, white, and blue, and we use Arial on virtually everything. I couldn't not say something, since this was going to reflect negatively on everyone if it went out this way. So of course once I said something, the look and feel got thrown onto me to fix. I knew that was going to happen, it was inevitable.

Fast forward to last month and the application got launched. The SQL guy said he's done testing, it works great and here's the final code to host on my servers. Well, I dump them on there and turn them on. And they don't work. And the SQL guy says he's delivered the product, and since they are on my machines it's my responsibility to debug. Exactly what I said was going to happen. So I said Fuck You. Well, in not so many words. I went to the CIO and told him that this was the SQL guys code and it didn't work and he needed to fix it. And he got all mad defending his developer saying that the application sat on my machine and was my responsibility. It was the same argument all over again. So I went back to the VP and stated my case and eventually a compromise was reached. I would fix one or two of the design related issues and he would handle the rest. And he did and everything seemed to be going smooth and the entire issue went away.

Two days after that, the CIO and the SQL programmer announced that the SQL programmer was moving to Puerto Rico and instead of finding a replacement they were going to let him work remotely. Once again, I made it known that I thought having no SQL expert on site maintaining our regular network -- nevermind supporting all our financial applications -- was a really bad idea. They said they interviewed a few guys and none seemed to meet their needs. I strongly suggested that they interview a few more since SQL programmers are a dime a dozen, especially in a technology corridor. Again, I lost and he moved away two weeks ago.

Now let's fast forward to yesterday afternoon. The woman from our Career Development department came up to me and asked for help. She said she tried to send out another newsletter and the application wouldn't work. This was the exact problem that she had last time that was agreed the SQL guy was supposed to have fixed. So I told her that I could look at it after the 25th which is when my huge company deadline passes and I release the four applications I am developing right now, and even then it would take me a while to figure out the code since I didn't write it. Or if she didn't want to wait she could send an e-mail to SQL programmer and ask him to look into it for her.

She chose the latter, and within 5 minutes I get an e-mail from this guy, copying her and the CIO, saying I would be handling the application from now on. Bullshit. I went back to the VP of marketing and told him what happened. I said that I was against these guys developing the application from the beginning since they refuse any sort of ownership once they are done. I reminded him that this was an ongoing design problem and not a recently discovered buy. And without boring you with the technical issues, the problems stemmed directly from his SQL queries (HIS expertise) not any sort of web coding. I reminded him of the four applications I needed to finish by the 25th, which was sort of unnecessary since he had several projects of his own for the big release and was facing the same sort of deadline pressure I am. So he passed the buck back to the CIO and said "You guys work it out".

I called the CIO into my office and when I repeated my issues to him, he got all defensive and said "Maybe we should just kill the application altogether - it's not worth the trouble." I said you're missing the point. The problem is a result of you guys stepping across your boundaries to "help" but if you are going to build something, build it right or support it until it is. How can you say killing the application is the way to go? The Career Development team wants the app and the problem isn't with them. The only people who should get to decide the app isn't worth the trouble is those guys. What we need now is for your SQL programmer to fix his code properly. And if we had a SQL programmer on site I would have been happy to help. At which point he stormed out of my office.

A bit too far? Maybe. But they had no business accepting the project in the first place if they didn't have the skills and tools to do it properly. And they had no right to hand over and take a hands off approach with an unfinished application just because it was sitting on my machines instead of theirs. I made this clear when then insisted on doing the project anyway and I am sticking to my guns now.

1 comment:

Gigglesbee said...

This post, is the main reason I got out of the technology industry. Ugh...just reading about it is going to give me nightmares for weeks!

I'm glad you stuck to your guns, though!!