Whether you are joining a new team, or a new developer is joining your team, the expectation is quite the same - "a good quality codebase that will help us understand the product without having to bug the rest of the team". How can we work towards building such a codebase?