Onboarding

Discover insider secrets on engineering onboarding as I share insights from exclusive meetings with representatives from top tech giants: Coinbase, Google, Lyft, Netflix, Robinhood, Spotify, Shopify, Twitter, Twilio, and Uber.
Onboarding

On this page

I met with representatives from Coinbase, Google, Lyft, Netflix, Robinhood, Spotify, Shopify, Twitter, Twilio, and Uber to discuss engineering onboarding best practices. Below is a summary of the key insights.

Engineering Onboarding Goals

  • Create a world-class onboarding experience: Model excellence in onboarding.
  • Tool Accessibility: Ensure engineers have access to the necessary tools and information when needed.
  • Holistic Understanding: Provide a comprehensive overview of company technologies and the engineering ecosystem.
  • Increase Engineering Velocity: Reduce time to effectiveness and prepare engineers to start shipping code.
  • Cultural Integration: Introduce engineering culture and guiding principles, fostering cultural immersion and camaraderie.
  • Foster Collaboration: Encourage engagement with engineers outside their immediate team.
  • Foundational Knowledge: Provide an understanding of stack processes for building further knowledge.
  • Mission Alignment: Unite engineers towards a shared mission.

Onboarding Sections

Asynchronous Learning

  • Flexible Training: Deliver training and materials that can be accessed anytime.
  • Supplemental Resources: Offer additional training from third-party providers like LinkedIn Learning, Pluralsight, and Udemy.

Synchronous Sessions

  • Leadership Interaction: Host fireside chats with engineering leaders.
  • Tooling and Processes: Share team expectations and norms.
  • Expert Sessions: Conduct lightning talks and Ask Me Anything (AMA) sessions with subject matter experts.
  • Technical Talks: Organize tech talks by experts to educate new hires.

Belonging and Support

  • 1:1 Pairing: Pair new hires with experienced team members for on-the-job training.
  • Sense of Belonging: Communicate the new hire’s place within the team and company.
  • Buddy System: Assign buddies to support and guide new hires.
  • Mentorship: Provide formal or informal mentorship opportunities.
  • Social Events: Organize events to promote socializing and team bonding.
  • Personalized Onboarding: Tailor onboarding to meet the unique needs of each type of engineer.

Documentation and Knowledge Sharing

  • Architecture Overview: Provide a detailed overview of the company's technical architecture.
  • Business Area Insights: Offer training on different business areas within the company.
  • Hands-on Exercises: Include code lab exercises or starter tasks.
  • Support Tickets: Assign support tickets to help new hires learn about the product and support processes.
  • Compliance Training: Cover security, privacy, anti-harassment, etc.
  • Developer Handbook: Develop a comprehensive handbook covering development practices and procedures.
  • Department Guide: Create a guide with an overview of each department.
  • Engineering Overview: Provide an overview of the engineering organization and its role within the company.
  • Glossary: Offer a list of acronyms and terms used within the company.
  • High-level Architecture: Overview of the company's technology stack and architecture.
  • Labs: Develop labs to teach the top programming languages and DevOps tools.
  • Company Overviews: Provide high-level overviews of the company, department, team, and engineering culture.
  • Product Training: Train new hires on the company's products.
  • Tools Catalog: List common tools used by each department and instructions on how to use them.

Team Specific

  • Team Introductions: Arrange opportunities for new hires to meet and connect with their team.
  • Team-specific Onboarding: Create tasks and documents specific to each team.

Tips

  • 30/60/90 Goals: Set 1-week, 2-week, and 30-day written goals on Day 1.
  • Confluence Pages: Create a page for each team member outlining their role, responsibilities, and contact information.
  • Identify Overlaps: Find commonalities across different onboarding documents to create a generalized onboarding program.
  • Engineering Personas: Identify different types of engineers and develop targeted training.
  • Checklist: Develop a checklist of important tasks and activities for new hires to complete.
  • Learning Path: Map out a clear learning path for new hires.
  • Narrative-driven Training: Use storytelling techniques for engaging training.
  • Remote-friendly: Ensure onboarding accommodates both synchronous and asynchronous remote learning.
  • Development Setup: Provide instructions for setting up the development environment.

Evaluation

  • Surveys: Conduct course satisfaction surveys at the end of each session or day.
  • Self-assessment: Use surveys to gauge self-perceived confidence in completing key tasks.
  • Manager Feedback: Survey managers on their confidence in the new hire's capabilities.
  • Periodic Surveys: Conduct onboarding experience surveys at 1 month, 3 months, and 6 months.
  • Facilitator Feedback: Have the DevEd team observe and provide feedback to facilitators.
  • Interactive Assessments: Use tools like Camtasia, Ellucidat, or Articulate to add assessments within videos or slides.
  • Polls: Use Zoom or Google Meet polls to test understanding.
  • Retrospectives: Hold stand-up retrospectives with onboarding participants.
  • Productivity Metrics: Measure developer productivity, such as time to first commit.
  • New Hire Feedback: Ask recent hires what they wish they’d known sooner and document it.

Example Onboarding Modules

  • Setup Your Computer: Written and video tutorials for setting up the development environment.
  • Engineering Ecosystem: Overview of engineering categories and their contributions to company goals.
  • Coding Practices: Walk-through of the software design life cycle and the Paved Road (Golden Path).
  • Technical Architecture: Overview of infrastructure, including cloud and microservices.
  • Productivity Tips: Essential services, quick tips, and how to find information and ask for help.
  • Security Essentials: Training on secure code deployment and common security challenges.
  • Tools Training: Separate sessions for development tools (e.g., Docker, Git, internal CLI).

Discipline-Specific Onboarding

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

Example Workflow

  • L&D Coordination: Align schedules with the company’s Learning & Development team.
  • Automated Emails: Send instructions on setting up the development environment and provide resource links.
  • Event Management: Use a platform to manage onboarding events for new engineers.
  • Recorded Sessions: Host recorded sessions and slides in a Learning Management System with interactive elements.
  • Live AMA Sessions: Conduct live AMA sessions with SMEs, collect and vote on questions, and store Q&A in a knowledge base.

Subscribe to Developer Enablement newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!