Mentoring & Leveling
Mentoring turns Python specialists into force multipliers: juniors learn async safety and pytest architecture; mids grow into tech leads. Clear leveling criteria and deliberate pairing beat vague "be more senior" feedback.
Search across all documentation pages
Mentoring turns Python specialists into force multipliers: juniors learn async safety and pytest architecture; mids grow into tech leads. Clear leveling criteria and deliberate pairing beat vague "be more senior" feedback.
Quick-reference recipe card - copy-paste ready.
## 30-day plan (junior → mid path)
Week 1: Shadow on-call + fix docs typo PR
Week 2: Own bug with tests + review from buddy
Week 3: Small feature behind flag + deploy with buddy
Week 4: Present learning at guild (15 min)
## Leveling signal (mid engineer)
- Ships features with tests and observability
- Reviews others' PRs constructively
- Debugs prod with runbook, minimal escalationWhen to reach for this:
"""pairing_exercise.py - mentor-guided refactor with tests."""
from __future__ import annotations
# BEFORE (mentee): mutable default
def add_item_cart(cart: list | None = None, item: str = "") -> list:
if cart is None:
cart = []
cart.append(item)
return cart
# AFTER (pairing session): explicit types + test
def add_item_cart(cart: list[str], item: str) -> list[str]:
return [*cart, item]
def test_add_item_cart_does_not_mutate_input():
original = ["a"]
result = add_item_cart(original, "b")
assert result == ["a", "b"]
assert original == ["a"]Mentor script:
What this demonstrates:
| Format | Best for |
|---|---|
| Pair programming | New codebase patterns |
| Async PR mentorship | Daily skill transfer |
| Office hours | Unblocking many juniors |
| Guild talks | Spread deep dives (async, typing) |
## Suggested learning path (Python SME)
1. Fundamentals + pytest
2. FastAPI or Django vertical slice
3. Observability + on-call shadow
4. Design review attendance
5. Lead small RFC| Alternative | Use When | Don't Use When |
|---|---|---|
| External training | New domain (ML, security) | Daily Python idioms |
| Self-paced courses | Baseline language refresh | Production ownership |
| Apprenticeship program | Many juniors at once | Single hire |
| Rotation across squads | Breadth for staff track | Urgent delivery crunch |
30 min weekly 1:1 plus ad hoc pairing on hard tasks.
Shadow first; solo with senior backup for low-risk rotation slots.
Engineering ladder doc with Python-specific examples per level.
Weekly for hard refactors; not daily default (expensive).
Screen-share pairing, recorded guild talks, async PR mentorship.
Consistently ships tested features with light guidance; helps others debug.
Clear plan with manager; mentor supports skills, manager owns outcomes.
Target 10-20% for tech leads; protect in sprint planning.
Encourage for platform patterns (observability, packaging).
Titles follow calibrated level; rubric is source of truth.
Stack versions: This page was written for Python 3.14.0 (stable 3.14, maintenance 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, and uv 0.6+.
Reviewed by Chris St. John·Last updated Jul 16, 2026