Wednesday, April 30, 2008

Textual Criticism

The textual critic seeks to determine the original text of a document or a collection of documents, which the critic believes to come as close as possible to a lost original (called the archetype), or some other version of a text as it existed—or was intended to exist—in the past.
— Wikipedia, Textual criticism
If you have been wondering why my posting has decreased from 2-3 posts per week to 2-3 posts per month over the past several months, perhaps the following may pass for something resembling an explanation.

The meaningful part of my title at work is "Programmer Analyst." People who have asked me that before often follow up with, "Oh. What's that?" The "programmer" part is easy: I build "stuff". ("Stuff" varies, and may be anything from database queries to web pages.) The "analyst" part is somewhat more complicated.

One of our major projects at work over the past few months has been a complete redesign/refurbishment of our account management website. What that basically means is that in 5-6 months we are trying to rearrange, update and in some cases completely rebuild hundreds of thousands of lines of code that are the result of seven years of continuous development by several dozen programmers. That's where the analysis comes in. In order to rearrange, update and rebuild without misplacing or breaking functionality along the way, we first have to determine what exactly the existing code does when and why, as well as what it is supposed to do (in rare cases those are two different things). Determining every last detail of what the code is intended to do gets exceedingly complex when dealing with code that has been worked on by a number of different programmers with different styles, different goals and different levels of familiarity with the languages involved. So, for instance, the process I started rebuilding a week ago started out as about 4-5,000 lines of code, became 10-15 pages of handwritten notes and a carefully drawn, labeled and color-coded whiteboard diagram and, hopefully, will in the end become 500-1,000 lines of brand new C#.

It doesn't happen without a lot of work though, and that leaves little time for much of anything that might inspire a post. On the other hand, all of the above is exactly the part of my job I enjoy most; I'm not obsessive, I'm Analytical Analytical.*

*Never heard of Wilson Social Styles? This guy I don't know apparently falls into the same category as me, and has a pretty good explanation on his blog. The usual disclaimer for these situations applies: I take no responsibility and make no promises for any other content that may be on his blog beyond the page I linked to.



Post a Comment

<< Home