An effective onboarding process is important for productivity and morale. For engineers, this process begins when the candidate accepts the job offer and ends when their code is first used by your customers. Onboarding can be broken down to two phases: the time before the first day and the time to the first production deploy. Hiring managers should make sure both phases are executed as efficiently as possible.
Before the First Day
Starting a new job can be stressful. The time between accepting an offer and showing up the first day can be filled with anticipation as well as anxiety. Once the the Employment Agreement is signed I make sure to immediately set up all internal accounts for the new hire. At Localytics, this means email account and distributions, Slack account and channels and Github access. We usually have employees contributing to our internal technical discussions before their start date which provides us value and makes them feel like a part of the team.
This is also the time to invite new hires to any company social events occurring before their start date. If the start date is not for a few weeks, invite the employee out to lunch with the team. It is important to keep the connection warm.
Even before the first day in the office, employees should have the opportunity to experience the culture and feel as though they are a part of the team. It makes the first day smoother and reduces the risk of counter offers.
First Push to Production
On the first day, the newly minted engineer should be empowered to make an impact as soon as possible. Ideally, engineers should deploy to production on their first day.
At Localytics, our most recent hire and new graduate, Chris Jelly, deployed an important and non-trivial enhancement on his first day. In part, this was facilitated by our prior investment in internal tools which should be a priority in any technology company.
Workstations should be set up in matter of minutes. We maintain a workstation setup script based on Thoughbot’s laptop script.
Granting access to internal systems for a new employee should be a matter of a couple clicks. We use JumpCloud to manage key access.
Staging code for testing and demos should be as easy as possible. We’ve made this as easy as opening a Pull Request by building a soon-to-be open-source project we call Stager.
Deploying code to production should be as easy as possible. At Localytics, deploying to production is as easy as entering two commands into your chat window.
Empowering your engineers to deploy code on their first day isn’t just important for the short term value for the company, it is also motivating for your engineers. Harvard research shows that nothing is more motivating than progress. Imagine how frustrated Chris would be if his first day was spent toiling with Ruby versions, MySQL drivers and complicated staging environments. Instead, his first day ended with him leaving the building receiving high fives from his new teammates.
P.S.: We are hiring.
Adam Buggia is the Front End Engineering Director at Localytics. You can find this blog post, as well as additional content on their blog located here. You can also follow Adam (@abuggia) on Twitter by clicking here.