개요
htmx 창시자 Carson Gross (Montana State Univ. CS 교수)의 에세이. “AI 시대에도 프로그래밍을 커리어로 추구해야 하는가?” — 답: “Yes, and…(그렇다, 그리고…)“. 프로그래밍의 본질(문제 해결 + 복잡도 통제)은 영원히 가치 있지만, 순수 코딩 실력 외에 커뮤니케이션·비즈니스·아키텍팅이 더 중요해질 것. AI는 코드 생성기가 아니라 **훌륭한 조교(TA)**로 써야 한다. 54P 기록한 인기 글.
- 출처: htmx.org
- 저자: Carson Gross (htmx 창시자)
- 핵심: “Yes, and…"
"Yes” — 그렇다, 배워야 한다
프로그래밍의 본질은 변하지 않음
프로그래밍 = 컴퓨터를 이용한 문제 해결 + 복잡도 통제
이 능력이 덜 가치 있어질 미래?
→ 상상하기 어려움
AI는 주니어에게 위험 ⚠️
코드를 직접 쓰지 않으면
→ 코드를 읽을 수도 없게 됨
→ "마법사의 제자 함정"
이해도·통제도 못하는 시스템을 만들어내는 신세
→ 관련: AI 시대 실행 비용 붕괴 (“작동은 잘 함, 학습은 안 됨”) → 관련: AI 논문 생산 논란 (“사나흘 논문, 깊은 이해는?”)
”코딩→프롬프팅”은 “어셈블리→고수준 언어”와 다르다
컴파일러:
결정론적 (deterministic)
우발적 복잡도 제거
LLM:
비결정론적 ❌
우발적 복잡도를 오히려 추가하는 경우 多
→ "프롬프트로 코딩하면 더 쉬워진다"는 거짓
실제로는 복잡도가 불확실하게 증가
AI는 코드 생성기 ❌, 조교 ✅
잘못된 사용:
"이 기능 만들어줘" → 통째로 복붙
→ 이해 없이 작동하는 코드 축적
→ 코드베이스 드래그 가속
올바른 사용:
"이 개념 설명해줘" → 이해 후 직접 작성
→ 지적 성장의 파트너
→ 우발적 복잡도 장벽을 넘는 도구
AGENTS.md에 설정:
AI = 코드 생성기 ❌
AI = 조교(TA) 역할 ✅
“and…” — 그리고, 이것들이 더 중요해질 것
1. 커뮤니케이션 능력 ⭐
AI 시대에 더 중요해지는 이유:
- LLM과도 명확하게 소통해야 함
- 사람과도 명확하게 소통해야 함
- 요구사항을 정확히 표현하는 능력
방법:
✓ 책을 읽기
✓ 에세이를 쓰기
✓ 글쓰기 연습
2. 비즈니스 이해
근시안적 시각 두 가지:
비즈니스: "프로그래머 필요 없다"
프로그래머: "비즈니스 사람 필요 없다"
둘 다 틀림.
AI가 현실 문제를 더 깊이 이해할 기회를 줌:
→ 코딩에 덜 시간 쓰고
→ 도메인 문제에 더 시간 투자 가능
3. 시스템 아키텍팅
대규모 시스템의 복잡도를 통제하는 능력
주의:
"나쁜 아키텍트 대부분은 코딩 경험이 부족했음"
→ 코딩을 건너뛰고 아키텍트가 될 수 없음
→ 코딩 → 경험 → 아키텍팅 (순서 중요)
→ 관련: 아키텍처 엔지니어, 코드베이스 드래그 (Codebase Drag)
시니어 vs 주니어의 LLM 활용법
시니어 개발자
✅ 하는 것:
- 코드 분석 (이해 보조)
- 생각 정리
- 작은 코드 조각 생성
- 싫은 코드 (정규식, CSS) 생성
- 탐색용 프로토타입 코드
- 테스트 제안
❌ 하지 않는 것:
- 완전한 솔루션 생성
- API 설계 (절대 맡기지 않음)
주니어 개발자
⚠️ 바이브 코딩의 유혹에 맞서야 함
바이브 코딩:
AI에게 전부 시키고 결과만 복붙
→ 단기: 빠름
→ 장기: 복잡도 폭발 + 이해 부족
올바른 접근:
속도보다 이해를 우선
→ 곧 회사들도 바이브 코딩의 문제를 깨달을 것
→ 이해력 있는 개발자가 장기적으로 이김
→ 관련: Oh My Codex & 에이전트 스웜 (“AI Slop = 스킬 이슈”)
구직 조언: 4F 전략
온라인 취업 사이트 = 복권이나 다름없음
4F:
1. Family (가족)
2. Friends (친구)
3. Family of Friends (친구의 가족)
4. Friends of Family (가족의 친구)
핵심:
✗ 대형 테크 기업이 아니어도 됨
✓ 100명 이상 회사 → 대부분 개발 조직 있음
사례 (코스트코 본사):
가족 인맥으로 입사
→ 분석가로 시작
→ 프로그래밍 능력 추가
→ 매우 가치 있는 인재로
핵심 인용
”마법사의 제자 함정"
코드를 직접 쓰지 않으면
→ 코드를 읽을 수 없고
→ 이해도·통제도 못하는 시스템
→ 디즈니 "마법사의 제자"처럼
빗자루(AI)가 물을 퍼오지만
멈추는 방법을 모르는 상태
"컴파일러 vs LLM"
어셈블리 → C:
컴파일러가 100% 정확하게 변환
우발적 복잡도 제거
프롬프트 → 코드:
LLM이 확률적으로 생성
우발적 복잡도 추가
→ 같은 추상화 수준 상승이 아님
"회사들에게”
"주니어들이 코드를 직접 쓸 수 있게 해달라"
지금 주니어가 코드를 안 쓰면
→ 5년 후 시니어가 없음
→ 아키텍트가 없음
→ 복잡도를 통제할 사람이 없음
vault의 메타 패턴과 연결
| 노트 | 메시지 |
|---|---|
| 이 에세이 | ”코드를 직접 안 쓰면 읽을 수도 없다” |
| AI 시대 실행 비용 붕괴 | ”작동은 잘 함, 학습은 안 됨” |
| AI 논문 생산 논란 | ”사나흘 논문, 깊은 이해는?” |
| 코드베이스 드래그 (Codebase Drag) | “코드 품질이 사람보다 중요” |
| Rob Pike 프로그래밍 5가지 규칙 | ”단순함·이해가 핵심” |
| FOMO 무기화와 기술 조기 채택 | ”기다려도 괜찮다” |
→ 공통 메시지: “사용” ≠ “이해”, 이해 없는 실행은 장기적으로 위험
결론
Carson Gross:
1. 프로그래밍의 기본은 영원히 중요
(좋은 코드 + 복잡도 통제)
2. 취업 시장 침체는 일시적
3. AI는 조교로 쓰면 최고의 학습 파트너
4. 바이브 코딩의 유혹에 저항
5. 순수 코딩 외에:
커뮤니케이션 + 비즈니스 + 아키텍팅
6. 회사에게:
"주니어들이 코드를 직접 쓸 수 있게 해달라"