Engineering Onboarding Processes at Medium

A couple months into Medium working fully remote, I started thinking about our engineering onboarding processes and looking for any holes that we needed to fill, especially now that we were all off-site. There were some things that, as an organization, we were adjusting to—pairing through Zoom, for instance, or using online tools like Miro for retros—and onboarding seemed like it could use some attention. With the help of Shruthi Adappa, I got to work on what needed to be changed or improved and what else we needed to include.
What we found through research
Efficient onboarding is key. As stated in this Deputy blog post, onboarding helps with employee retention rates, clarifies and sets expectations for the new hire’s role, and lowers employee stress. Having things in place like onboarding classes and customized new-hire checklists shows new hires that you care about them and want them to have the resources they need to succeed. These resources also enable new hires to master their roles at a faster rate. While we had some valuable processes in place, we found the following things through research that gave us ideas of what we could improve.
Provide a variety of learning options
Presenting information in different formats increases a person’s chances of retaining this new information. Say, for example, your company has an onboarding class on your front-end stack; it may be helpful to have written documentation for what’s covered in that class so the new hire can reference it in the future.
Provide documentation in onboarding handbooks and checklists
High-quality onboarding handbooks give new hires a view of what they can expect to learn and provides them with future resources. Customized onboarding checklists give new hires structure and help them see their progress.
Pair new hires with an assigned mentor or onboarding buddy
The mentor or onboarding buddy is ideally another engineer on the team the new hire will be joining. This person’s priority is to be available for the new hire’s questions, help them set up, and guide them through their first projects. The amount of assistance the onboarding buddy will provide depends on the level of the new hire.
Provide checklists for both the manager and onboarding buddy
All the other available onboarding resources are less helpful if the new hire has to search for them on their own. Both the manager and onboarding buddy should have their own checklists to help them complete necessary tasks before the new hire joins. Some of these tasks include:
- Getting the new hire into Slack groups and calendar groups.
- Setting up initial 1:1s with teammates.
- Assigning an onboarding buddy.
- Having a set of projects that the new hire could start on.
Lean into evaluating your own processes
Collecting feedback from everyone involved in the onboarding processes (new hires, onboarding buddies, managers, etc.) is helpful to continue iterating and improving what’s in place so things will be better for the next round of people who join.
Improvements we made
Modified onboarding class requirements and recorded the classes
We have recurring onboarding classes that happen every two weeks. In the past, the new hire took whichever classes the manager thought they needed within the first two weeks of joining. An improvement we decided to make to these classes was giving the manager and onboarding buddy freedom to have the new hire take these classes at some point within their first 30 days of joining. This gives the new hire more time to dive into parts of the code that these classes cover and attend the classes whenever they’d benefit from them most.
We also decided to record all the onboarding classes, which gives new hires another learning option and creates a resource for existing engineers who need a quick refresher.
Ensured continuous updates to our engineering handbooks
We have an engineering handbook compiled of multiple resources that we believe all engineers could benefit from (setting up your dev environment, linking out to more specific handbooks, etc.), but this handbook, and others like it, hadn’t been thoroughly edited in about two years. These are living handbooks that we allow anyone to edit if they’d like, but because nobody explicitly owned the handbooks, there was a lot of outdated information.
As part of making sure these handbooks stay up to date, we assigned points of contact (POCs) who have the knowledge to update information when necessary. The other benefit of having POCs is that new hires now have someone specific to go to if they have questions about a certain topic. We also encourage new hires to update any outdated or incorrect information in our documentation.
Updated and made manager and onboarding buddy checklists remote-friendly

We updated resources on the checklists and made some adjustments so that it could be as remote-friendly as possible.
Updated our feedback loops

We used to have only one survey for new hires. It contained mostly open-ended questions, and we rarely received any submissions. Now we have a more in-depth new-hire form, and we’re working on surveys for the engineering manager and onboarding buddy to use in future iterations. We are finding new ways to make sure these surveys are filled out in a timely manner.
We will also continue to have a dedicated Slack channel for onboarding discussions and suggestions, and we take any feedback we receive and update our onboarding processes accordingly
Onboarding for an organization will never stay the same. Some company-wide practices could change, or engineering could abandon a technology as a whole, and these changes will need to be reflected through the onboarding processes. The last time we revamped our onboarding documentation, it had everything it needed, but that was more than a year ago, and now we’re working fully remote, which is something we didn’t expect! We will have to continue finding ways to learn and adapt to the ever-changing ways that companies are accustomed to, so we can make sure we are providing incoming co-workers with everything they need.
Resources
- https://www.deputy.com/blog/what-is-onboarding-and-why-is-it-important
- https://blog.rstankov.com/onboarding-software-engineers-remote-at-product-hunt/
- https://arc.dev/blog/remote-developer-onboarding-experience-7z0iu5fu3h#start-with-a-manager-onboarding-checklist-(not-a-remote-developer-onboarding-checklist!)
- https://foxbox.com/blog/how-we-onboard-our-remote-engineering-and-product-management-team/
- https://blog.spendesk.com/en/remote-employee-onboarding