
AI 코딩 도구는 생산성을 극적으로 높여줍니다. 하지만 그 이면에는 개발자의 성장을 저해하는 심각한 위험이 도사리고 있습니다. 코드를 직접 작성하지 않고 받아만 쓰다 보면, 어느새 실력이 정체되거나 퇴보하는 경험을 해본 적이 있을 겁니다.
Learning Opportunities는 이 문제를 정면으로 겨냥한 Claude Code 스킬입니다. 심리학 과학자 Dr. Cat Hicks가 설계한 이 스킬은, AI가 대신 코딩해주는 시대에도 개발자가 전문성을 계속 키울 수 있도록 “과학 기반 학습 운동”을 통합합니다. 521개 이상의 스타를 받으며 개발자 커뮤니티에서 큰 반향을 일으켰습니다.
1. 문제 인식: AI 코딩이 학습에 미치는 5가지 위험
Dr. Cat Hicks는 AI 코딩 도구가 학습에 구체적인 위험을 만든다고 경고합니다. 이는 철학적인 우려가 아니라, 수십 년의 학습 과학 연구에 기반한 실증적 발견입니다.
🧠 Generation Effect — 생성의 힘
직접 코드를 작성하는 행위 자체가 학습의 핵심입니다. 정보를 능동적으로 생성할 때 기억이 강화됩니다. AI가 코드를 생성해주면 이 활성 처리 과정이 생략됩니다.
증상: “AI가 짠 코드를 읽고 ‘아, 이렇게 하면 되는구나’ 하고 넘어갔는데, 나중에 혼자 짜려니 안 된다.”
🪞 Fluency Illusion — 유창성의 착각
AI가 생성한 깔끔한 코드를 보면 실제보다 더 많이 이해한 것처럼 느껴집니다. 읽을 때는 완벽하게 이해한 것 같지만, 막상 구현하려 하면 막막함을 느낍니다.
증상: “이 코드는 쉽네, 완전 이해했어” → 3일 후 다시 보니 “이게 뭐지?”
⏰ Spacing Effect — 간격의 중요성
효과적인 학습은 시간을 두고 분산되어야 합니다. 하지만 AI 도구의 빠른 속도는 긴 작업 세션과 벼락치기로 유도합니다. 결과적으로 장기 기억으로의 전이가 약화됩니다.
증상: “한 번에 10시간 코딩했는데, 다음 날 기억이 안 난다.”
🔍 Metacognition — 메타인지의 약화
빠른 워크플로우는 자신의 학습을 모니터링하고 지식의 스키마를 형성할 틈을 주지 않습니다. 무엇을 알고 무엇을 모르는지조차 파악하기 어려워집니다.
증상: “이거 할 줄 아는데… 진짜 할 줄 하는 건가?”
📝 Testing and Retrieval — 인출 연습의 부재
자가 테스트는 학습의 가장 강력한 기법 중 하나입니다. 하지만 AI 에이전트가 완전한 답을 즉시 제공하면, 스스로 테스트하고 인출해볼 기회가 사라집니다.
증상: “문제 해결 방법을 AI한테 물어보기 전에 먼저 생각해보는 습관이 사라졌다.”
2. 해결책: “Dynamic Textbook” 접근법
Learning Opportunities는 이 문제들을 해결하기 위해 “Dynamic Textbook” 접근법을 도입했습니다. 정적인 교과서가 아니라, 개발자의 실제 코딩 활동에 맞춰 동적으로 생성되는 학습 기회를 제공합니다.
핵심 아이디어는 간단합니다:
AI가 코딩을 도와줄 때마다, 그 순간이 학습의 기회가 될 수 있다.
이 스킬은 개발자가 중요한 코딩 작업을 완료한 직후에, 과학 기반 학습 운동을 제안합니다. 강제가 아니라 제안입니다. 사용자가 원할 때만 운동을 수행하면 됩니다.
3. 주요 기능: 언제, 어떻게 학습을 제안하는가
🔄 적응형 학습 운동
아키텍처 작업을 완료하면 — 새 파일 생성, 스키마 변경, 리팩토링 등 — Learning Opportunities가 10-15분 분량의 선택적 학습 운동을 제안합니다.
제안 시점:
- 새로운 파일 생성 완료
- 데이터베이스 스키마 변경
- 중요한 리팩토링 완료
- 복잡한 로직 구현 후
운동 방식:
- 예측 (Prediction): 무슨 일이 일어날지 미리 추측
- 생성 (Generation): AI 답안을 보기 전에 직접 시도
- 인출 (Retrieval): 이전에 학습한 내용을 기억해내기
- 간격 반복 (Spaced Repetition): 이전 개념을 다시 떠올리기
🔀 Git Commit 자동 트리거 (learning-opportunities-auto)
각 git commit은 자연스러운 학습 체크포인트입니다. Learning Opportunities는 commit 후 자동으로 학습 운동을 고려하라는 프롬프트를 띄웁니다.
# commit 후 자동으로 학습 기회 제안
git commit -m "feat: add auth module"
# → Learning Opportunities: "방금 인증 모듈을 구현했네요.
# 이 기회에 OAuth 2.0 흐름을 직접 그려볼까요?"
지원 환경:
- ✅ Linux — 자동 작동
- ✅ macOS — 자동 작동
- ⚠️ Windows — 추가 설정 필요
🧭 Orient 기술 — 새 저장소 학습
새 프로젝트에 들어갈 때 가장 어려운 것은 “어디서부터 시작해야 할지” 모르는 것입니다. Orient 기술은 이 문제를 해결합니다.
작동 방식:
orientation.md파일을 생성- 프로그램의 전체 구조 파악
- 코드베이스 탐색 전략 적용
- 전문 개발자가 전략적으로 코드를 샘플링하는 방식 시뮬레이션
사용법:
/orient # 기본 오리엔테이션
/orient showboat # "자랑하기" 모드 — 배운 것을 정리해서 발표
Orient는 단순히 파일을 읽는 것이 아니라, 전문가가 코드를 읽는 방식을 시뮬레이션합니다. 아키텍처 패턴을 식별하고, 핵심 진입점을 찾고, 데이터 흐름을 추적합니다.
4. 운동 유형: 6가지 학습 패턴
Learning Opportunities는 6가지 유형의 학습 운동을 제공합니다. 각각은 특정 학습 과학 원리에 기반합니다.
1️⃣ Prediction → Observation → Reflection
구조: “무슨 일이 일어날 것 같은가? 이제 확인해보자. 무엇이 놀라웠는가?”
이 운동은 예측 능력을 키웁니다. 코드를 실행하거나 변경하기 전에 결과를 예측해보는 습관은 전문 개발자의 핵심 역량입니다.
예시:
운동: 방금 추가한 인덱스가 쿼리 성능에 어떤 영향을 줄까요?
- 예측: 10ms → 1ms로 감소할 것 같습니다.
- 실행: EXPLAIN ANALYZE를 실행해보세요.
- 반성: 예측과 어떻게 달랐나요? 왜 그럴까요?
2️⃣ Generation → Comparison
구조: “구현을 보기 전에 어떻게 접근할지 스케치해보세요.”
AI가 제안한 코드를 그대로 받아들이기 전에, 먼저 직접 생각해보는 운동입니다. Generation Effect를 활성화합니다.
예시:
운동: Claude가 제안한 에러 처리 방식을 보기 전에,
30초만 직접 스케치해보세요.
그 다음 Claude의 답안과 비교해보세요.
3️⃣ Trace the Path
구조: “실행을 단계별로 따라가며 각 전환을 예측하세요.”
코드의 실행 흐름을 추적하는 운동입니다. 특히 비동기 코드나 복잡한 상태 관리에서 유용합니다.
예시:
운동: 이 React 컴포넌트에서 버튼 클릭 시
어떤 함수들이 어떤 순서로 호출될까요?
5단계를 예측해보세요.
4️⃣ Debug This
구조: “여기서 무엇이 잘못될까, 그리고 왜?”
버그를 미리 예측하는 운동입니다. 실제 버그가 발생하기 전에 잠재적 문제를 식별하는 능력을 키웁니다.
예시:
운동: 이 코드에 숨어있는 3가지 잠재적 버그를 찾아보세요.
힌트: 경계 조건, 타이밍, null 처리를 확인하세요.
5️⃣ Teach It Back
구조: “새 개발자가 온보딩하는 것처럼 이 컴포넌트를 설명해보세요.”
설명하는 것은 가장 강력한 학습 방법 중 하나입니다. Feynman Technique의 적용입니다.
예시:
운동: 이 미들웨어가 어떻게 작동하는지
주니어 개발자에게 설명하듯이 말해보세요.
2분 동안 녹음해보세요.
6️⃣ Retrieval Check-in
구조: “세션 시작 시, 지난번에 무엇을 기억하나요?”
간격 반복의 핵심인 인출 연습입니다. 이전에 학습한 내용을 능동적으로 기억해내는 과정이 기억을 강화합니다.
예시:
운동: 지난 세션에서 학습한 GraphQL Subscription 구현 방식을
아무것도 보지 않고 설명해보세요.
5. 설계 원칙: Claude는 답을 말하지 않는다
Learning Opportunities의 가장 흥미로운 설계 결정은 Claude가 질문에 스스로 답하지 않는 것입니다.
의도적 억제
일반적인 Claude의 기본 동작은 “항상 완전한 답을 제공하는 것”입니다. 이는 생산성에는 좋지만, 학습에는 최악입니다.
Learning Opportunities는 이를 거스릅니다:
# 일반적인 Claude
User: "이 코드가 왜 느린 것 같아?"
Claude: "이 코드가 느린 이유는 O(n²) 알고리즘 때문입니다..."
# Learning Opportunities 모드
User: "이 코드가 왜 느린 것 같아?"
Claude: "먼저 직접 생각해보세요. 어떤 부분이 의심스러운가요?"
[사용자 입력 대기]
억제 조건
이 스킬은 두 가지 억제 조건을 가집니다:
- 거절한 경우: 이번 세션에서 이미 운동을 거절한 경우 → 프롬프트 안 함
- 완료한 경우: 이번 세션에서 2개 운동 완료 → 프롬프트 안 함
이는 사용자가 학습에 “지치지 않도록” 보장합니다. 적당한 도전, 적당한 휴식.
6. Learning-Goal 연동: MCII 기술
Learning Opportunities는 단순한 운동 제안을 넘어, 구조화된 학습 목표 설정을 지원합니다.
MCII (Mental Contrasting with Implementation Intentions)
MCII는 목표 달성 확률을 높이는 검증된 심리학 기법입니다:
- Mental Contrasting: 목표와 현재 상태의 갭을 시각화
- Implementation Intentions: “만약 X면 Y를 한다”는 구체적 계획 수립
Learning Opportunities는 반구조화된 대화형 인터페이스로 MCII를 구현합니다:
Claude: "이번 주 코딩 학습 목표가 있으신가요?"
User: "React 상태 관리를 더 깊이 이해하고 싶어요."
Claude: "그 목표를 달성했을 때 어떤 모습인가요?"
User: "Redux 없이도 복잡한 상태를 자신 있게 관리할 수 있을 것 같아요."
Claude: "현재는 어떤 점이 가장 어려운가요?"
User: "useReducer와 Context를 언제 써야 할지 헷갈려요."
Claude: "이번 주에 이 갭을 줄이기 위한 구체적인 상황을 정해볼까요?
'새로운 상태를 추가할 때마다 1분만 고민해보기' 어떨까요?"
7. 설치 및 사용법
플러그인 마켓플레이스 설치
# 메인 스킬 설치
/plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git
/plugin install learning-opportunities@learning-opportunities
Orient 플러그인
# 새 저장소 오리엔테이션
/plugin install orient@learning-opportunities
Auto 플러그인 (Git Commit 자동 트리거)
# Linux/macOS: 자동 작동
# Windows: 추가 설정 필요 (README 참조)
기본 사용법
# 학습 운동 요청
/learning-opportunities
# 새 저장소 오리엔테이션
/orient
/learning-opportunities orient
# Showboat 모드 (배운 것 정리)
/orient showboat
8. MEASURE-THIS.md: 팀 실험을 위한 측정 도구
Learning Opportunities는 개인 사용뿐 아니라 팀 차원의 실험도 지원합니다. MEASURE-THIS.md 파일은 검증된 설문 항목을 제공합니다.
구성
- Google Form 또는 팀 채널에 복사 가능한 설문 템플릿
- 분석 가이드: 통계적 엄격성을 유지하는 방법
- “팀 자랑” 템플릿: 리더십에게 보고하기 좋은 형식
측정 가능한 지표
- 학습 자신감 변화
- AI 도구 사용 패턴 변화
- 메타인지 능력 향상
- 팀 학습 문화 지수
9. 연구 기반: 수천 명의 개발자 데이터
Learning Opportunities는 단순한 직관이 아닌, 엄격한 연구에 기반합니다.
Dr. Cat Hicks의 연구
- 수천 명의 개발자 인터뷰 및 설문
- AI 스킬 위협 (AI Skill Threat) 연구 — AI가 개발자의 전문성에 미치는 심리적 영향
- 개발자 번영 (Developer Thriving) 연구 — 어떤 요소가 개발자의 성장과 만족을 이끄는가
핵심 발견
“학습 문화가 강한 팀이 더 효과적이다.”
이 발견은 Learning Opportunities의 철학적 토대입니다. AI 도구가 학습을 방해한다면, 그 도구를 학습을 촉진하는 방향으로 재설계해야 합니다.
10. 참고 문헌: 학습 과학의 거장들
PRINCIPLES.md 파일은 이 스킬의 이론적 기반을 상세히 문서화합니다:
| 연구자 | 기여 | 적용 |
|---|---|---|
| Bjork et al. (2013) | 자기 조절 학습 | 사용자가 스스로 학습 리듬 조절 |
| Dunlosky et al. (2013) | 효과적 학습 기법 | 6가지 운동 유형 설계 |
| Ericsson et al. (2018) | 전문가 수행 | 의도적 수련 (deliberate practice) |
| Hicks et al. (2025) | AI 스킬 위협 & 개발자 번영 | 문제 정의 및 해결 방향 |
| Kang (2016) | 간격 반복 | Retrieval Check-in 설계 |
| Roediger & Karpicke (2006) | 테스트와 기억 | Prediction/Observation/Reflection |
| Sweller & Cooper (1985) | Worked examples | Generation → Comparison |
| Tankelevitch et al. (2024) | 생성형 AI의 메타인지 요구 | 전체 설계 철학 |
11. 제작자: 두 명의 과학자
Dr. Cat Hicks
- 심리학 과학자 (Psychology Scientist)
- 소프트웨어 팀 & 엔지니어링 리더십 컨설팅
- Fight for the Human 뉴스레터
- 다가오는 책: The Psychology of Software Teams (2026)
Dr. Michael Mullarkey (Orient 공동 제작)
- 머신러닝 엔지니어
- 전 치료사 + 사회과학 연구자
- 기술과 인간 심리의 교차점 탐구
마치며: AI 시대의 의도적 수련
Learning Opportunities는 AI 코딩 도구를 거부하지 않습니다. 대신, AI의 힘을 활용하면서도 인간의 성장을 보호하는 방법을 제시합니다.
이 스킬의 핵심 통찰은 명확합니다:
빠른 해결책이 최선의 학습 경로는 아니다.
AI가 코드를 대신 짜주는 시대에도, 진정한 전문성은 여전히 의도적 수련에서 나옵니다. Learning Opportunities는 그 수련을 구조화하고, 과학적으로 뒷받침하고, 개발자의 워크플로우에 자연스럽게 통합합니다.
“AI한테 물어보기 전에 30초만 먼저 생각해보세요.” 이 간단한 습관이 장기적으로 개발자의 성장을 결정지을 수 있습니다.
Claude Code를 사용하면서도 실력이 정체된다고 느끼신다면, Learning Opportunities를 설치해보세요. AI와 함께 일하면서도, AI에 의존하지 않고 성장하는 방법을 발견하게 될 것입니다.
🔗 관련 정보
- GitHub 저장소: https://github.com/DrCatHicks/learning-opportunities
- Dr. Cat Hicks 뉴스레터: https://fightforthehuman.com
- 예정된 책: The Psychology of Software Teams (2026)
- 라이선스: CC-BY 4.0