My friend Steven Hanley comments on the “Great Hackers” essay, and how the really smart people often don’t much care about the software that their employer ships. I can find parallels between TOWER and this train of thought. Not that the smartest people in research and development at TOWER don’t care about the product or the users, they care a lot. It’s more that they tend to focus on what I would call bang for the buck programming, for instance the generators that Steven mentions.
We often use code generators to help us develop TRIM. Often this will start out as a generation of a lot of the “leg work” code, and then that code will be then tweaked to actually meet the needs of the project in hand. An example is my current Web Service project. There are about 70 ways you can search for a record in TRIM, and there was simply no way that I was going to hand code those 70 search methods for the Web Service version of the SDK. Instead, we used .NET reflection to iterate through the methods and generate a bunch of the code. That code can then be tweaked (if needed) to produce what we actually want.