Having new people join the team always brings great insight, even if they are kind enough to come onto the project not firing criticisms immediately. When introducing them to a new codebase, I find it’s important to listen for yourself as you’re showing them for key phrases such as ideally we would have, I’m not particularly proud of, I have no idea why this is here, or this is a work-around.

Circumstances change and constraints in the past may no longer apply. All of this means you can continue to refactor the codebase to be clearer and easier to maintain. It may not mean you can fix things straight away but at least you know which parts you can improve on.