For the first time in my life, I am feeling truly overwhelmed by complexity.
One of my main responsibilities at work is the maintenance and enhancements of a certain software system. The system has been built by others who no longer work at my company. It has been a nightmare; a nightmare of a sort that doesn't have to happen. The system is perversely complex and obfuscated relative to the work that it performs. It takes me days – days! -- to answer simple questions about the system. This, to me, signals a resounding failure on the part of the original designers. Albert Einstein knew whereof he spoke when he said that everything should be a simple as possible. Granted, he added “but no simpler,” but that is exactly the point – the monstrosity currently in front of me could have been way, way less complex without violating the “but no simpler” clause.
The reason for this nightmare is simple – arrogance. The system is written in a certain programming language, and it abstracts and models certain entities and aspects of the application domain. It is, pardon the cliché, bigger than a breadbox, but we're not launching ICBMs, either. Normal, workaday stuff. The original creators, however, used every single feature of the language in question, and every single modeling technique in vogue at the time. Just because they could. They clearly thought they were hot stuff, and since no one had enough guts (or enough understanding) to put their foot down, they went wild, and now I get to deal with the consequences. Would that I were here in those days.
Subscribe to:
Post Comments (Atom)
2 comments:
Boy am I happy to never again have to deal with that system. I can't imagine having to delve into it in the manner and depth that you do. Hang in there.
Actually, I wasn't talking about the big three-letter system as a whole. I was talking the about a specific part of it that you probably have not seen directly, though you have certainly seen its fruits.
Post a Comment