URL: https://www.youtube.com/watch?v=4DhcSPkEbwI 날짜: 2026-09-23 채널: pragmaticengineer 원문 제목: AI Skills with Matt Pocock
메타데이터
- 원문 채널: pragmaticengineer
- 영상 ID:
4DhcSPkEbwI - 주제: AI 에이전트, 소프트웨어 공학의 기본기, 전략적 프로그래밍, AI 스킬
- 관련 인물·서적: Matt Pocock, John Amster, Dex Horthy, Kent Beck, Ward Cunningham, The Pragmatic Programmer, A Philosophy of Software Design, Domain-Driven Design
- 처리일: 2026-09-23
📌 핵심 질문 / 이 영상이 다루는 핵심 논점
==AI가 전술적 프로그래밍을 대신하는 시대에 인간은 어떤 전략적 판단과 소프트웨어 기본기를 갖추고, 그 판단을 에이전트가 실행할 수 있는 스킬과 환경으로 어떻게 바꿀 것인가?==
- AI가 싸게 제공하는 지식·문법과, 경험·맥락·판단이 필요한 지혜를 분리해야 한다.
Grill Me,Wayfinder, Ralph loop 같은 흐름은 에이전트에게 일을 시키는 프롬프트가 아니라 인간의 의도와 피드백을 보존하는 작업 시스템이다.- 오래된 소프트웨어 공학의 언어인 tracer bullet, vertical slice, ubiquitous language, deep modules가 에이전트의 행동을 유도하는 강력한 단서가 된다.
- 에이전트가 매 세션 코드베이스를 처음 읽는다는 사실 때문에 깨끗한 코드, 관찰 가능성, 자동화된 리뷰와 정원 가꾸기가 이전보다 더 중요해진다.
AI는 모든 소프트웨어 공학의 원칙을 폐기하지 않았다. 오히려 구현 속도를 크게 높여 전략적 선택의 결과를 더 빨리 드러내고, 코드베이스를 에이전트가 일하는 환경으로 만들었다. 인간은 장기 목표와 가치·범위를 정하고, 에이전트가 반복 가능한 전술 실행과 검증을 수행하도록 그 과정을 문서·스킬·피드백 루프로 인코딩해야 한다.
1. 음성 코치에서 소프트웨어 교육자로
기술 경력은 컴퓨터과학 전공이 아니라 사람을 가르치고 도구를 직접 만들어 본 경험에서 출발했다.
1.1. 음성 교육과 첫 번째 소프트웨어 실험
-
6년간의 음성 코치 경력
- 대학 시절 밴드 활동을 계기로 노래를 가르치는 회사를 시작했고, 취미로 더 잘 노래하려는 사람부터 합창단원까지 지도했다.
- 석사 과정을 거친 뒤 연극학교에서 셰익스피어와 발성을 가르쳤고, 컨설팅 회사 임직원에게 발표와 말하기를 교육했다.
- 전문적인 음성 교육을 하려면 런던에 살아야 한다는 사실을 깨달았지만 런던 생활을 싫어했고, 가족과 고향이 있는 시골로 돌아갈 수 있는 원격 직업을 찾았다.
-
학생을 돕기 위한 자바스크립트 도구
- 수업용 플래시카드 앱을 만들며 자바스크립트를 독학했다.
- 첫 앱으로 음성의 스펙트로그램과 공명 주파수를 분석하는 웹 오디오 분석기를 만들었다.
- 음성의 공명 주파수와 T1·T2의 균형을 확인하려는 야심찬 도구였지만 성능은 매우 나빴다.
- 여섯 겹으로 중첩된
for루프가 들어간 것과 같은 초기의 서투른 구현이었지만 수업을 조금 더 낫게 만들었다.
- 잘 만들지는 못했어도 어려운 문제를 곧바로 구현해 보는 태도가 이후 소프트웨어 경력의 출발점이 됐다.
1.2. 독학 개발자와 TypeScript의 발견
-
2017년 전후의 전환
- 몇 달간 쉬면서 직장을 그만두고 자바스크립트·Sass 등으로 만든 작은 프로젝트를 포트폴리오 삼아 지원했다.
- 당시 영국에서는 지금보다 개발자 수요가 높아 부트캠프나 짧은 경험만으로도 기회를 얻는 사람이 많았고, 대화 능력과 동기가 강점으로 작용했다.
- 음성 코치 시절의 설명 능력 덕분에 기술 지식은 적어도 면접에서 합리적으로 소통할 수 있었고, 기술 지식을 빠르게 늘리면서 동료와 다른 속도로 성장했다.
-
작은 회사에서 얻은 기본기
- 첫 회사에서 샌들 차림으로 운하 보트에 살던 뛰어난 개발자에게 배웠고, Windows PC에 클라우드 운영 환경과 같은 CentOS 6을 직접 설치했다.
- 회사가 재정난을 겪자 에이전시로 옮겼고, 9개월 뒤 다시 다른 에이전시로 이동하며 여러 조직의 개발 방식을 경험했다.
-
TypeScript를 선택한 이유
- 자동차 제조사를 위한 학습관리시스템에서 영국 프런트엔드 팀과 포르투갈 백엔드 팀이 협업했다.
- 백엔드 팀이 계약을 계속 바꾸는데 프런트엔드 팀에 알리지 않아 버그가 쌓였고, 타입으로 계약을 연결할 필요가 생겼다.
- TypeScript를 도입하자 프런트엔드 팀의 속도가 백엔드 팀보다 빨라졌고, 결국 속도가 너무 빨라 팀 인원을 줄일 정도였다.
1.3. 오픈소스, 상태 머신, Vercel
-
XState와 Stately로 이어진 오픈소스 경력
- 실시간으로 함께 집 안을 이동하는 지도 애플리케이션에서 네트워크 경계를 넘나드는 복잡한 상태를 다루기 위해 XState v4를 사용했다.
- XState를 더 타입 안전하게 만들기 위한 도구와 CLI를 만들었고, David Khourshid의 관심을 받아 XState 코어 팀에 참여했다.
- David Khourshid, Mattias Baczynski, Andarist Rake 같은 개발자와 협업하면서 이전에 보지 못한 수준의 설계와 오픈소스 운영을 접했다.
-
미국식 보상과 개발자 교육으로의 이동
- Stately가 상태 차트와 시각적 프로그래밍에 투자하며 자금을 확보했고, Matt에게 미국 기업 수준의 보상을 제공하는 첫 직장이 됐다.
- 경제적 여유와 유연성이 삶을 바꿨고, 상태 차트를 옹호하는 개발자이자 교육자로 활동하기 시작했다.
- 이후 Vercel의 개발자 교육 조직에 합류해 Jared Palmer 밑에서 약 3개월 일했고, Turbopack의 초기 문서 작성과 샌프란시스코 Next.js Conf 준비에도 참여했다.
1.4. Total TypeScript의 성장
-
두 분짜리 TypeScript 팁
- XState를 타입 안전하게 만들며 익힌 고급 타입 기법을 두 분짜리 영상으로 만들어 트위터에 올렸다.
- 한 일요일에 13~15개를 만들어 예약 게시했고 팔로어가 약 4,000명에서 10,000명으로 증가하면서 교육 상품의 시장을 확인했다.
-
안정된 직장과 창업 사이의 선택
- Vercel은 처음에 주 3일, 3개월 계약으로 안정적인 기반을 제공했지만 Matt에게는 Total TypeScript를 시험하는 백업에 가까웠다.
- Joel Hooks와 함께 사전 판매를 진행하자 Vercel에서 받던 보수의 30~40배 수준의 매출이 즉시 발생했고, 전업 교육 사업으로 옮길 수밖에 없었다.
- 2023년 1~2월 정식 강좌를 출시한 뒤 총매출이 빠르게 7자리 달러, 즉 100만 달러 이상에 도달했다.
- 이후 보충 강좌를 더하고 확장해 총매출 250만 달러를 공개했으며, 환불 정책을 길게 유지하고 교육 예산으로 결제하는 기업 고객을 주요 시장으로 삼았다.
- 광고·후원에 의존하기보다 학습자가 구매하는 제품 자체를 수입원으로 삼아, 지불한 사람이 얻는 가치가 가격의 여러 배가 되도록 하는 모델을 선호했다.
2. AI가 바꾼 지식과 교육의 가치
AI는 학습을 없애기보다 무엇을 배워야 하는지와 교육자가 제공해야 하는 가치를 바꿨다.
2.1. 지식과 지혜의 분리
-
두 겹의 교육
- 문법과 사용법은 무엇(what)을 가르치는 지식 층이다.
- 왜 그렇게 해야 하는지, 어떤 트레이드오프가 있는지는 지혜 층이다.
- AI는 문법·API·전술 지식을 매우 싸게 제공하지만, 나쁜 설계가 몇 달 뒤 어떤 장애를 만드는지 이해하는 지혜는 싸지지 않았다.
-
Total TypeScript 이후의 피벗
- AI 확산으로 TypeScript 전술 교육의 매출과 관심이 떨어졌고, 2023년 말부터 애플리케이션에 AI를 넣는 강좌를 시도했다.
- 프런트엔드 경력과 맞는 선택이었지만 기대한 반응이 없었고, 내용은 자랑스러워도 더 만들고 싶지는 않았다.
- 이후 에이전트가 지식·문법·전술을 처리할 만큼 좋아지자 인간은 장기 목표와 전략을 맡는다는 구도를 발견했다.
2.2. 전술적 프로그래밍과 전략적 프로그래밍
-
AI가 먹어 치운 전술 층
- 파일을 만들고 코드를 작성하고 문법을 적용하는 반복 작업은 에이전트가 잘 수행한다.
- 목표를 고르고 범위를 정하고 위험을 계산하며 여러 달 뒤의 결과까지 생각하는 전략 층은 여전히 인간의 몫이다.
- John Amster가 말한 tactical programming과 strategic programming의 구분이 AI 시대의 역할 분담을 설명하는 핵심 틀이 됐다.
-
2024년 겨울의 전환점
- Opus 4.5가 나온 뒤 사람들이 휴식 기간에 에이전트를 집중적으로 사용하며 성능이 급격히 좋아졌다는 사실을 체감했다.
- Matt도 이때 에이전트에게 실제로 위임할 수 있고, 구조를 제공하면 혼자서도 상당한 작업을 수행한다는 결론에 도달했다.
- Ralph loop와 같은 반복 구조를 연구하며, 에이전트를 단순 대화 상대가 아니라 목표를 향해 움직이는 프로세스로 다루기 시작했다.
3. AI 스킬은 작업 방식을 배포하는 장치다
스킬은 모델에 더 많은 지식을 주는 파일이 아니라, 인간의 판단·정보 흐름·피드백 루프를 재사용 가능한 프로세스로 만드는 장치다.
3.1. 스킬의 형태와 확산
-
마크다운 폴더와 호출 방식
- 스킬은 컴퓨터 어딘가에 놓인 마크다운 파일 폴더다.
- 모델이 스스로 호출하는 모델 주도 스킬과 사용자가 슬래시 명령으로 호출하는 사용자 주도 스킬이 있다.
- Superpowers, Claude Code 플러그인, Gstack 같은 흐름이 확산되는 것을 보며 자신의 프로세스도 스킬로 배포하기로 했다.
-
예상 밖의 확산
- 별다른 홍보 없이 저장소를 올려 둔 뒤 다른 작업을 하다가 돌아왔는데, 이전의 어떤 프로젝트보다 많은 별을 받고 있었다.
- 4월 AI Engineer London에서
Software Fundamentals Still Matter라는 발표를 했고 발표 영상은 약 120만 조회를 기록했다. - 스킬 저장소는 약 23만 개의 별을 얻어 전 세계에서 두 번째로 많이 별을 받은 스킬 저장소이자 전체 저장소 순위 약 20~25위권이 됐다.
3.2. Grill Me: 질문으로 의도를 정렬하기
-
단순하지만 강한 구조
- 에이전트에게 특정 주제를 끈질기게 인터뷰하게 하는 작은 스킬이다.
- 질문을 이어 가는 동안 모델이 예상 밖의 아이디어를 던지고, 사용자도 자신이 당연하게 넘긴 결정을 다시 보게 된다.
- 첫 직장의 시니어 개발자나 XState 팀의 뛰어난 동료가 설계 리뷰에서 던지던 질문을 에이전트와 재현하는 느낌을 준다.
-
API 엔드포인트 사례
- 인증 토큰이 있는 사용자가 이메일 구독자인지 확인하는 단순한 API를 만들려 하자,
Grill Me가 35개의 질문을 던졌다. - Bearer 토큰을 쓸지, JSON 본문에 넣을지, GET으로 전달할지부터 인증과 권한 범위를 물었다.
- 하루 1,000건의 제한을 넘긴 첫 요청부터 막을지, 1,000건까지 허용할지 같은 rate limit 정책도 파고들었다.
- 단순한 엔드포인트가 깊은 설계 대화로 바뀌었고, 어떤 결정은 별도 조사나 다른 학습 세션을 요구한다는 사실이 드러났다.
- 인증 토큰이 있는 사용자가 이메일 구독자인지 확인하는 단순한 API를 만들려 하자,
-
의사결정과 학습의 동시 진행
/go처럼 구현을 통째로 위임하면 에이전트가 핵심 결정을 대부분 대신하지만,Grill Me에서는 사용자가 결정을 내리고 필요한 조사 지점을 발견한다.- Bearer 토큰과 POST·GET의 차이를 모르면 먼저 학습한 뒤 선택할 수 있으므로 전문성이 유지된다.
- AI를 쓰는 동안 계속 배우고 있으면 괜찮지만 학습 자체를 외주화하면 몇 달 또는 몇 년 뒤 문제가 생긴다는 원칙이 중요하다.
3.3. 의사소통 장벽과 가치 정렬
-
에이전트는 마음을 읽지 못한다
- 고성능 모델을 신뢰해 목표만 던져도 자신의 우선순위와 가치가 자동으로 전달되지는 않는다.
- 범위·비범위, 중요도, 안전 기준을 말하지 않으면 에이전트는 사용자의 가치와 어긋난 코드를 만들 수 있다.
Grill Me는 구현 세부사항뿐 아니라 사용자의 가치 체계를 명시하게 해 에이전트가 사용자를 알아가는 과정을 만든다.
-
권한·승인 설계의 교훈
- 에이전트에게 인증·인가를 즉흥적으로 맡기는 것은 위험하다.
- 정적 권한과 동적인 작업 사이에 간극이 있으므로, 모든 도구 호출을 사람이 하나씩 승인하거나 완전한 YOLO 모드로 내버려 두는 선택 모두 좋지 않다.
- 작업을 자연어로 정의하고 호출마다 허용·거부·사람 승인으로 판단하며 모든 판정을 기록하는 intent-based access control이 대안으로 소개됐다.
4. Ralph loop, 스마트 존, Wayfinder
큰 작업은 한 번의 긴 프롬프트가 아니라 목표·티켓·세션·파일 상태로 분해해야 에이전트가 안정적으로 처리한다.
4.1. 컨텍스트 창의 스마트 존
-
토큰이 늘수록 주의가 분산된다
- 모든 토큰은 주의를 요구하고, 방 안에 목소리가 많아질수록 중요한 목소리를 듣기 어려워진다.
- 컨텍스트 창의 전체 크기가 100만 토큰이어도 처음 약 15만 토큰 정도가 현재 프런티어 모델의
smart zone이고 이후에는 연결 관계와 정확도가 서서히 떨어진다. - 문제는 컨텍스트 창의 총량이 아니라 모델이 동시에 처리해야 하는 토큰과 주의 관계의 원시적인 양이다.
-
Ralph loop의 작동 원리
- 목표를 주고 그 목표에 가장 조금이라도 가까워지는 최소 변경을 수행하게 한다.
- 변경 뒤 컨텍스트를 비우고 새 세션을 시작하지만 코드베이스·파일 시스템·환경에 저장된 상태는 남는다.
- 모델의 작업 기억을 계속 새로 고치면서도 실제 진척은 코드와 테스트에 축적해 15만 토큰 스마트 존을 반복해서 활용한다.
4.2. 목적지 문서와 세션별 티켓
-
두 종류의 문서
- 목적지 문서(destination document)는 PRD 또는 spec으로, 작업이 끝났다고 판단할 조건을 선언한다.
- 그 spec을 한 세션에서 처리할 수 있는 티켓으로 나누며, 티켓 하나가 세션 하나의 작업 단위가 된다.
- 한 번의
Grill Me결과를 spec으로 변환하면 30~40개 티켓에 걸친 대규모 작업도 같은 목표에 묶을 수 있다.
-
낮과 밤의 교대
- 낮에는 사람이 계획과 정렬을 하고 밤에는 에이전트가 구현하도록 하는
day shift / night shift모델을 지향한다. - 장시간 터미널을 번갈아 보며 컨텍스트를 전환하는 대신, 15분 단위의 집중된 계획과 검토 사이에 에이전트가 몇 시간 일하게 한다.
- 목표는 가족과 시간을 보내면서도 충분한 개발 레버리지를 얻는 생활 방식이며, 주말 996 노동을 거부하는 삶의 설계와 연결된다.
- 낮에는 사람이 계획과 정렬을 하고 밤에는 에이전트가 구현하도록 하는
4.3. Wayfinder와 무한 길이의 계획
-
지도·안개·방향성 비순환 그래프
Grill Me만으로 Stripe 클론처럼 큰 시스템을 한 컨텍스트에서 설계할 수 없으므로, 여러 세션의 질문을 하나의 지도에 연결한다.- 지도는 지금까지의 결정, 병렬로 진행되는 세션, 다음에 결정해야 할 지점을 중앙에서 보여 준다.
- 목적지 주변에는 안개가 있고, 각 질문 세션이 새로운 지점을 밝혀 가며 최종 목적지로 향하는 방향성 비순환 그래프(DAG)를 만든다.
-
티켓 종류의 확장
- 구현뿐 아니라 프로토타입, 조사, 인프라 프로비저닝도 지도 위의 서로 다른 티켓으로 표현한다.
- 실제 사용 사례에서는 50~100개 티켓이 있는 지도도 만들었고, 기술 작업뿐 아니라 강좌 기획과 정원 사무실 건축에도 적용했다.
- 소프트웨어 공학도 결국 웹사이트를 클릭하고 결정을 내리는 인간의 작업이므로, 같은 정보 흐름을 다른 삶의 영역으로 옮길 수 있다.
5. 오래된 기본기가 에이전트의 행동을 이끈다
AI에 맞춘 완전히 새로운 원칙을 찾기보다, 에이전트가 이해하고 실행할 수 있는 언어로 오래된 기본기를 다시 활성화하는 편이 효과적이다.
5.1. The Pragmatic Programmer와 소프트웨어 엔트로피
-
스펙 주도 접근의 실패
- 영어를 새로운 프로그래밍 언어로 삼아 spec만 고치면 코드가 따라 바뀌는 방식을 실험했다.
- 코드를 직접 작성할 때보다 결과가 나빴고, spec을 바꿀 때마다 코드가 더 나빠졌다.
- 에이전트는 피드백 루프를 통해 학습하므로 나쁜 테스트 스위트와 나쁜 구조는 나쁜 신호를 주고 계속해서 쓰레기를 만든다.
-
소프트웨어 엔트로피
- 책장에 비닐도 뜯지 않은 채 꽂혀 있던 《The Pragmatic Programmer》를 다시 펼쳐 소프트웨어 엔트로피 장을 읽었다.
- 엔트로피가 질서보다 무질서로 향하는 경향이라면, 에이전트는 소프트웨어 엔트로피를 이전보다 빠른 속도로 생산한다.
Don't outrun your headlights, 피드백 루프 안에서 일하기, 우연에 의한 프로그래밍을 피하기, 추적 가능성 같은 25년 전 원칙이 AI 시대에 그대로 유효했다.
5.2. Tracer bullet과 vertical slice
-
빠른 통합 피드백
- Tracer bullet은 탄흔을 남기는 탄환처럼 작동하는 경로를 먼저 만들어 실제 시스템을 관통하는 한 줄의 작동 증거를 빠르게 얻는 방식이다.
- 데이터베이스 전체, 애플리케이션 계층 전체, React 컴포넌트 라이브러리 전체를 차례로 만든 뒤 마지막에 연결하면 통합 문제를 너무 늦게 발견한다.
- 데이터베이스의 선택이 화면에 보일 내용을 바꾸기 때문에, 경계를 실제로 넘나들어야 설계가 맞는지 알 수 있다.
-
수평 분할 대신 수직 슬라이스
- 배포 단위별 수평 계층을 완성하는 대신, 데이터 저장부터 API와 화면까지 작은 기능 하나를 세로로 관통시킨다.
- 에이전트는 곧바로 실행·테스트 결과를 받고 그 신호를 이용해 다음 결정을 조정한다.
- Matt는 프롬프트와 스킬에서
tracer bullet과vertical slice를 반복했고, 에이전트도 추론에서 같은 표현을 되돌려 사용하며 행동을 그 방향으로 바꿨다.
5.3. Leading word와 도메인 언어
-
모델의 사전 지식에 연결하는 단어
Leading word는 프롬프트나 스킬에서 같은 전문 용어를 몇 번 반복해 모델의 잠재 공간에 있는 관련 개념 묶음을 불러오는 기법이다.- 소프트웨어 공학 서적이 학습 데이터에 들어 있으므로 tracer bullet 같은 단어는 단순한 문구 이상으로 설계 원칙 전체를 호출한다.
- 전문가끼리 jargon을 사용하면 긴 설명 없이 같은 개념을 공유하는 것과 같은 효과이며, 에이전트와 인간 사이의 소통 장벽을 줄인다.
-
DDD의 ubiquitous language
- 에이전트는 장황하고 같은 내용을 여러 방식으로 설명하는 경향이 있어, 애플리케이션의 고유한 대상을 짧고 일관된 이름으로 부르는 도메인 언어가 필요하다.
Grill with Docs는 설계 과정에서 도메인 언어와 모델을 함께 만들고, 그 용어를 코드에도 반영한다.- 예를 들어 ghost course 안의 ghost section에 있는 ghost lesson을 real lesson으로 바꾸면 상위 section과 course까지 real이 되는 연쇄를
materialization cascade라고 부를 수 있다. - 같은 표현이 코드의 함수·파일·문서에 남으면 에이전트가 간단한 grep만으로 관련 구현을 찾고 전체 도메인 구조를 더 쉽게 탐색한다.
5.4. 에이전트가 매번 새로 만나는 코드베이스
-
Memento형 개발 환경
- 에이전트는 매 세션 자신이 누구인지 기억하지 못하는 《Memento》의 주인공처럼 시작하므로, 이전 경험으로 나쁜 코드베이스를 견디며 길을 찾을 수 없다.
- 인간은 같은 벽에 머리를 부딪치며 기억을 쌓아 우회할 수 있지만 에이전트는 매번 처음 코드베이스를 읽는다.
- 따라서 사람의 온보딩뿐 아니라 매 세션 새로 합류하는 에이전트의 온보딩을 위해 모듈 경계·이름·테스트·문서가 깨끗해야 한다.
-
텍스트로 만들 수 있는 일의 우위
- 코드·문서·지시가 텍스트 입력이고, 코드·테스트·타입체크·린트가 텍스트 출력인 소프트웨어는 에이전트에게 특히 다루기 쉽다.
- UI의 호버 애니메이션처럼 비텍스트 상호작용은 에이전트가 아직 정확히 파악하기 어렵고, 영상을 넣어도 프레임의 의미를 충분히 해석하지 못할 수 있다.
- 다른 공학 분야도 시뮬레이션·검증·린터로 상호작용을 텍스트화하면 에이전트 친화성이 올라가며, 사람이 쓰는 서비스와 데이터를 에이전트가 접근할 수 있게 연결하는 일이 중요하다.
6. 전략적 프로그래밍을 배우는 법
전략은 피드백이 늦기 때문에 어렵지만, AI는 구현 속도를 높여 전략적 실수의 결과를 더 빨리 보이게 한다.
6.1. 9개월 뒤 돌아오는 선택
-
믹싱 데스크 비유
- 전략적 프로그래밍은 수많은 슬라이더가 있는 믹싱 데스크를 조절하는 일과 같다.
- 배포 단위 슬라이더를 올리면 마이크로서비스가 늘고 내리면 모놀리스가 되지만, 어느 위치가 맞는지는 즉시 들리지 않는다.
- 구조적 선택의 실수는 6개월 뒤 퇴사한 뒤에도 9개월이 지나서 장애·온콜·유지보수 비용으로 돌아올 수 있다.
-
AI가 짧게 만드는 피드백 루프
- AI는 많은 코드를 빠르게 생성하므로 전략적 실수도 빨리 표면화된다.
- 코드베이스는 에이전트가 작동하는 환경이므로, 기능을 추가하는 동시에 그 환경을 더 좋은 구조로 계속 개선해야 한다.
- 코드의 메모리 제약과 실행 구조를 이해하는 전술 지식은 필요하지만, 더 높은 가치는 장기 구조와 환경을 생각하는 전략적 시선에서 나온다.
6.2. 경력 초기에 필요한 반복과 전환
-
주니어를 에이전트처럼 다루는 역설
- Uncle Bob은 주니어 개발자를 잠시 에이전트처럼 고용해 전술 작업만 위임하고, 실수가 돌아오기 시작하면 전략을 배우게 하자는 식의 의견을 제시했다.
- 전술 작업의 비용이 여러 국가에서 최저임금 아래로 내려가는 상황에서 이 방식은 값비싼 교육 낭비가 될 수 있다.
- 전략적 판단·코드 이해·장기 시야의 가치가 이전보다 커졌지만, 그 판단을 얻기 위한 실제 반복과 실패는 여전히 필요하다.
-
AI를 일찍 쓰되 과정도 배운다
- 2014년의 주니어 시절처럼 음성 수업을 끝내고 곧바로 도구를 고치고 성능을 확인할 수 있다면 훨씬 강력한 반복이 가능하다.
- 과거의 스펙트로그램 도구가 초당 10프레임으로 떨어지고 여섯 겹의
for루프를 사용했다면, 에이전트에게 문제를 보여 개선책을 빠르게 얻을 수 있다. - 에이전트를 많이 활용하되 생성된 코드뿐 아니라 코드를 만드는 과정 자체를 관찰하고 성찰하는
navel-gazing programmer가 되어야 한다.
7. 조직에서 기본기와 에이전트 품질을 측정하기
기본기가 속도를 늦춘다는 논쟁은 예전의 기술 부채 논쟁과 같으며, 에이전트 시대에는 더 빠른 관찰과 실험으로 설득해야 한다.
7.1. 관찰 가능성과 공통 스킬
-
에이전트별 성공률·실패율
- 먼저 조직의 모든 에이전트가 무엇을 하고 성공·실패했는지 관찰할 수 있는 하네스와 지표를 마련한다.
- 사람 개발자를 같은 방식으로 감시하는 것은 침해적이지만, 비용을 지불하는 에이전트 서비스의 효율을 측정하는 것은 필요한 운영이다.
- 특정 저장소의 성공률이 높다면 그 저장소의 코드 구조·스킬·테스트에서 교훈을 뽑아 다른 팀으로 전파한다.
-
공통 작업 흐름과 실험 문화
- 조직이 공유하는 스킬과 소프트웨어 작업 프로세스를 만들고 누구나 개선안을 기여하게 한다.
- 팀마다 다른 스킬을 적용해 A/B 테스트하고, 사용한 토큰 대비 얼마나 많은 가치와 성공을 얻었는지 비교한다.
- 사람들의 회고와 팀 미팅에서 잘된 점·실패한 점·AI를 쓰지 말아야 할 지점을 나누는 인간 피드백 루프도 유지해야 한다.
7.2. 코드베이스를 가꾸는 자동화
-
지속적인 개선 루프
- 매일 아침 코드베이스 아키텍처 개선 스킬을 실행해 바꿀 만한 부분의 제안을 받는다.
- 버튼 하나로 제안을 티켓으로 만들고 구현을 진행할 수 있으므로, 별도의 큰 프로젝트를 열지 않아도 미래의 레버리지를 쌓는다.
- 소프트웨어를 만드는 일뿐 아니라 소프트웨어를 만드는 공장을 개선하는 데 업무 시간의 약 20%를 투자하는 것이 장기적으로 팀의 생산성을 높일 수 있다.
-
정원사 비유
- PR이 흐르는 코드를 지켜보며 냄새와 린트 억제, 덩굴처럼 번지는 복잡성을 발견하고 제거하는 사람이 필요하다.
- 에이전트를 많이 쓰는 조직은 곧 에이전트 플랫폼 팀의 정원사처럼, 에이전트가 성공할 환경을 설계하고 잡초가 커지기 전에 관리해야 한다.
- 버그 리포트와 피드백에 따라 에이전트가 코드베이스를 개선하는 루프를 만들면 정원 가꾸기가 반복 가능한 운영 업무가 된다.
8. 원격 에이전트, 협업, 계획의 양
에이전트가 개인의 터미널을 넘어 조직의 공유 공간에서 일할수록 작업 환경과 계획의 단위를 다시 설계해야 한다.
8.1. 로컬 개발 환경에서 클라우드로
-
100개의 터미널을 조직 자원으로 보기
- 개인 개발자 한 명이 100개의 터미널을 갖는 것은 이상하며, 조직 전체가 공유 공간에서 그만큼의 에이전트를 활용하는 편이 낫다.
- Slack·Discord·Teams·Linear에서 사람을 태그해 질문 세션에 참여시키고, 에이전트의 작업 맥락을 공유하는 방식이 협업에 맞는다.
- Matt는 기차 안에서 Discord의 에이전트와 강좌 버그를 고치고 콘텐츠를 만들며, 로컬 터미널보다 원격 환경의 장점을 체감했다.
-
원격 머신의 장점
- 상시 켜진 머신에서 일정과 아침 스탠드업을 실행하고, Discord 대화를 읽어 하루 작업을 정리할 수 있다.
- 포트 포워딩으로 원격 개발 서버를 로컬에서 확인할 수 있어 고가의 노트북으로 모든 계산을 직접 수행할 이유가 줄어든다.
- 플랫폼 팀이 로컬 개발 환경과 다섯 개의 Docker 컨테이너까지 클라우드 머신에 복제한 기업에서는 프런트엔드처럼 즉시 시각 피드백이 필요한 작업을 제외하고 70~80%의 개발자가 자발적으로 클라우드를 선택했다.
8.2. 언제 먼저 계획하고 언제 바로 고칠 것인가
-
작업 크기에 따른 정렬 규칙
- 한 줄이나 다섯 줄짜리 버그 수정, 버튼을 3픽셀 옮기는 일처럼 결과를 곧바로 확인할 수 있으면 먼저 구현하고 나중에 정렬한다.
- 새 페이지나 큰 기능처럼 잘못된 코드가 이후 컨텍스트를 오염시키고 되돌리기 비싼 작업은
Grill Me로 먼저 범위·인증·데이터 결정을 맞춘다. - 하나의 세션에 들어가는 큰 작업은
Grill Me, 여러 세션에 걸치는 작업은Wayfinder를 사용한다.
-
워터폴 비판에 대한 재해석
- 에이전트로 세네 가지 프로토타입을 싸게 만들어 비교하고, 고른 안을 반복 개선하는 선행 프로토타이핑은 계획을 강화한다.
- 1일짜리 작업에는 긴 PRD가 필요 없지만, 1개월짜리 작업에는 1~2일의 계획이 시간을 절약한다.
- 1년짜리 프로젝트는 먼저 더 작은 단위로 쪼개야 하며, 문제가 된 것은 계획과 구현이 각각 수년씩 걸린 고전적 워터폴이지 짧은 미니 워터폴 자체가 아니다.
- 대형 기술 회사도 AI 이전부터 1주~3개월 단위의 계획·합의·구현을 반복했고, 에이전트 시대에는 낮아진 노동 비용 덕분에 더 빠른 반복과 애자일한 수정이 가능하다.
9. TDD와 기술 부채의 새로운 위치
테스트는 인간의 기억을 보조하는 도구에서 에이전트의 환경 피드백과 작업 증거를 제공하는 도구로 의미가 확장된다.
9.1. TDD는 작업 기억보다 피드백을 위해 사용한다
-
TDD의 전통적 강점
- 실패하는 테스트 하나를 먼저 작성하면 사람이 커피를 마시거나 긴 산책을 다녀와도 현재 위치와 다음 행동을 기억할 수 있다.
- 에이전트는 인간보다 훨씬 큰 작업 기억을 가지므로 TDD가 원래 겨냥한 인간의 망각 문제는 덜 중요하다.
-
에이전트에게 필요한 TDD 증거
- 에이전트는 무한한 작업 기억을 갖지 않으므로 코드 환경과 상호작용하는 피드백 루프는 여전히 필요하다.
- 실패 상태를 먼저 만들게 하면 에이전트가 구현을 속이기 어렵고, 기능이 실제로 작동한다는 증거를 단계별로 남긴다.
- 전체 TDD 순서를 강제하지 않더라도 “이 변경이 없으면 실패하는 테스트를 제시하라”는 식으로 TDD 증거를 요구할 수 있다.
- 구현을 그대로 복제한 동어반복 테스트, 상수를 쓰고 같은 상수인지 확인하는 테스트는 아무것도 검증하지 않으므로 자동 리뷰로 걸러야 한다.
9.2. 작을 때부터 생기는 기술 부채
-
기술 부채의 재정의
- 기술 부채는 큰 코드베이스에만 생기는 것이 아니라, 에이전트가 작은 코드베이스에서도 즉시 만들 수 있다.
- 좋은 코드베이스는 변경하기 쉽고 한 부분의 수정이 연쇄 실패를 일으키지 않으며, 테스트 커버리지와 테스트 스위트가 그 성질을 뒷받침한다.
- 에이전트는 당장의 작업만 보며 전략적으로 생각하지 못하기 때문에 아주 똑똑한 모델도 구조를 쉽게 악화시킨다.
-
자동 구현과 자동 리뷰의 분리
- 한 에이전트가 구현하고 다른 리뷰 에이전트가 코딩 표준·나쁜 테스트·구조 악화를 검사하게 한다.
- 리뷰 에이전트 자체도 틀릴 수 있으므로 인간은 좋은 코드와 기술 부채를 식별할 수 있는 감각을 계속 가져야 한다.
- 이 문제는 새로 생긴 것이 아니라 지난 20년간 반복된 문제이며, AI는 그 문제를 훨씬 빠른 속도로 드러내는 새로운 코끼리일 뿐이다.
10. 교육의 미래와 초심자를 위한 조언
AI는 교육자를 없애지 않고 정보 그래프를 학습 가능한 경로로 정리하는 큐레이터의 가치를 높인다.
10.1. 큐레이션은 여전히 전략적이다
-
정보 그래프를 선형 경로로 바꾸기
- 개별 정보는 다른 정보에 의존하는 그래프를 이룬다.
- 교육자의 일은 학습자가 가장 합리적인 순서로 이해하도록 그 그래프를 선형 경로로 바꾸는 것이다.
- 에이전트가 모든 것을 가르친다는 매력적인 약속은 일부 상황에서 유효하지만, 무엇을 어떤 순서로 배울지 큐레이션하는 일은 여전히 어렵다.
-
7개월 만의 산업 변화
- COVID 시기에 영상 튜토리얼 수요가 커졌지만 학습자가 원하는 자료 유형 자체는 크게 달라지지 않았다.
- 에이전트가 등장한 뒤 약 7개월 동안 산업이 전례 없이 빠르게 이동했고, 사람들이 중요하게 여기는 가치가 전술 지식에서 전략적 사용법으로 옮겨 갔다.
- Matt는 모든 미래를 예측할 수 없으므로 샌프란시스코나 AI 연구소의 특권적 정보보다 지금 실제로 작동하는 흐름에 집중한다.
10.2. 초심자와 주니어에게 주는 방향
-
AI를 실제 작업에 깊이 사용하기
- 에이전트를 사용하지 말고 기본기부터 끝내라는 이분법 대신, 실제로 만들면서 에이전트를 많이 사용하되 판단과 학습을 직접 소유한다.
- 계속 호기심을 유지하고 변화에 적응하며, 자신이 만드는 코드뿐 아니라 만드는 과정과 피드백 루프를 관찰한다.
- AI 시대에 잘 적응하는 사람은 10년 전에도 더 나은 소프트웨어와 자신의 작업 방식을 고민하던 사람이다.
-
실패를 빠른 학습으로 바꾸기
- 과거에 음성 분석기를 혼자 만들며 성능 문제를 오래 끌었다면, 지금은 에이전트에게 병목을 보여 여러 해결책을 빠르게 비교할 수 있다.
- 에이전트가 생산한 결과를 검토하고 나쁜 테스트·구조·성능을 지적하는 능력이 실력의 일부가 된다.
- 전략적 통찰을 기르려면 에이전트의 속도를 활용해 반복 횟수를 늘리고, 결과가 되돌아오는 환경을 의도적으로 만들어야 한다.
11. 부가적으로 소개된 도구와 에이전트 인프라
협찬 사례도 에이전트가 맥락·권한·기억을 필요로 한다는 핵심 논점을 보여 준다.
11.1. Linear를 맥락 계층으로 보기
- 계획 도구에서 에이전트의 기억으로
- Linear는 빠르고 마찰이 적은 이슈 트래커로 시작했으며, 설문에서 가장 사랑받는 트래커로 언급됐다.
- Oscar는 Jira에서 Linear로 600명의 엔지니어를 옮겼고, OpenAI는 100석으로 시작해 별도 명령 없이 전 직원 3,000명으로 확대했다.
- 스펙·고객 요청·히스토리·프로젝트 계획이 이미 Linear에 있으므로, 에이전트가 작업을 시작하기 전에 읽는 맥락 계층이 된다.
- 엔터프라이즈 워크스페이스의 80%가 에이전트를 도입했고 Coinbase와 Ramp는 자체 에이전트가 Linear에서 맥락을 가져온다고 설명했다.
11.2. 권한과 장기 기억
-
작업 의도 기반 권한
- 자연어로 “저장소와 PR 댓글은 읽되, 청구 관련 작업은 승인받고 main에는 절대 push하지 말라”는 정책을 표현할 수 있다.
- 각 호출을 작업과 대조해 허용·거부·사람 승인을 결정하고 판정을 기록하면 정적 사전 권한과 동적 작업 사이의 간극을 줄인다.
-
전체 세션 검색을 이용한 기억
- 복잡한 메모리 시스템을 별도로 설계하는 대신 에이전트의 전체 대화 기록을 검색하게 하는 단순한 접근이 제안됐다.
- 오브젝트 스토리지 기반 검색 인덱스는 세션 기록을 대규모로 저장하고 에이전트별 네임스페이스를 만들 수 있다.
- 수억 건의 세션 기록을 검색한 사례에서 git 히스토리와 CLI보다 더 정확하고 적은 토큰과 짧은 시간으로 과거의 설계 이유를 찾았다는 결과가 소개됐다.
주요 발언 모음
“AI는 대체로 전술적 프로그래밍을 먹어 치웠고, 전략적 프로그래밍은 우리가 맡아야 한다.”
“에이전트가 아무리 똑똑해도 당신의 마음을 읽을 수는 없다.”
“코드는 에이전트가 작동하는 환경이다. 그 환경을 계속 개선해야 한다.”
“문법과 지식은 싸졌지만 지혜를 배우는 일은 전혀 쉬워지지 않았다.”
“작업을 정렬한 뒤 에이전트가 밤새 일하게 하고, 아침에 깨끗한 코드를 검토하는 것이 내가 최적화하려는 흐름이다.”
“우리는 이제 Ralph의 플랫폼 팀이며, 우리 에이전트의 플랫폼 팀이다.”
“좋은 소프트웨어 엔지니어의 핵심은 자기 자신을 성찰하고 자신의 프로세스를 AI가 사용할 수 있는 말로 바꾸는 능력이다.”
핵심 데이터 & 수치
- 약 6년: Matt가 개발자로 전환하기 전 음성 코치·노래 교사로 일한 기간이다.
- 2017년 전후: 자바스크립트 독학 후 첫 개발 직업을 얻은 시기다.
- 35개 질문: 단순한 구독자 확인 API를
Grill Me가 설계 대화로 확장한 사례다. - 약 15만 토큰: 100만 토큰 컨텍스트 창에서도 모델의 성능이 상대적으로 좋은 스마트 존으로 제시된 규모다.
- 30~40개 티켓: 하나의 spec을 여러 세션으로 실행하기 위해 나눈 예시다.
- 50~100개 티켓:
Wayfinder지도가 실제로 확장된 규모다. - 약 120만 조회:
Software Fundamentals Still Matter발표 영상의 조회 수다. - 약 23만 개 별: Matt의 스킬 저장소가 얻은 GitHub 별 수다.
- 100만 달러 이상: Total TypeScript 정식 출시 후 빠르게 도달한 7자리 달러 매출이다.
- 250만 달러: 이후 공개된 Total TypeScript 총매출의 주요 이정표다.
- 30~40배: Total TypeScript 사전 판매가 Vercel 보수보다 컸던 대략적인 규모다.
- 9개월: 전략적 설계 실수가 결과로 돌아오는 데 걸릴 수 있는 시간의 예시다.
- 70~80%: 원격 개발 환경을 자발적으로 선택한 개발자의 비율로 소개된 수치다.
- 약 20%: 소프트웨어를 만드는 공장과 작업 프로세스를 개선하는 데 투자할 수 있는 시간의 예시다.
- 600명·3,000명: 각각 Oscar의 Jira→Linear 이동 엔지니어 수와 OpenAI의 Linear 확대 인원이다.
- 80%: Linear 엔터프라이즈 워크스페이스에서 에이전트를 도입한 비율로 소개됐다.
결론 및 시사점
- AI 시대의 핵심 직무는 코드를 타이핑하는 사람이 아니라 목표·가치·범위·피드백 루프를 설계하는 전략적 프로그래머에 가깝다.
- 지식과 문법은 에이전트에게 맡길 수 있지만, 왜 그 구조가 필요한지 판단하고 장기 비용을 감지하는 지혜는 직접 길러야 한다.
Grill Me는 큰 작업 전에 인간의 의도를 명시하고 설계 결정을 학습하게 하며,Wayfinder는 그 결정을 여러 세션의 지도와 티켓으로 확장한다.- 작업 규모에 따라 정렬 수준을 조절한다. 작은 수정은 먼저 만들고, 한 세션짜리 기능은 질문으로 맞추며, 여러 세션짜리 시스템은 spec·지도·티켓으로 계획한다.
- tracer bullet과 vertical slice로 통합 피드백을 앞당기고, 테스트·타입체크·린트가 에이전트에 분명한 신호를 주도록 만든다.
- 전문 용어와 ubiquitous language는 인간과 에이전트가 짧은 말로 같은 설계 개념을 공유하게 하는
leading word가 된다. - 에이전트가 매번 코드베이스를 처음 본다는 사실을 기준으로 이름·모듈·문서·테스트를 정리하면 사람과 에이전트 모두의 작업 비용이 내려간다.
- 자동 구현과 자동 리뷰를 분리하고, 성공률·실패율·토큰 대비 결과를 관찰해 조직의 공통 스킬과 프로세스를 실험적으로 개선한다.
- 기술 부채는 큰 프로젝트가 끝난 뒤 처리하는 항목이 아니라, 작은 변경마다 생기므로 매일 가꾸는 정원처럼 관리해야 한다.
- 가장 재사용 가능한 역량은 자기 작업을 관찰하고, 더 나은 방법을 찾고, 그 방법을 에이전트가 실행할 수 있는 언어·스킬·자동화로 바꾸는 성찰이다.
핵심 요약 (20줄)
-
AI는 문법과 전술 지식을 싸게 만들었지만 장기 판단과 설계의 지혜까지 자동으로 제공하지는 않는다.
-
Matt Pocock은 음성 코치로 6년간 일한 뒤 원격으로 일하기 위해 자바스크립트를 독학하고 개발자가 됐다.
-
학생을 위한 음성 스펙트로그램 분석기를 만들며 성능이 나쁜 도구도 직접 개선하는 실전 경험을 쌓았다.
-
TypeScript는 프런트엔드와 백엔드의 계약을 연결해 버그를 줄이고 개발 속도를 높이는 도구로 자리 잡았다.
-
Total TypeScript는 짧은 교육 영상과 사전 판매를 바탕으로 빠르게 100만 달러 이상의 매출에 도달했다.
-
AI 확산 뒤 교육의 가치는 무엇을 아는 지식에서 왜 그렇게 해야 하는지에 대한 지혜로 이동했다.
-
AI가 전술적 프로그래밍을 맡을수록 인간은 장기 목표와 구조를 다루는 전략적 프로그래밍을 맡아야 한다.
-
Grill Me는 에이전트가 사용자의 범위와 가치를 이해하도록 끈질기게 질문하는 작은 스킬이다. -
단순한 구독자 확인 API도 인증과 rate limit을 포함한 35개의 질문을 거치며 설계 문제로 확장됐다.
-
Grill Me는 구현을 통째로 위임하는 대신 사용자가 결정하고 필요한 학습과 조사를 발견하게 한다. -
에이전트는 마음을 읽지 못하므로 목표뿐 아니라 우선순위와 금지 범위를 명시해야 한다.
-
Ralph loop는 작은 변경을 수행한 뒤 컨텍스트를 비우고 파일 시스템에 상태를 남겨 여러 세션을 연결한다.
-
약 15만 토큰의 스마트 존을 반복 사용하려면 spec과 세션별 티켓으로 큰 작업을 분해해야 한다.
-
Wayfinder는 지도·안개·DAG로 여러 설계 세션과 구현·조사·프로토타입 작업을 연결한다. -
tracer bullet과 vertical slice는 데이터베이스부터 화면까지 실제 경계를 빠르게 관통해 통합 피드백을 앞당긴다.
-
반복되는 전문 용어는 모델의 사전 지식을 불러오는 leading word가 되고, DDD의 ubiquitous language는 코드 탐색을 단순화한다.
-
에이전트가 매 세션 코드베이스를 처음 읽으므로 깨끗한 구조와 문서, 테스트가 사람보다 더 중요해진다.
-
에이전트 조직은 성공률과 실패율을 관찰하고 공통 스킬을 A/B 테스트하며 작업 프로세스를 계속 개선해야 한다.
-
TDD는 인간의 기억 보조보다 에이전트의 피드백과 구현 증거를 제공하는 방식으로 재해석할 수 있다.
-
가장 중요한 역량은 자신의 작업을 성찰하고 더 나은 과정을 에이전트가 실행할 수 있는 언어와 자동화로 바꾸는 능력이다.
