We're all software developers
But no, seriously, I take you at your word (as I am one too, it'd be a bit pointless to get into
that time-honoured CFC back-and-forth discussion, haha). But as a software developer you should also know the paramount importance of making assumptions about a codebase that you have little experience with. Or no experience with, even. I don't know what you have experience with, but I don't
think you're a Firaxis developer. Even access to the core DLLs only affords so much insight; bad
design is a specific result of scope and / or budget (it's not wholly scope, as you seem to be saying) - we can criticise the state of the code available to us, but we can't speculate beyond that.
Or, well, we can, but it ultimately comes down to opinion wrt. the specific experiences of the people talking (both of being developers and likely still having very different backgrounds).