I have plenty to say - but, don't care to relive most of it.
Technically - the code was a nightmare. They have maybe 60 installs of their software, all divergent. All classic ASP - and all spaghetti code. They didn't have a library of reusable code when I started (I started one) - and this is software that has been developed over the past 20 years.
So - let that sink in. They have 60 installs of their application - the code and databases for each are different. Top that off with extremely poor coding practice and careless disregard for design - and they don't realize why they are stuck in constant maintenance mode? Adding new features to their product will continue to be a struggle until they get their code reunified. That was my goal.
Databases are of the poorest design. Dozens of triggers literally 20k lines long. Instead of thinking through a summary table properly, they simply make a column for each value - i.e. JanTotalXXX, FebTotalXXX - and when they ran out of columns (1024!), they simply added another table. The code (ASP and TSQL) is for some reason all left-justified. Who would do that?
What happened here is someone had a good idea and has been playing software developer for twenty years. They were able to cludge a solution together - and instead of continually refining one version of their code and make it work for multiple companies they simply copied the code for each new client - and it got waaaay out of hand.
They played off the divergent code as a strength ("we customize the code for each client!") - but that is just a poor excuse for not knowing how to write code to handle multiple cases.
When hired - I realized we would be in constant maintenance mode unless we reunified the code (clients). I spent 60-80 hours a week writing maintainable code - with an eye always towards the goal of reunification - extracting the common code to libraries. They didn't get it - they didn't see the effort I put in. I was constantly berated as being slow. They had someone putting in tons of hours (salary) to make their product better - and they put me down.
Management was terrible. Disrespectful. Controlling. Nasty. Petty. Arbitrary. Conceited. Unappreciative. Closed minded.