The human brain is hard-wired to take the easy path, to expend the least amount of energy. It’s a survival mechanism. That’s why it’s so hard to change our routines and habits – because doing so takes concerted effort over an extended period of time, which the human brain hates. If we want to change our routines, we need to make the new stuff as easy and visible as possible while making the old stuff as difficult and invisible as possible.
This doesn’t change when humans are grouped together in teams or organizations; those groups have habits, too – we just call them "processes" instead. And because of the aforementioned phenomenon, if we don’t make those processes easy and efficient, they won’t be followed appropriately for any significant amount of time. I use this comparison to illustrate the first of our 11 Questions to a Better Developer Onboarding Program:
Is your Onboarding program consistent and easily repeatable?
To make it consistent, document the entire Onboarding procedure. Define and assign all responsibilities and the timeline of events from start to finish for a new hire. Do not lock the documentation down; keep it open to all employees, and encourage real-time edits so that it remains up-to-date. Likewise for relevant team procedures; document them, share them with the company, and encourage updates. The easier it is to update documentation, the more likely it is to stay updated.
Some helpful things to document:
- Onboarding Program tasks, expectations, and timeline
- Email Templates: Acceptance Response email, Day 1 Introduction email, Welcome Announcement email
- Employee FAQ: What is the pay schedule? What are the company PTO/leave/sick/holiday policies? What are typical/expected working hours?
- Who’s Who?: Who does what around the company? Who can they go to for questions about certain topics?
- Timeline of Events with Dates and Attendees: 1 on 1s, team introduction(s), tours, demos
- Application Ecosystem: What are the applications used to run the business? How do they access them? Where can they learn more about the applications?
Make sure the Onboarding procedures are easy to follow and the Onboarding "environment" is easy to use. Use the same systems and tools that employees use in their normal course of work to manage and deliver the Onboarding program as well. For example, if you always manage your client projects with Jira, then your Onboarding program should be managed out of Jira as well. If there is a completely different process or set of systems to use specifically for Onboarding, or if new hires are sequestered away from their team until their training is complete, that will introduce a ton of friction into the process and make it less likely to succeed. The more closely the Onboarding program mimics real day-to-day work, the easier it is for employees to execute, and the more effective it will be at introducing a new hire to their job.
The most important part of Onboarding is the relationship-building that takes place. If the program is difficult to execute or unclear to follow, then employees will be frustrated and new hires will be confused, which is not a good foundation for new relationships. Use systems and tools to automate away the mechanical aspects of Onboarding (documentation delivery, task assignment, event scheduling, etc) so that you and the new hire can focus on the relationship aspects: fostering trust, confidence, and enjoyment within the team.