I will be changing jobs soon, and I would like to make life as easy as possible for whoever inherits the codebases in the future. There is unlikely to be overlap time where a new hire could ramp up whilst I'm still available. There are multiple codebases, varying in size from 4KLOC - 130KLOC.

What kinds of resources are most helpful for new hires? Documentation? Slide decks? Comments? Test coverage? Structure / quality of the code? Something else? All of the above? What value weights correspond to each of these?

What aspects of other codebases you have encountered in the past have made learning easy or difficult? Are there any language specific issues to be concerned with? I welcome a wide variety of answers since different things will work for different people.

  • 1
    “I welcome a wide variety of answers” – unfortunately, Stack Exchange is not a good fit for discussions, see also Why was my question closed as "Too Broad?". This is a great question but it would fit the style of Quora or Reddit much better. – amon Mar 12 '19 at 17:11
  • 2
    Sorry, but you are too late. Best option is to share the knowledge of the codebase as it is created. Second best is to document it as it is created and have that documentation reviewed. Creating documentation right before transition is probably not going to help anyone. – Euphoric Mar 12 '19 at 17:44
  • Better yet... don't comment the code at all! Then have the new person read this: I've inherited 200K lines of spaghetti code — what now?. (I'm only kidding :)) – Greg Burghardt Mar 13 '19 at 14:39