Saturday, March 07, 2009

The terrible, horrible, no good, very bad day

That was Thursday. Not only had some erroneous data magically crept into the database of one project I support, but on another project, one on which the end user was about to sign off on the requirements for new (and high profile) functionality, said end user uncovered my total incompetence. Not only had I supplied the business analyst with an outdated user manual to use as a starting point for adding the new functionality, I myself was working off an outdated code base. Then when I went looking for the most recent code, I could not find all of it. This resulted in many mea culpa's on my part while I surreptitiously and unsuccessfully tried to finger someone else for the blame and dealt with that stomach-twisting sensation I get when I screw up.

What I could not understand is that ordinarily I am compulsive about backing up my work. In the bad old days of software development, it was ridiculously easy to accidentally delete a whole project or format a hard drive or damage a disk. But now we have version control systems and network backups and trash folders to save us from ourselves. There is only one caveat - one must actually make use of these tools for them to work. And I thought I had. And if I didn't, I should hang up my keyboard and mouse.

I wasn't the only one having a bad day. A co-worker who was also working a bit later than usual dropped the F-bomb, which is unusual in this office. I said, My sentiments exactly, and we traded our tales of woe. He made his sound worse, but I think mine topped his by one ulcer and a dire need for a grammartini.

My plan was to crawl home and inter myself under the covers, but my daughter showed up to walk, which was a good thing even though it was unexpected. The fresh air helped, as did a small supper of black soy bean soup (much better than it sounds) and dark chocolate, a little meditation, a little yarn winding (aka merino therapy), writing in my journal (mostly in all caps), a warm shower, a crossword puzzle, and listening to my life-is-but-a-dream tape. At least I got a halfway decent night's sleep.

Friday morning I kept looking for the missing files, still not believing I had not backed them up, while also trying to solve the firstly mentioned data problem. By lunch, the bad data had been removed but it looked like I was going to have to recreate the missing code. So I fetched the latest code base from the repository, opened up the project, and THERE IT WAS! The missing code! WTF?!?

As near as I can figure, I DID back up the project, but I had renamed a form which I thought would also rename the file it was in, but it did not. So the functionality I thought was missing was there all along, disguised by a misleading filename. That does not explain why the code on my PC was outdated, but at least I am not totally incompetent; I'm just a half-assed fuck-up. What a relief!

(Sorry if this was too nerdy for most of you, but someday, when I am perusing old postings, I will be reminded of my fallibility. Not that I'm not reminded on a daily basis, but I don't usually create such a detailed account of it for public consumption.)

No comments: