Smooth Developer Onboarding is as Important as Code Readability
When a new hire joins a team dealing with the development or sustaining of a large-scale application there are a few things that they would need to form a basic understanding of the system:
- Deeper understanding of what the business about
- Get a view of the system’s architecture for the software system and the deployment view.
- Get a bird’s eye view of the system’s dependencies. At least the immediate dependencies.
- History lessons, how the system came to be at the current state. Maybe ADRs would help with this.
- Learn about what are/were the push and pull resulted in the current state (Lack of maintenance, lack of test, long release cycles, well automated, etc.)
- Learn how to go through a development cycle of checking the code out, make a small fix/change, run the tests, go through the release cycle.
In some organizations, these steps take months to complete. Or some of the above may not even be possible, because nobody knows the context of some decisions and some paths taken.
It always pays off to make any onboarding as easy as it can get. Onboarding is a recurring cost like reading/changing. So if clean code matters, so should a clean onboarding.
There are plenty of reasons for the first days of software developers starting a new job being less than ideal. From poor security onboarding to lack of a buddy to walk them through the day-to-day of work-life for the first few days. Details of that is a subject of another series of blog posts