I enjoy improving a legacy codebase while still allowing for new features. This requires a clear goal, a disciplined approach, and the necessary technical skills. The goal is to modernize the existing code, by applying best practices, adding tests, refactoring, introducing new technologies, etc. A disciplined approach is necessary so not too many tasks are taken up at the same time. Finally, the correct technical skills are required to know how to apply the maximum of changes with the minimum of risk.