Engineering Onboarding That Works

October 7, 2019

Engineering onboarding is broken at most companies. New hires spend weeks reading outdated documentation, bothering colleagues with questions, and fighting with development environments. Months pass before they’re productive.

Better onboarding accelerates time to productivity while building lasting foundations.

Goals of Onboarding

Day 1 Goals

Week 1 Goals

Month 1 Goals

Quarter 1 Goals

The Onboarding System

Pre-Day 1

Before they arrive:

✓ Accounts created (email, Slack, GitHub, etc.)
✓ Equipment ordered and configured
✓ Onboarding buddy assigned
✓ First week calendar scheduled
✓ Team notified of start date
✓ Welcome materials sent

Day 1 Checklist

## Day 1 Agenda

### Morning
- [ ] Welcome, introductions
- [ ] HR paperwork (if not done)
- [ ] Equipment setup
- [ ] Access verification (can log in to everything)

### Afternoon
- [ ] Development environment setup
- [ ] First build of the project
- [ ] Pair with buddy on small task
- [ ] End-of-day check-in

Development Environment

One command should work:

# Clone repo
git clone git@github.com:company/app.git

# Setup everything
make setup
# Installs dependencies
# Configures local services
# Seeds database
# Runs tests

# Start development
make dev
# Opens browser to http://localhost:3000

Time to “it works”: less than 1 hour.

First Week Structure

Day 1: Setup + First Build
Day 2: Architecture Overview + First PR
Day 3: Product Deep-Dive + Feature Work
Day 4: Continue Feature + Team Processes
Day 5: Deploy to Production + Week Review

Onboarding Buddy

Assign a buddy who:

Buddy responsibilities:

Starter Tasks

Pre-selected tasks for new hires:

## Good First Issues

- [ ] Fix typo in error message
- [ ] Add missing validation
- [ ] Update outdated dependency
- [ ] Write test for untested function
- [ ] Improve error handling in X

Criteria:

Documentation

What new hires need:

## Engineering Handbook

### Getting Started
- Development environment setup
- First PR guide
- Common commands

### Architecture
- System overview (with diagrams)
- Service responsibilities
- Data flow

### Processes
- How to deploy
- On-call expectations
- Code review norms
- Sprint process

### Culture
- Team values
- Decision-making
- Communication norms

Keep it current. Outdated docs are worse than no docs.

Common Mistakes

Information Overload

❌ "Here's 50 pages of documentation to read"
✓ "Here's what you need for today. More later."

Sink or Swim

❌ "Here's your project. Good luck."
✓ "Here's your first task. Let's work on it together."

No Structure

❌ "Just ask if you need anything"
✓ "Here's your schedule for the week"

Outdated Materials

❌ "Follow these steps (from 2017)"
✓ "Run 'make setup' and it'll work"

Assuming Knowledge

❌ "Just use our standard pattern"
✓ "Let me show you our pattern and why we use it"

Measuring Onboarding

Quantitative Metrics

time_to_first_pr:
  target: < 2 days
  actual: ?

time_to_first_production_deploy:
  target: < 1 week
  actual: ?

time_to_full_productivity:
  target: < 2 months
  actual: ? (survey-based)

Qualitative Feedback

30/60/90 day check-ins:

- What's going well?
- What's confusing?
- What would have helped?
- What should we change?

Iterate

Use feedback to improve:

Checklist Template

## New Hire Onboarding: [Name]

### Pre-Start
- [ ] Equipment ordered
- [ ] Accounts created (list)
- [ ] Buddy assigned: [Name]
- [ ] Calendar invites sent
- [ ] Welcome email sent

### Day 1
- [ ] Badge/access working
- [ ] Equipment set up
- [ ] Development environment working
- [ ] First build successful
- [ ] End-of-day check-in done

### Week 1
- [ ] First PR merged
- [ ] Team lunch scheduled
- [ ] Architecture overview completed
- [ ] Key 1:1s scheduled
- [ ] First feature assigned

### Month 1
- [ ] 30-day check-in done
- [ ] Feature shipped
- [ ] On-call shadowing (if applicable)
- [ ] Feedback collected

Key Takeaways

Good onboarding is an investment. The payoff is faster productivity and better retention.