Some Days are Harder than Others
Today has been one of those days that seemed to start off bad and get worse as the day went on. Looking back on it, I suppose it started decently, but that's really only in relation to how it ended. I just want to go to bed and have the day end and put it in the history of my life.
Once of the developers moved to a cube close to me and even before he did, he said to me: "We'll fight over the blinds, Bob, and you'll give up." My cube backs to a set of windows and as such, to keep the glare on my monitors down, I've kept the blinds closed for more than three years - ever since we moved into this building. The developer knew this and he still seemed to want an argument. Odd. Anyway, today started with two of the blinds pulled up and while neither caused any glare at the time, it was 5:30 am, and the sun was just coming up. My rule had been: if it's causing glare, then they get shut. Well, I left one of the two open, but a few hours later, the other one was causing too much glare and had to be shut.
Now we get into the "up-down-up-down", Keystone Cops phase of the program. What's funny to me is that he had the choice of where to move and he could have moved to a cube that's got a real view of the windows on the other side of the building, but he didn't want to walk the extra 20 feet to talk to some people. Guess he really wanted to fight about it... or was just plain lazy. Or both.
Finally, the one blind closed, the other open, which is acceptable for me, we get into the it just keeps getting better portion of the day.
One of the new developers, the Rock Star I've mentioned in previous posts wanted me to look at his code and tell him what I thought of it. I said I would, and he wanted to do it right then. OK, I guess so. What I saw was something that I would have scrapped right away: no constructor, inconsistent use of the imports, virtually no comments, completely optimistic coding... in general, an example of what not to do for a production system. I started going through what I'd have done differently, and he wanted to argue about it.
I said "Hey, you asked me, I'm not interested in arguing about this."
"We're not arguing, we're discussing differences of opinion."
"Well... I don't want to discuss it. You asked me for my opinion, remember?"
So I continued. We talked more about his refusal to write code that was more robust, better commented, etc. In general, I came to realize that he really was committed to this way of writing code even-though he knew better.
At the end of the review he asked: "So, now are you going to let me code on BKit?"
"You've got to be kidding." I said, and went on to say that I can accept that this is the kind of job that he's going to do, but that I don't have to have him work on the projects I'm responsible for. I suspect that this is really what he was after by showing me his code, but it didn't turn out that way.
Then things got ratcheted up another notch when one of the Data Team guys was editing a price of an instrument while another was reloading it in the server. This ended up causing a deadlock - yeah, my mistake for not thinking of the possibility, but then the server had to be restarted. This was at 2:40 pm, and the restart takes 20 mins. The traders were not happy. I can completely understand, but I do wish they'd lay off the verbal abuse when things aren't going their way. It's not like I purposefully took down the server... it was a logic hole, and I've got it fixed up, but there was a lot of verbal abuse about missing the last 20 mins of the market. I hate it when that happens.
After things were up, I had about 30 mins to try and fix the bug so it'd be in development for tomorrow, and then Rock Star decides to ask me questions like: What java library is most used? and then Do you believe that java collections are widely used? I was in the middle of fixing this bug and so I answered him as quickly as I could, only to really find out what he was after a bit later.
He had looked up the source for Vector in the Java source and had seen that it didn't use one of my top-three code standards: single-entry/single-exit. He was using this as an example to say that if I thought Vector was "good", then I should think his code was "good" when he didn't code any differently than the Vector code.
What amazes me is that he was still on this kick of me liking his code. I finally got fed up with him and said "Well... when I need you to write code for me, I'll have to accept the best you can do. But for now, I don't need you to write code for me." And I can't imagine that I ever will.
I had to leave early for my daughter's birthday, and the commute was horrible, only to get home and find that work had called. Again, it seems like it kept getting worse and worse as time went on. I just wanted to go to bed.