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

7.2 KiB

id, title, category, status, source_trust_level, verification_status, created_at, updated_at, tags, tech_stack, applied_in, aliases
id title category status source_trust_level verification_status created_at updated_at tags tech_stack applied_in aliases
quality-mentoring Mentoring — Junior 성장 / Pair / Knowledge share Coding draft B conceptual 2026-05-09 2026-05-09
quality
mentoring
learning
vibe-coding
language applicable_to
Process
Engineering
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 정기.

🔗 관련 문서