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 onboardingReview the files below or copy the command above to add this skill to your agents.
---
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
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.
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.
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.