Sometimes It Comes Faster than You can Field It
Today was an interesting day, that's for sure. I've been trying to tie up several loose ends with this project I'm working on with another developer in the Shop, and I wanted today to be the day that we finally finished it off and sent it to QA. Seemed very reasonable when I got into work today.
My tests went perfectly, and that was about all that did. I had a 'drive by' from two developers saying that the code they'd written in the project wasn't returning the correct numbers, and the way in which I was getting it would have to change. Not horrible. In fact, reasonable, and so we spent the hour there getting that fixed up.
Then there were logging problems with the addition of the log4j jar and no configuration file. That set me back a bit as I waited for the other developer to do it. I ended up doing it to try and get this all put to bed today.
During all this, I had added new data sources to another app I'm working on and those weren't configured exactly right. The net result was that I was missing a ton of P/L in the calculations making it look like there was a huge loss. Someone was freaking out and I was in the middle of trying to check in some things for the other project while he's telling me of the problem.
"I'm on it... just give me one minute to check this in." I said.
No more than 10 sec. later he says "Could it be in the configuration?"
"Yes, I'll check it in less than a minute, I promise." as I frantically try to write the subversion check-in comment for the code sample I just finished for the project.
No more than 10 sec later he says "If this is real, they need to know about it."
"I promise, just another few seconds and I'll be on it."
Then he stands up and tries to talk to be and I look at him, put my fingers in my ears and sing "La La La La La" like the kid that doesn't want to hear what the parent has to say. Childish? Sure. But I didn't want to insult him by saying "Do you have a watch? Count off 60 sec. and be quiet!".
In less than 20 sec. I was done, another 60 sec. and I had the problem figured out, and within 5 minutes it was all solved. He then wanted to discuss why this happened, I explained that it was because the way the app was written by this other developer and the instrument lists were set by the XML config files and that's very manually intensive. He wanted to know how soon we could make it database-driven, and I said we could, but it'd drive out other things that he wanted done.
No easy choices, but the best advice is not to make decisions when you're upset about something. In this case, seeing bad P/L from a new data source. It wasn't even in production - just test. Learn that not all problems have the same impact.
Thankfully, after a few minutes of talking he calmed down and realized that the schedule we put together of work was probably the best, and we would get through this just fine. It's not perfect, but I didn't write the thing, and we're just doing the best we can to muddle through until we can give it a complete overhaul.
But I'm glad it's over.