home / skills / amnadtaowsoam / cerebraskills / onboarding

This skill helps teams design and execute effective developer onboarding to accelerate productivity, ensure codebase understanding, and smooth integration.

npx playbooks add skill amnadtaowsoam/cerebraskills --skill onboarding

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
16.3 KB
---
name: Developer Onboarding
description: Creating effective onboarding processes that help new developers become productive quickly, understand the codebase, and integrate smoothly into the team.
---

# Developer Onboarding

> **Current Level:** Intermediate  
> **Domain:** Team Collaboration / People

---

## Overview

Developer onboarding is the process of helping new team members become productive quickly. Effective onboarding includes clear documentation, mentorship, hands-on tasks, and a structured program that reduces time-to-productivity and improves retention.

## Why Good Onboarding Matters

| Benefit | Impact |
|---------|---------|
| **Faster Productivity** | New hires contribute sooner |
| **Higher Retention** | Better employee satisfaction |
| **Better Integration** | Smoother team assimilation |
| **Reduced Mistakes** | Clearer expectations |
| **Positive Experience** | Strong first impression |

## Pre-Boarding

### Before Day 1

```markdown
# Pre-Boarding Checklist

## Send Welcome Email
- [ ] Welcome email sent
- [ ] Start date confirmed
- [ ] Onboarding schedule shared

## Prepare Equipment
- [ ] Laptop ordered
- [ ] Peripherals (mouse, keyboard, monitor)
- [ ] Software licenses purchased

## Prepare Access
- [ ] Email account created
- [ ] Slack account created
- [ ] GitHub account added
- [ ] Documentation access granted

## Prepare Team
- [ ] Team notified
- [ ] Buddy assigned
- [ ] Calendar invites sent
```

### Welcome Email Template

```markdown
# Welcome Email

Subject: Welcome to [Company Name]!

Dear [New Hire Name],

Welcome to the team! We're excited to have you join us.

## Your First Day
**Date:** [Start Date]
**Time:** [Start Time]
**Location:** [Office Address / Remote]

## What to Bring
- Laptop (if provided)
- Government ID for HR paperwork
- Any questions you have!

## Before You Start
Please complete the following:
1. Set up your GitHub account
2. Install required software:
   - VS Code
   - Git
   - Docker
3. Review our onboarding guide: [Link]

## Your Schedule
**Day 1:** Orientation and setup
**Week 1:** Environment setup and first commits
**First Month:** Complete first feature

## Questions?
If you have any questions before you start, please reach out to:
- [Manager Name]: [Email]
- [Buddy Name]: [Email]
```

---

## Quick Start

### Onboarding Checklist Template

```markdown
# Onboarding Checklist: [Name]

## Pre-Day 1
- [ ] Send welcome email
- [ ] Prepare equipment
- [ ] Create accounts (GitHub, Slack, etc.)
- [ ] Assign buddy/mentor

## Day 1
- [ ] Welcome meeting
- [ ] Team introduction
- [ ] Development environment setup
- [ ] First commit (setup task)

## Week 1
- [ ] Codebase walkthrough
- [ ] First real task
- [ ] Code review participation
- [ ] Documentation review

## Month 1
- [ ] Complete onboarding tasks
- [ ] Attend team meetings
- [ ] Contribute to codebase
- [ ] Feedback session
```

### Onboarding Documentation

```markdown
# Developer Onboarding Guide

## Getting Started
1. Clone repository
2. Run setup script: `./scripts/setup.sh`
3. Read CONTRIBUTING.md
4. Complete first task

## Resources
- Architecture docs: `/docs/architecture`
- API docs: `/docs/api`
- Team wiki: [link]
```

---

## Production Checklist

- [ ] **Welcome Package**: Prepare welcome materials
- [ ] **Equipment**: Set up development equipment
- [ ] **Accounts**: Create all necessary accounts
- [ ] **Documentation**: Onboarding documentation ready
- [ ] **Mentor**: Assign mentor/buddy
- [ ] **First Task**: Prepare first task (not too hard)
- [ ] **Environment Setup**: Development environment setup guide
- [ ] **Codebase Tour**: Codebase overview session
- [ ] **Team Introduction**: Introduce to team members
- [ ] **Processes**: Explain team processes (standup, reviews)
- [ ] **Feedback**: Regular check-ins and feedback
- [ ] **Resources**: Provide learning resources

---

## Anti-patterns

### ❌ Don't: Information Overload

```markdown
# ❌ Bad - Too much at once
## Day 1
- Read all 50 documentation files
- Understand entire codebase
- Learn all tools
# Overwhelming!
```

```markdown
# ✅ Good - Gradual introduction
## Day 1
- Welcome and team intro
- Setup development environment
- First simple task

## Week 1
- Codebase overview
- First real feature
- Code review participation
```

### ❌ Don't: No Structure

```markdown
# ❌ Bad - No plan
"Just start coding and ask questions"
```

```markdown
# ✅ Good - Structured program
## Week 1: Setup and Orientation
- Day 1: Environment setup
- Day 2: Codebase tour
- Day 3: First task
- Day 4: Code review
- Day 5: Feedback session
```

### ❌ Don't: No Mentor

```markdown
# ❌ Bad - No support
"Figure it out yourself"
```

```markdown
# ✅ Good - Mentor assigned
- Buddy: [Name]
- Available for questions
- Regular check-ins scheduled
```

---

## Integration Points

- **Code Review Culture** (`27-team-collaboration/code-review-culture/`) - Review process
- **Knowledge Sharing** (`27-team-collaboration/knowledge-sharing/`) - Knowledge transfer
- **Documentation** (`21-documentation/`) - Onboarding docs

---

## Further Reading

- [Developer Onboarding Best Practices](https://www.atlassian.com/agile/software-development/onboarding)
- [First 90 Days](https://www.amazon.com/First-90-Days-Updated-Strategies/dp/1422188612)

We're looking forward to working with you!

Best regards,
The [Company Name] Team
```

## Day 1

### Welcome and Setup

```markdown
# Day 1 Schedule

## Morning (9:00 AM - 12:00 PM)
- Welcome and introductions
- HR paperwork
- Equipment setup
- Account setup

## Afternoon (1:00 PM - 5:00 PM)
- Development environment setup
- Repository access
- Team introduction
- First commit
```

### Setup Checklist

```markdown
# Day 1 Setup Checklist

## Equipment
- [ ] Laptop received
- [ ] Peripherals connected
- [ ] Software installed

## Accounts
- [ ] Email account set up
- [ ] Slack account set up
- [ ] GitHub account set up
- [ ] Documentation access

## Development Environment
- [ ] VS Code installed
- [ ] Git installed
- [ ] Docker installed
- [ ] Node.js installed
- [ ] Database installed

## Repository Access
- [ ] GitHub access granted
- [ ] Repository cloned
- [ ] Dependencies installed
- [ ] First commit made
```

### Team Introduction

```markdown
# Team Introduction

## Meet the Team
- **[Name]** - [Role]
- **[Name]** - [Role]
- **[Name]** - [Role]
- **[Name]** - [Role]

## Your Role
- **Title:** [Job Title]
- **Team:** [Team Name]
- **Manager:** [Manager Name]
- **Buddy:** [Buddy Name]

## Team Communication
- **Slack:** [Channel Name]
- **Standup:** [Time]
- **Sprint Planning:** [Day/Time]
- **Retrospective:** [Day/Time]
```

## Week 1

### Environment Setup

```markdown
# Week 1: Environment Setup

## Day 1-2: Development Environment
- [ ] Install required software
- [ ] Set up development database
- [ ] Configure environment variables
- [ ] Set up local server

## Day 3-4: Codebase
- [ ] Clone repository
- [ ] Install dependencies
- [ ] Run application locally
- [ ] Run tests

## Day 5: First Commit
- [ ] Create feature branch
- [ ] Make small change
- [ ] Commit and push
- [ ] Create pull request
```

### First Commit Guide

```bash
# First commit guide

# Clone repository
git clone https://github.com/company/repo.git
cd repo

# Create feature branch
git checkout -b feature/first-commit

# Make small change
# Edit a file

# Commit changes
git add .
git commit -m "Add my first commit"

# Push to remote
git push origin feature/first-commit

# Create pull request
# Go to GitHub and create PR
```

## First Month

### Complete First Feature

```markdown
# First Month: Complete First Feature

## Week 1: Environment Setup
- [ ] Development environment set up
- [ ] Codebase understood
- [ ] First commit made

## Week 2: Small Task
- [ ] Pick up small task
- [ ] Implement feature
- [ ] Write tests
- [ ] Create PR

## Week 3: Code Review
- [ ] Address review feedback
- [ ] Merge PR
- [ ] Deploy to staging

## Week 4: Production
- [ ] Deploy to production
- [ ] Monitor metrics
- [ ] Document learnings
```

### Onboarding Checklist

```markdown
# Onboarding Checklist

## Week 1
- [ ] Development environment set up
- [ ] Codebase cloned
- [ ] Dependencies installed
- [ ] Application running locally
- [ ] Tests passing

## Week 2
- [ ] First PR created
- [ ] Code review completed
- [ ] Feedback addressed
- [ ] PR merged

## Week 3
- [ ] First feature completed
- [ ] Tests written
- [ ] Documentation updated
- [ ] Deployed to staging

## Week 4
- [ ] Deployed to production
- [ ] Metrics monitored
- [ ] Learnings documented
- [ ] Onboarding complete
```

## Buddy System

### Assign Mentor

```markdown
# Buddy System

## Buddy Responsibilities
- Help with onboarding
- Answer questions
- Provide guidance
- Introduce to team

## Buddy Activities
- Daily check-ins (first week)
- Weekly 1-on-1s (first month)
- Code review sessions
- Pair programming

## Buddy Checklist
- [ ] Welcome new hire
- [ ] Introduce to team
- [ ] Help with setup
- [ ] Answer questions
- [ ] Provide guidance
```

### Buddy Schedule

```markdown
# Buddy Schedule

## Day 1
- Welcome and orientation
- Team introduction
- Setup assistance

## Week 1
- Daily check-ins
- Answer questions
- Help with tasks

## Week 2-4
- Weekly 1-on-1s
- Code review sessions
- Pair programming

## Month 2+
- Monthly check-ins
- Career guidance
- Support as needed
```

## Documentation

### Setup Guide

```markdown
# Development Setup Guide

## Prerequisites
- Node.js 16+
- Git 2.0+
- Docker 20.0+
- VS Code

## Installation

### 1. Clone Repository
```bash
git clone https://github.com/company/repo.git
cd repo
```

### 2. Install Dependencies
```bash
npm install
```

### 3. Set Up Environment
```bash
cp .env.example .env
# Edit .env with your values
```

### 4. Start Database
```bash
docker-compose up -d
```

### 5. Run Migrations
```bash
npm run migrate
```

### 6. Start Development Server
```bash
npm run dev
```

## Running Tests
```bash
npm test
```

## Common Issues
- [Issue 1]: [Solution]
- [Issue 2]: [Solution]
- [Issue 3]: [Solution]
```

### Architecture Overview

```markdown
# Architecture Overview

## System Architecture
```
┌─────────────────────────────────────────────────────────┐
│                    Load Balancer                        │
└─────────────────────────────────────────────────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        │                 │                 │
┌───────▼────────┐ ┌─────▼──────┐ ┌────▼──────┐
│   Frontend     │ │  Backend   │ │ Database  │
│   (React)      │ │  (Node.js) │ │(PostgreSQL)│
└────────────────┘ └────────────┘ └───────────┘
```

## Components
- **Frontend:** React application
- **Backend:** Node.js API
- **Database:** PostgreSQL

## Data Flow
1. User makes request to frontend
2. Frontend calls backend API
3. Backend queries database
4. Backend returns data to frontend
5. Frontend displays data to user
```

## Small First Tasks

### Easy Wins

```markdown
# First Tasks

## Task 1: Fix Typo
- Fix typo in README
- Update documentation

## Task 2: Add Test
- Add unit test for function
- Ensure test passes

## Task 3: Update UI
- Update button color
- Add new icon

## Task 4: Fix Bug
- Fix reported bug
- Add test case
```

### Task Selection

| Task | Difficulty | Time |
|-------|-----------|------|
| **Fix Typo** | Easy | 1 hour |
| **Add Test** | Easy | 2 hours |
| **Update UI** | Medium | 4 hours |
| **Fix Bug** | Medium | 6 hours |

## Regular Check-Ins

### 1-on-1s

```markdown
# 1-on-1 Schedule

## Week 1
- Daily check-ins
- Discuss progress
- Answer questions

## Week 2-4
- Weekly 1-on-1s
- Review progress
- Set goals

## Month 2+
- Monthly 1-on-1s
- Career development
- Feedback
```

### 1-on-1 Template

```markdown
# 1-on-1 Template

## Agenda
1. Wins since last meeting
2. Challenges faced
3. Questions
4. Goals for next period
5. Feedback

## Wins
- [ ] What went well?
- [ ] What did you learn?

## Challenges
- [ ] What was difficult?
- [ ] What help do you need?

## Questions
- [ ] Any questions?
- [ ] Anything unclear?

## Goals
- [ ] What do you want to achieve?
- [ ] How can I help?

## Feedback
- [ ] Any feedback for me?
- [ ] Any feedback for team?
```

## Access and Tools Setup

### Accounts

```markdown
# Account Setup

## Email
- [ ] Email account created
- [ ] Email configured
- [ ] Signature added

## Slack
- [ ] Slack account created
- [ ] Channels joined
- [ ] Profile updated

## GitHub
- [ ] GitHub account added
- [ ] SSH keys configured
- [ ] Two-factor enabled

## Documentation
- [ ] Confluence access
- [ ] Notion access
- [ ] Wiki access
```

### Tools

```markdown
# Tool Setup

## Development Tools
- [ ] VS Code installed
- [ ] Git installed
- [ ] Docker installed
- [ ] Postman installed

## Communication Tools
- [ ] Slack installed
- [ ] Zoom installed
- [ ] Google Meet installed

## Project Management
- [ ] Jira access
- [ ] Trello access
- [ ] GitHub Projects access
```

## Team Culture Introduction

### Values

```markdown
# Team Values

## Our Values
- **Collaboration:** Work together
- **Quality:** Deliver excellence
- **Innovation:** Embrace change
- **Transparency:** Be open
- **Respect:** Treat everyone well

## How We Work
- **Communication:** Open and honest
- **Decision Making:** Data-driven
- **Problem Solving:** Collaborative
- **Learning:** Continuous improvement
```

### Norms

```markdown
# Team Norms

## Communication
- **Slack:** For quick questions
- **Email:** For formal communication
- **Meetings:** For discussions

## Work Hours
- **Core Hours:** 10 AM - 4 PM
- **Flexible Start:** 8 AM - 10 AM
- **Flexible End:** 4 PM - 6 PM

## Meetings
- **Standup:** Daily at 10 AM
- **Sprint Planning:** Every Monday
- **Retrospective:** Every Friday
```

## Measuring Onboarding Success

### Time to First Commit

```javascript
// Track time to first commit
const firstCommitDate = '2024-01-15';
const startDate = '2024-01-10';
const timeToFirstCommit = daysBetween(startDate, firstCommitDate);

// Goal: < 3 days
```

### Time to First PR

```javascript
// Track time to first PR
const firstPRDate = '2024-01-18';
const startDate = '2024-01-10';
const timeToFirstPR = daysBetween(startDate, firstPRDate);

// Goal: < 1 week
```

### Satisfaction

```javascript
// Track satisfaction
const satisfaction = {
    onboarding: 4.5,
    support: 4.8,
    culture: 4.7
};

// Goal: > 4.0
```

## Remote Onboarding

### Virtual Welcome

```markdown
# Remote Onboarding

## Day 1
- Virtual welcome call
- Team introduction (Zoom)
- Equipment shipped
- Virtual setup session

## Week 1
- Daily video check-ins
- Virtual pair programming
- Online training

## First Month
- Weekly video 1-on-1s
- Virtual team building
- Online collaboration
```

### Remote Setup

```markdown
# Remote Setup Checklist

## Equipment
- [ ] Laptop shipped
- [ ] Monitor shipped
- [ ] Peripherals shipped
- [ ] Equipment received

## Software
- [ ] VPN configured
- [ ] Remote access set up
- [ ] Communication tools installed
- [ ] Collaboration tools installed

## Support
- [ ] IT support contact
- [ ] Onboarding buddy assigned
- [ ] Virtual office hours scheduled
```

## Real Examples

### Onboarding Plan

```markdown
# Onboarding Plan

## Week 1
- Day 1: Welcome and setup
- Day 2: Environment setup
- Day 3: Codebase introduction
- Day 4: First commit
- Day 5: Team introduction

## Week 2
- Small task completion
- Code review participation
- Team meetings

## Week 3
- Feature development
- Testing
- Documentation

## Week 4
- Feature completion
- Deployment
- Onboarding review
```

## Summary Checklist

### Preparation

- [ ] Welcome email sent
- [ ] Equipment prepared
- [ ] Accounts created
- [ ] Team notified
- [ ] Buddy assigned

### Day 1

- [ ] Welcome and orientation
- [ ] Equipment setup
- [ ] Account setup
- [ ] Team introduction
- [ ] First commit

### Week 1

- [ ] Environment setup
- [ ] Codebase understood
- [ ] First PR created
- [ ] Code review completed

### First Month

- [ ] First feature completed
- [ ] Tests written
- [ ] Documentation updated
- [ ] Deployed to production
- [ ] Onboarding reviewed

Overview

This skill designs and implements developer onboarding programs that shorten time-to-productivity, reduce ramp friction, and improve retention. It delivers practical checklists, first-day and first-month plans, mentor structures, and documentation templates. The approach balances clear structure with paced learning to avoid information overload.

How this skill works

I assess the current onboarding gaps and produce a structured program: pre-boarding tasks, Day 1 schedule, Week 1 activities, and a first-month roadmap. The skill supplies ready-to-use checklists, setup guides, small first tasks, buddy/mentor schedules, and measurement metrics (time-to-first-commit, time-to-first-PR). It also flags anti-patterns and provides remediation steps to keep onboarding consistent and scalable.

When to use it

  • Hiring new engineers or expanding a team
  • Standardizing onboarding across multiple teams or locations
  • Improving retention and new-hire satisfaction
  • Reducing time required for new developers to ship their first change
  • Onboarding remote hires or distributed team members

Best practices

  • Prepare pre-boarding materials and equipment before day one
  • Assign a buddy or mentor with scheduled check-ins for the first month
  • Start with an easy, meaningful first task to build confidence
  • Provide step-by-step environment setup and a small codebase tour instead of overwhelming documentation
  • Measure onboarding success with concrete metrics (first commit/PR, task completion, survey feedback)

Example use cases

  • Create a Day 1 itinerary and welcome email for a remote backend engineer
  • Build a Week 1 plan that includes environment setup, a codebase walkthrough, and the first commit task
  • Define a buddy schedule with daily check-ins in week one and weekly 1-on-1s for the first month
  • Produce onboarding docs: setup scripts, architecture overview, testing and deployment steps
  • Set success metrics and a feedback loop to iterate on the onboarding program

FAQ

How long should structured onboarding last?

A focused onboarding program runs intensively for the first month, with tapered support and monthly check-ins through the first 90 days.

What is a good first task?

Pick a small, visible task—fix a documentation typo, add a unit test, or change a UI microcopy—to validate the developer's setup and give a quick win.