Files
2nd/10_Wiki/Topics/Coding/Quality_Mentoring.md
T
2026-05-09 21:08:02 +09:00

365 lines
7.2 KiB
Markdown

---
id: quality-mentoring
title: Mentoring — Junior 성장 / Pair / Knowledge share
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [quality, mentoring, learning, vibe-coding]
tech_stack: { language: "Process", applicable_to: ["Engineering"] }
applied_in: []
aliases: [mentoring, pair programming, junior dev, knowledge sharing, lunch and learn]
---
# Mentoring
> Senior 의 시간 = 가장 큰 leverage. **Junior 1명 성장 = 10x output**. Pair, code review, lunch-and-learn, design doc review.
## 📖 핵심 개념
- 정기 1:1 (weekly).
- Pair programming (특정 task).
- Code review = teaching opportunity.
- Knowledge share (lunch-and-learn).
## 💻 코드 패턴
### 1:1 meeting (weekly, 30 min)
```
Junior 가 운영:
- 진행 중 무엇
- 막힘 / 도움 필요
- 학습 / 성장 목표
- Feedback (양방)
Mentor:
- Big picture context
- 중장기 advice
- 회사 navigation
```
→ Mentor 가 말 X — listening.
### Pair programming style
```
Driver / Navigator:
- Driver: typing
- Navigator: thinking ahead
- 매 15-20 min swap
Ping-pong (TDD):
- A: test 작성
- B: 통과 코드
- B: 다음 test
- A: 통과 코드
Strong-style:
- "어떤 작은 step?"
- Driver 가 navigator 의 의도 implement
```
→ Junior 가 driver — 주도 학습.
### Pair 의 가치
```
- 학습 (junior 입장)
- 코드 quality (review built-in)
- Knowledge transfer (bus factor ↓)
- 같이 어려움 풀기
비용:
- 2명 시간 — but 1명 의 2배 output X
```
### Pair when
```
✅ 새 feature 디자인
✅ 복잡 bug
✅ Junior onboarding
✅ Critical refactor
✅ 새 기술 / pattern
❌ 단순 작업 (typo 수정)
❌ 둘 다 모름 (둘 다 시간 낭비)
❌ Energy mismatch (피곤)
```
### Code review 가 teaching
```
PR comment:
- "Why" 명시 (단순 "do this" X)
- Reference (article / docs)
- Severity (must-fix vs suggestion vs nit)
좋은 review:
"This works, but consider...
The reason is...
See: [link]
What do you think?"
→ Author 가 학습.
```
### Lunch-and-learn (weekly / monthly)
```
30-60 min:
- Speaker 가 기술 / pattern 발표
- 모두 참여
- Slides / demo / discussion
주제 예:
- 새 framework 사용기
- Recent incident postmortem
- Library deep dive
- Conference talk 요약
- Domain knowledge
```
### Brown bag
```
Lunch-and-learn 의 다른 이름.
Casual + brown paper bag (lunch).
Junior 가 발표 — 학습 + presentation skill.
```
### Onboarding plan (new hire)
```
Week 1: 환경 setup, 작은 PR (typo)
Week 2: Pair on small feature
Week 3-4: 자체 small feature
Month 2: Medium feature
Month 3: Independent
→ 점진 시간 + ownership.
```
→ [[Productivity_Documentation]] 의 onboarding doc.
### Mentor 의 함정 (avoid)
```
- "내가 했을 때는..." — 옛 방식 강제
- Junior 의 mistake 직접 fix (학습 기회 잃음)
- 모든 답 줌 (스스로 풀게)
- Public criticism
- Micromanage
```
### Junior 가 mentee 로 잘 사용
```
- Specific question ("X 가 안 됨" — 맥락 + 시도한 것)
- 막힘 1-2 시간 — ask
- Notes 작성 (자체 reference)
- Mentor 시간 적게 더 자주
```
### "Stuck" rule
```
30 min stuck → ask.
혼자 1 hour 전 = OK 학습.
2 hour+ = 시간 낭비.
→ Pride X — communication.
```
### Review junior PR (정성스럽게)
```
- 큰 issue 만 must-fix (작은 nit 무시)
- Praise good parts
- Specific suggestion + example
- Pair review (chat over PR)
```
### Career ladder
```
Junior → Mid → Senior → Staff → Principal
각 레벨:
- 기술 깊이
- Scope (own task → team → org)
- Impact (code → system → strategy)
Mentor 가 next level 의 expectations 명시.
```
### Tech talk (internal conference)
```
분기마다 internal conference:
- 모든 dev 가 talk (or watch)
- 다른 팀 학습
- Network
→ 큰 회사의 학습 culture.
```
### Book club
```
주간 30 min:
- 한 chapter 읽기
- Discuss
추천 books:
- Pragmatic Programmer
- Designing Data-Intensive Applications
- The Phoenix Project
- Domain-Driven Design
- Clean Code (debate but classic)
- Refactoring (Fowler)
```
### Coding katas / leetcode
```
Pair / 그룹 으로 연습:
- 같은 problem 다른 approach
- 30 min limit
- Solution share
→ Algorithm + collaboration.
```
### Conference / training budget
```
$2-5K / year per dev.
- Conference (Velocity, RailsConf, etc)
- Online courses (Frontend Masters, Egghead, Pluralsight)
- Books
→ 회사 가 invest = retention ↑.
```
### Constructive feedback
```
SBI model (Situation / Behavior / Impact):
"In yesterday's review, you marked 5 nits as must-fix (Behavior).
This made the author rewrite extensively (Impact).
For nits, I suggest 'consider' instead (suggestion)."
→ 사람 X 행동 O.
```
### Praise
```
"X did great work on Y. The approach was Z."
Public + specific:
- Slack #praise channel
- All-hands shoutout
- Performance review
→ 강화 + visibility.
```
### Difficult conversation
```
- 지각 / 미달 — 명시 + clear expectation
- Quality issue — example + improvement plan
- Communication gap — direct + listen
Manager 가 final 책임.
Mentor = early signal.
```
### Sponsor vs mentor
```
Mentor: advice, 경험 share.
Sponsor: 활용 (promotion, project assignment).
→ 같은 사람 가능. 둘 다 important.
```
### Bus factor
```
"이 person 가 떠나면 system 가 깨짐?"
Bus factor 1 = 위험.
해결:
- Pair / share knowledge
- Document
- Rotate ownership
```
### Junior → Senior transition
```
Senior expectation:
- 자기 기술 + 다른 사람 mentor
- Big picture thinking
- Cross-team collaboration
- 다른 사람 가 follow 가능 코드
Junior 가 senior 처럼 행동:
- Help others
- Take ownership
- Communicate up
- Big picture
```
### Mentoring metrics (어렵)
```
- 1:1 attendance
- Junior PR cycle time
- Retention
- Promotion rate
- Survey: "I have a great mentor"
```
→ 정확 측정 어려움 — qualitative.
### Engineering ladder transparency
```
Public ladder:
- Junior: ...
- Mid: ...
- Senior: ...
Promotion criteria 명확 → bias ↓.
```
### Gender / diversity
```
Mentor 가 underrepresented junior 적극 sponsor.
Promote diverse talent.
Inclusive language + behavior.
```
### Burnout 신호
```
Junior:
- 매 PR 가 막힘
- Communication 줄어듦
- Quality 떨어짐
- 우울
Action: 1:1 +자주, workload 줄임, 휴가 권장.
```
## 🤔 의사결정 기준
| 상황 | 추천 |
|---|---|
| New hire | Onboarding plan + pair |
| Stuck junior | 30 min ask rule |
| 학습 기회 | Pair + review |
| Career growth | 1:1 + ladder |
| 큰 issue | 명시 + plan |
| Knowledge share | Lunch-and-learn |
## ❌ 안티패턴
- **Mentor 가 말만 / listen X**: junior 안 학습.
- **Stuck → bypass / fix for them**: 학습 기회 잃음.
- **Public criticism**: 자존감 상함.
- **"천재 culture"**: collaboration X — burnout.
- **Onboarding 없음**: 새 hire 헛수고.
- **Career ladder 비공개**: bias / 불공정.
- **Bus factor 1 무시**: 떠남 시 disaster.
## 🤖 LLM 활용 힌트
- 1:1 + pair + review = 3대.
- Junior 가 driver (pair).
- Question 으로 가르침 (답 X).
- Internal lunch-and-learn 정기.
## 🔗 관련 문서
- [[Productivity_Code_Review]]
- [[Productivity_Documentation]]
- [[Quality_Tech_Debt]]