Many companies have built up an onboarding program because the evidence is clear: a great onboarding experience provides fantastically positive outcomes.
It accelerates code contributions (aka Day 1 to first commit).
It teaches a macro view of the system rather than a file or string of files in a codebase.
It provides a first impression of the company to the new employee that is warm and welcoming.
It might be trivial and perhaps silly, but it’s amazing how many people perform a set of instructions and then not be able to explain what they did. Research shows that having objectives for lessons and referring to them increases outcomes. In this study, while classes did not have increased engagement from objectives (ie objectives remain boring 🤣), class averages increased from 77% to 93% all from the simple act of stating the objectives of the lesson.
So paired with objectives, good documentation, simple development environment setup, and meetings with a buddy empower new engineers to grow along the plan you set.
The plain addition of objectives may not provide the perfect onboarding experience, but they do provide actionable next steps. Your feedback will be how well your lessons meet the objectives which will ultimately improve your onboarding flow over time.