Onboarding in Software Engineering

How do software developers explain their code to one another? What’s the best way to understand unfamiliar code? Which are the most important parts of a codebase for a new developer?

In my research, I’m addressing these questions by analysing onboarding sessions from both commercial and academic software development teams.