It is nice going back to code that you have not visited in a while and still being able to pick up the structure of the code and start working on it again quickly. There are a lot of good courses available for free, but one of my favorites is Software Construction from MIT OCW. It is a practical course, and one of the key lessons is to try to write software that is “ready for change”. Keeping this in mind in your personal projects and in professional projects will pay dividends down the road and win you a lot of friends (including your future self).