"매 knowledge 의 매 layered model — 매 surface mimicry 매 deep generative comprehension 까지". Bloom's Taxonomy (1956) 와 Feynman Technique 의 매 영향, 매 software engineering 매 context 매 "can copy" → "can use" → "can debug" → "can teach" → "can extend" 매 progression.
매 핵심
매 5 levels (engineering 적용)
Recognition: 매 코드/concept 매 본 적 있음. 매 시 read-only.
Reproduction: 매 example 매 따라 작성 가능. 매 copy-modify.
Application: 매 새 context 매 동일 pattern 적용. 매 transfer.
Debugging: 매 broken case 매 root cause 까지 trace. 매 inverse reasoning.
Generation: 매 from-scratch design + teach others. 매 generative model 보유.
매 signals
Recognition: "본 적 있어" — but cannot describe.
Reproduction: tutorial 따라 동작하는 결과물 — but breaks on변형.
Application: 매 다른 problem 매 동일 solution 매 적용 — but mechanism 모름.
Debugging: error message 의 매 원인 가설 + 매 fix path 제안.
Generation: 매 design decision 매 trade-off 매 articulate + 매 alternative 매 비교.
매 응용
Self-assessment: 매 새 tech 매 학습 매 어느 level 인지 정직히 평가.
Hiring: interview 매 level 별 question 설계 (recognition vs generation).
1. 주제 선택 (e.g., "React Suspense")
2. 매 8세 아이에게 매 설명 매 작성 (no jargon)
3. 매 막힌 지점 = 매 understanding gap
4. Source 매 다시 학습
5. Repeat
→ 매 step 4 매 도달하면 매 generation level
Code review 매 level probe
Reviewer: "왜 useMemo 사용?"
- L1 답: "튜토리얼에서 봐서"
- L2 답: "성능 최적화"
- L3 답: "expensive computation 결과 캐시"
- L4 답: "render마다 reference 변하면 child re-render — useMemo 매 stable reference"
- L5 답: "이 case 는 child memo 안 했으니 useMemo 무용지물 — 제거 권장"
L1 → L2: Tutorial 매 따라 매 직접 type (copy-paste 금지)
L2 → L3: 매 다른 problem 매 적용 (변형 challenge)
L3 → L4: Bug 매 fix (intentional break + restore)
L4 → L5: Source code 읽기 + 매 design doc 작성
Learning log template
## <Topic>: <Date>
- Level before: L?
- 매 학습 source: <link>
- 매 핵심 insight: <one sentence>
- 매 confused 지점: <gap>
- Level after: L?
- Next: <action to advance>
매 결정 기준
상황
Required Level
Use library in side project
L2 Reproduction
Use in production
L3 Application
Own subsystem in production
L4 Debugging
Lead architecture / teach team
L5 Generation
Write spec / RFC
L5 Generation
Code review approver
L4+
기본값: 매 production code 매 책임지려면 매 L3 minimum, 매 L4 권장.
언제: 매 self-assessment, 매 학습 priorities 결정, 매 team capability mapping, 매 documentation target audience 명시.
언제 X: 매 trivial task (level distinction overkill), 매 emotional/soft skills (different framework).
❌ 안티패턴
L2 → "할 줄 안다" 자칭: 매 Dunning-Kruger — tutorial 통과 ≠ application.
L1 결과물 매 production 배포: 매 Stack Overflow copy-paste — 매 silent failure 보장.
Level 매 fixed trait 가정: 매 매 domain 별 level 다름 — React L5 + Rust L1 매 가능.
Recognition 매 understanding 혼동: 매 "들어봤다" ≠ "이해한다".
Generation 매 가정 매 검증 X: 매 자칭 L5 매 실제 L3 매 case 흔함 — Feynman test.