The organization that I work for is in a bit of an unusual situation. We have a group of core developers (three people) who have been on this project for over twenty years and a group of junior developers (six people) who have been on the project for less than three years (most less than one year). There's no one in between those two groups.<p>The project itself has been ongoing for over thirty years, and we are struggling to transfer knowledge of the intricacies of the project from the seniors to the juniors. Does anyone have any recommendations for an efficient way to do this?
I've found pair coding very effective in knowledge transfer for large code bases. It's hit or miss, since it requires certain combinations of personality types, but if you can get this running effectively it can communicate many more details than a traditional presentation-style overview. I'm not aware of any silver bullet for solving this type of problem, but that has worked well for me in the past.
I think allocation of tasks is the key - make sure they have tasks that push them, and make them explore different areas of the code base, while not demoralising them