Don't you love it when something just works?
But have you ever thought about how much work has gone into it to get it to "just work"? Usually, the answer is "quite a lot" because these things don't happen by accident. When a web site works exactly as you expect it to it is because, behind the scenes, someone has gone to a lot of trouble to ensure that the design is flexible enough to allow possible future upgrades but rigid enough to withstand everything users can throw at it.
In my work as a programmer I always have these ideals in the back of my mind but, unfortunately, it is not an exact science. Sometimes you get it right and sometimes you don't. And, of course, it's not always easy to tell whether you got it right or not. In most cases you are too close to the project to view it objectively but sometimes problems just don't show themselves for an extended period of time.
In these cases, you can come back to a project years or months later to add a new feature only to find that what should be a simple change turns out to be infuriatingly complex because this new requirement just wasn't considered and wasn't catered for when the system was originally built.
Today was one of those days where I had to go back to a piece of software I wrote several years ago and add a new feature which, at the time, hadn't been considered. Fortunately, in this case, because the system was well designed in the first place, the change was relatively easy to make and the impact of the change on other areas of the system was minimal.
It gave me great satisfaction to discover this to be the case and I guess it reinforces the reasons why its so important to strive for this kind of system every time you sit down to develop any code. You won't always get it right but when you do you get to sit back and bask in the glow of a job well done.





