Chapter 18 — Student Onboarding
Overview
A new student's first experience with the group's development process shapes their habits for the rest of their time in the group. Onboarding done well produces self-sufficient contributors within two weeks. Onboarding done poorly produces students who are afraid of Git and work around it.
This chapter is a complete protocol for bringing a new student up to speed.
Before the Student Arrives
Prepare the environment before the student's first day:
- Confirm the student's GitHub username (ask them to create one if needed)
- Create the student's collaborator invitation (Settings → Collaborators → Add people)
- Permission level: Write
- Identify the first "good first issue" to assign them
- Have this handbook URL ready to share
Day 1: Environment Setup (First 2 Hours)
Walk through these steps together or assign as self-study with a check-in:
-
Share the handbook. Direct the student to Chapter 1. Ask them to read Chapters 1–3 before the next step.
-
Verify Git installation and configuration:
If not configured: work through Chapter 4 together. -
SSH key setup: Walk through Chapter 5. Verify with:
ssh -T git@github.com -
Accept collaborator invitation: The student must accept the GitHub invitation email. Verify: Settings → Collaborators → confirm the student appears as "Active" (not "Pending").
-
Clone the repository:
Day 2–3: First Branch and Commit
Assign the first task: a "good first issue" labelled good first issue.
Walk through the daily workflow (Chapter 7) with the student. Have them:
git pull origin maingit checkout -b docs/add-your-name(or the actual first-issue branch)- Make a trivial change (add name to
CONTRIBUTORS.md) git add,git diff --staged,git commit -m "..."git push -u origin docs/add-your-name- Open a Pull Request on GitHub using the template
The First PR Review: A Teaching Moment
Review the student's first PR yourself, leaving pedagogical comments:
- Point out what they did well
- Explain (not just flag) any issues with commit message, PR description, etc.
- Approve and merge together so they see the full cycle
This first PR review sets the tone for the student's experience of code review. Make it welcoming.
Week 1–2: Completing the Exercises
Assign the handbook exercises (Chapter 18 of the Student Guide) as structured onboarding work.
Track progress:
| Exercise | Status |
|---|---|
| 1.1 — Environment verified | |
| 1.2 — Repository cloned | |
| 2.1 — First branch and commit | |
| 2.2 — Atomic commits | |
| 3.2 — First PR opened | |
| 4.1 — Review received and responded to | |
| 5.1 — Branch rebased | |
| 6.1 — Conflict resolved |
Check in daily during the first week. The expected timeline for a student to become self-sufficient: approximately 2 weeks.
Onboarding Checklist
- GitHub account created (use institute email)
- Collaborator invitation sent and accepted (Write permission)
- SSH key configured and tested (
ssh -T git@github.com) - Repository cloned successfully
-
git config user.nameanduser.emailset correctly - First branch created
- First commit made (atomic, imperative message)
- First PR opened with complete template
- First PR reviewed and merged
- Student added to group communication channels (Slack/email)
- Student knows to check GitHub Issues for available tasks
- Handbook exercises assigned
- Student is aware of weekly group meeting / code review schedule
Common Onboarding Failures
-
"Just clone it and figure it out." Students who are not walked through the first PR often develop incorrect habits that are hard to correct later.
-
Assigning a complex first issue. The first issue should be trivially easy — adding a name to a list, fixing a typo, updating a comment. The goal is to exercise the workflow, not the physics.
-
Not reviewing the first PR carefully. If the first PR is rubber-stamped without feedback, the student learns that the PR template is optional and commit messages do not matter.
-
No follow-up check-in. Schedule a 15-minute check-in on Day 3 to verify setup is working and answer questions. Students often run into SSH or Git config issues and do not ask for help.