I was warned when i took this job. I was warned about the code base. Well, after my last (and hopefully NOT "most recent") job in Nashville, i figured ANY code base would be better than that hell hole. And while this job is soooo much better than that rat race ... i am starting to see the writing on the wall.
Imagine a group of smart, productive, SANE programmers work for Company X. They develop a tool to be used by the clients of Company X (Cox). However, CoX is concerned because their clients are frankly too retarded to understand how to use this product the way it was intended. In short, their clients are not skilled enough to plug in a computer, let alone use a complex system that really isn't that complex if you just sit down and think about how building blocks fit together. AKA ... design! The programmers make a pretty kick ass tool, open source the tool, and then leave CoX. They take their open source tool and use it the way it was intended to be used for other clients, who understand that ... well, IT is hard dammit. Meanwhile, CoX continues to abuse the tool because their user base is just too unskilled to actually "do their job."
That's where i fit in. I bastardize this tool to make it easier for our clients to use it. That would be fine for me if it didn't mean actually "denormalizing" Object Oriented programming. After all, if you are going to do that, then why make it OOP in the first place?
"But ... doesn't that mean that the tool is not up to spec? I mean, after all, if it doesn't fit the clients' needs, then it is broken. Right?"
Perhaps so ... but, pray tell, why then are there OTHER clients out there using it properly?