Ask HN: Does any body work on a huge (and old) code base that is not a mess?
Still Longer Version: I am trying to understand the state of the industry.
Systems will always get more complex. There is no doubt about that. But I am interested in knowing if there is something that teams are doing to ensure that years after working on a code base, new changes "feel easy".
"Feel Easy" would be explained as: A new change comes along and it is clear and apparent that they just have to add a function somewhere and they are good to go. (Things like TDD help with giving confidence. But, TDD does not catch it all. So, even with TDD we still have to cross our fingers.)
"Not Feeling Easy" is when a new change comes along and it feels like: "Okay, to make that work, I am going to have to go check X and Y. Then I will cautiously make the change and hope that nothing else goes wrong."
Design Principles In OO are supposed to give this to us. But what is the reality in the wild? Does everybody feel like they have delivered on this promise? Or do changes still feel difficult to deal with?
Is this an inherent problem to code/programmers/human nature. Or maybe it is not a problem. Maybe there are teams and companies where the above does not happen. (I have not seen any. I have been in the field for quite a bit. But is it my exposure that is lacking? Or is this a problem everywhere?)