Ask HN: How do you introduce new team members to your codebase? - mlejva
======
mlejva
I might give you my experience from the other side of a table - how I was
introduced to the codebase in my last job.

On the first day, I sat down with my lead and for about ~3 hours he was
explaining to me the whole codebase. It was overwhelming but the codebase
wasn't that big (~18k LOC).

I'm not saying that the approach was good/bad. Just sharing my experience.

I wonder whether this approach is common.

------
tathagatadg
Show:

* give an architecture walk thru

* give a directory walk-thru

* show the hot modules. something like
    
    
      git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10
    

* if can generate a dag of module dependency, that would help

* walk thru of the test cases

hands on:

* Ask them to add log messages at strategic places (find needle in haystack)

* Add new test cases in areas with low/no coverage

both are very low risk ways to get familiar with the code base

~~~
mlejva
Do you keep some internal programming knowledge for the team?

------
tarcio
There's always a story behind every codebase. Taking the new team member
through the codebase at a high level, telling the story and explaining how
everything fits together and is deployed is a time well spent.

It helps me connect with them, develops empathy, understanding and aids my
form of communication with them.

The how is explained above. Why you should is "because humans".

