Wednesday, April 11, 2007

Slinging code

Yesterday was a very busy, but good day at work.

We are working on a new system using a different domain (different type of Sheriff system - using data and customer's that we haven't worked with that much before). So that in itself is interesting. Always cool to see what we can do with the system, how we can attack a domain, help a customer, etc.

We've been standing this system up pretty fast and two of our customer's were going to be here this week. We showed them an initial prototype of the system a while back, and Monday we showed two of them what we had since then. We planned on having aother demo for their VP today (Wed). During the demo the customer said, "It would be really cool if you could by Wed." and then went out to say some more stuff. After a minute or two I said, "Did you say that would be cool by Wed??" He laughed and said yes - it would probably show some very cool stuff if we could get that in. So I said I'd give it a shot. My boss said to try it but don't worry about it if I could get it done.

The "It would be cool if" combined with "Don't worry if you can't get it done"... yeah, pretty much threw down the gauntlet. :)

Another person on the team started pulling data we needed, another one worked on some GUI changes, and I started writting rules and slinging backend code. Had to change code for numerous parts of the system - plus write tests for all of it since we are test driven. I skipped some afternoon meetings and had some initial components coded by the time I went home. Got up at 3:30 AM and started coding more.

Got a few more components coded and was feeling pretty good. Worked out, made Moroccan Chicken, got ready for work and headed in for a 9:00 meeting. During the meeting said we'd probably have code ready today (Tue) so we could look at it before the demo.

By early afternoon most of it was in place - but I was starting to feel a little anxious. Just like in school. You know you can get the project done, but you've been slinging code and not thinking about it too much. I was really shoe-horning it in, but it looked like it was all going to come together. Started the system a few times, sending data and each time some small thing didn't work quite right. Now it was after 3:00 and folks wanted to see it before they left for the day... Always nice to see what you are going to demo the previous day. No surprises!

So - I'm sending data - checking things, fixing things. Just small stupid stuff.

And then our acceptance tester, who was just following along on irc and had an idea of what was going on, said "Hey, is this supposed to work like this?" He's great. Caught a bug w/o having a big discussion. Just added some tests and was running them as I was updating CVS and caught something. I took a look - yup, got an issue, discussed it and got a fix in and he re-tested. Looks good.

Then about 4:00 - cool - looks like data is going through. The GUI guy (working remote) said on irc - "We've got data!" and I brought the GUI up and there it was. :) :)

Spent the next few hours on irc talking to one of the customers (who really liked what he saw) and then going over it with management who was probably going to demo it.

All in all - a fairly intense 24 hours of coding. Not an all nighter like I used to pull, but still - some fairly focused, a little stressed, gotta get it done, programming. It rakwed :)

Wouldn't want to do it every day, but once in a while that kind of effort is really fun. Reminded me of school... I started craving Jolt cola and Domino's pizza. ;)

Demo is right after lunch. Should be very good!

No comments: