You just hired a new software developer and you want them to contribute right away? Of course, who doesn't. But that begs the question do you have onboarding documentation?
What I have found at different jobs is there is about a two-three month ramp up until I have felt really comfortable with the tech stack, intimately familiar with the codebase, the software used, platform architecture, etc. The one thing in common at each of these companies was limited or no onboarding documentation.
However, I don't think it has to take this long, in fact I believe that if you have solid onboarding documentation and a process to usher in new talent you could significantly decrease the amount of time new developers spend getting acclimated
What is it and why should I care?
Onboarding, also known as organizational socialization, as defined by Wikipedia, is the
"mechanism through which new employees acquire the necessary knowledge, skills, and behaviors in order to become effective organizational members and insiders. It is the process of integrating a new employee into the organization and its culture".
I believe that one of these mechanisms is Onboarding Documentation. I would even go so far to say it is critical in the success of the team and honestly helps with the overall experience of new hires.
I have first hand experience on how the lack of onboarding docs affects developer efficiency and even moral. I have been at companies where the onboarding documents were limited or scattered and multiple new hires have started and they were literally swimming in circles because they couldn't find anything or need another developer to walk through ALL of the setup.
I have heard excuses like oh its "tribal knowledge" or "nobody wants to maintain docs" or "onboarding docs? what are those?". WOW!! I mean I am all for laziness but only if it comes on the back of preparation. Because after all efficiency is addressing an issue, minimizing the downstream effect and thus creating room for other optimizations. In other words just create your onboard docs and you will have more productive engaged devs quicker!
Why should I?
Don't just take my word, there is a lot of research and articles out there, you should care because:
Improving developer efficiency has the potential to increase global GDP by $3 trillion. -Developer Coefficient
Having quality onboarding docs could affect long term retention.
In a study of over 1000 workers 31% left after six months citing the top reasons for leaving were a poor onboarding experience. -Bonusly
69% of employees are more likely to stay with a company for three years if they experienced great onboarding. -SHRM
Possible Implementation Strategies
For centuries, the human race has been documenting wars, successes, failures, recipes, and inventions so why should onboarding documents be any different. Plus given the benefits mentioned above take charge and just do it.
Ideas to get started:
- Speak with stake holders/team leads about where they send new hires looking for documentation and then create a document to track all of those answers
- Start with some sort of Wiki document located in an easy central place. In my job we have a central WIKI document in our main code repository were we direct all new hires to and yes I was the one to start the first onboarding document
- Create an onboarding checklist. Things in this checklist could include: All technologies to install and download, important links to code README's, build/deploy pipelines, and other misc documents like important hr docs, and internal communications
- Create at least one "how-to" on setting up environments. In my job we have at least four different platform environments all using different tech stacks and it gets hairy quick. Documenting it is the easiest way to safeguard against knowledge gaps and to make sure all the teams members can be self-sufficient
- If you don't have any formal onboarding process at least start with having another developer sit with the new hire and help get them all set up
- Remember onboarding docs are living and breathing so find ways to keep them updated. A few suggestions to ensure this happens:
When any new environments are created or new technologies are added make it a requirement that setup instructions are required
- Have a designated person to keep the document updated. If you make the newest developer to the team in charge of this they will have immediate knowledge
- Any new hires you bring onboard, have them update the onboarding checklist if there are pieces they are missing or new as they go through the steps. This gives them buy in and ownership on the first day.
So go forth and create (or update) YOUR onboarding documents and remember:
“You must be the change you want to see in the world.” -Ghandi