Onboarding

3 min read

I met with Coinbase, Google, Lyft, Netflix, Robinhood, Spotify, Shopify, Twitter, Twilio, and Uber to discuss Engineering Onboarding best practices and compiled them into a summary.

Engineer Onboarding Goals

  • Create a world-class onboarding experience and model excellence
  • Ensuring engineers have the tools necessary to find the information when they need it in the future.
  • Provide a holistic understanding of company technologies and the engineering ecosystem.
  • Increase engineering velocity, reduce time to effectiveness, get engineers ready to ship.
  • Introduction to engineering culture and guiding principles, cultural immersion, imbue culture, and camaraderie.
  • Foster collaboration and community with the opportunity to engage with other engineers outside their team.
  • Stack processes understanding, give them the foundation for which they can stack additional knowledge.
  • Unite engineers to a shared mission.

Onboarding Sections

  • 1:1 pairing, Buddies and/or Mentoring
  • Architecture Overview
  • Business area deep dives
  • Checklist of things all engineers should have completed (e.g. certain number of PRs, pair programming sessions, etc)
  • Code Lab exercises or starter tasks
  • Completing support tickets
  • Documentation
  • Engineering org overview
  • Fireside chat with eng leader
  • Going through Engineering Guidebook or Checklist
  • Learning path (first week, first month, first 90 days)
  • Lightning talks and Ask me Anything (AMA) consultations with SME’s
  • Narrative-driven asynchronous training
  • Internal tooling and processes communicating team expectations and norms.
  • Meeting the Team
  • Personalizing onboarding to the type of engineer as well as a general onboarding for all engineers.
  • Product Training
  • Remote-friendly - synchronous and asynchronous options.
  • Social events to foster connection
  • Supplemental Training (sometimes by a content provider like Linkedin Learning, Pluralsight, Udemy)
  • Tactical (Development environment setup)
  • Team-specific documents and tasks
  • Tech talks

Evaluation

  • Surveys
  • Course satisfaction survey offered at the end of each session or the end of each day.
  • If using google forms for  surveys use an app script to convert the form submissions into a report for training facilitators
  • Survey of Self-perceived confidence to complete key tasks
  • Manager Survey of manager reported confidence across key tasks for employee
  • Onboarding experience surveys at 1 month, 3 months, and 6 months
  • DevEd team observing and giving notes to facilitators.
  • In-activity questions (using Camtasia, Ellucidat or Articulate to add assessments of understanding in videos or slides)
  • Zoom or Google Meet polls to test understanding
  • Stand up retrospective with onboarding participants at the end of onboarding
  • Measuring developer productivity (time to first commit)

Example of Onboarding Modules

  • Setup your Computer - A written and video tutorial with step-by-step instructions on how to set up your development environment on your laptop.
  • Engineering Ecosystem - A high-level overview of the various engineering categories at your company (examples: platform, security, data, device, cloud). Including what they do, how they contribute to the overall company goals, and how to contact them with questions.
  • How we code - A high-level walk-through of the software design life cycle at your company. Including an introduction to the Paved Road (Golden Path) which are the tools and services that are officially supported by your Platform Engineering teams.
  • Tech Architecture - An overview of the infrastructure (cloud, microservices, etc..)
  • Tech Essentials - A list of productivity tips including how to find information, ask for help, search code, go links, and all the various essential services or quick tips.
  • Security Essentials - how to securely deploy code, an overview of the tools and systems used to solve common security challenges. Provide context on some of the security choices in the cloud architecture, and get introduced to the security teams.
  • Tools Training - You may need separate sessions for the tools used for development at your company. Examples: Docker, Generic OSX tools, Git, Homebrew, Internal CLI, Internal Libraries or Plugins, Internal Deployment Tools, Jenkins.

Examples of Discipline-Specific Onboarding

  • Backend
  • Data
  • Frontend
  • GraphQL
  • Mobile
  • Observability/Monitoring
  • Production
  • Platform
  • Resiliency

Example Workflow

  • Coordinate with the company L&D team to align schedules since L&D performs the general company onboarding.
  • Automated email that points to an onboarding website with instructions on how to set up their computer for development, a high-level overview of engineering, and quick links of commonly used resources with descriptions.
  • An onboarding course in an event management platform with automated enrollment into events for new engineers.
  • Recorded onboarding sessions and slides hosted in a Learning Management System with engaging activities, self-assessment, labs, and discussion forums.
  • Live AMA sessions with various SMEs on tools and services. Collect and vote on questions using a service like Sli.do.  Store all questions and answers in a knowledge base as a resource for future new hires.