당신이 외주를 줄 수 없는 단 하나의 반복 숙달 (Rep)
요약
AI가 반복적인 작업을 대신해주면서 개발자의 판단력(judgment) 구축이 어려워지는 현상을 경고합니다. 단순 코딩은 AI에게 맡기되, 설계 결정과 결과에 대한 책임은 직접 지며 '어디서 무너질 것인가'를 끊임없이 질문하는 과정이 필수적입니다.
핵심 포인트
- AI는 효율적이지만 성장에 필요한 '반복 숙달(reps)'의 기회를 뺏을 수 있음
- 판단력은 정보 습득이 아닌, 결정과 그 결과의 잔여물을 통해 구축됨
- 상용구 코드는 AI에게 맡기고, 설계 결정과 같은 고차원적 판단에 집중할 것
- AI 결과물에 대해 '어디서 무너지는가?'라는 질문을 던지는 훈련이 필요함
지난주에 저는 결과물(output)의 비용이 저렴해진 지금, 판단력(judgment)이 곧 업무라고 말했습니다. 그렇다면 당연히 다음 질문이 뒤따릅니다. 좋습니다, 그런데 판단력을 실제로 어떻게 구축할 수 있을까요?
여기 불편한 진실이 있습니다. 당신은 항상 그랬던 방식 그대로 판단력을 구축해야 합니다. 바로 반복 숙달(reps)을 함으로써 말이죠. 문제는 AI가 그 반복 과정의 대부분을 조용히 제거해 버렸다는 점입니다.
데이터베이스에 인덱스(index)가 필요하다는 것을 예전에 어떻게 배웠는지 생각해 보십시오. 당신은 느린 쿼리(slow query)를 작성했습니다. 그것을 배포(ship)했습니다. 그러던 어느 날 밤 트래픽이 급증했고, 대시보드가 빨갛게 변하는 것을 지켜보았습니다. 당신은 새벽 1시에 아직 이해하지 못하는 실행 계획(EXPLAIN plan)을 읽으며 앉아 있었고, 새벽 3시가 되어서야 그것을 평생 잊지 않도록 이해하게 되었습니다. 그날 밤은 버그가 아니었습니다. 그날 밤이 바로 커리큘럼(curriculum)이었습니다.
이제 당신은 AI에게 쿼리를 작성해 달라고 요청하고, AI는 이미 인덱스가 포함된 쿼리를 건네줍니다. 깔끔하고, 정확합니다. 그리고 교훈은 결코 찾아오지 않습니다. 당신은 부하(load) 상황에서 느린 쿼리가 어떤 느낌인지 가르쳐 주었을 그 밤을 건너뛰었으며, 따라서 다음번에도 그것이 다가오는 것을 알아채지 못할 것입니다.
이것이 이 시대의 함정입니다. AI는 당신에게 가장 많은 것을 가르쳐 주었던 바로 그 반복 숙달(reps) 작업에서 가장 빠릅니다.
독서만으로는 이 상황을 벗어날 수 없습니다. 저는 시스템에 큐(queue)가 언제 필요한지에 대한 직관을 줄 수 있을 만큼 충분히 좋은 글을 쓸 수 없습니다. 아무도 할 수 없습니다. 판단력은 당신이 흡수하는 정보가 아닙니다. 그것은 당신이 내린 결정, 그리고 그 결정의 결과를 감내해야 했던 잔여물(residue)입니다. 당신은 설계에 캐시(cache)가 필요하지 않다고 결정했고, 그것이 버텨내거나 혹은 무너졌을 것입니다. 어떤 경우든 당신은 문단 하나가 결코 말해줄 수 없는 무언가를 배웠을 것입니다. 결정하는 것이 반복 숙달(rep)이고, 그 결과를 감내하는 것이 교훈입니다.
따라서 실질적인 움직임은 도구를 거부하는 것이 아닙니다. 어떤 반복 숙달(reps)을 유지할지 선택하는 것입니다.
AI가 상용구 코드(boilerplate)를 작성하게 하십시오. 진심으로, 그렇게 하십시오. CRUD 엔드포인트(endpoint), 설정(config), 테스트 스캐폴딩(test scaffolding), 인덱스가 이미 배치된 느린 쿼리 같은 것들 말입니다. 그 중 어느 것도 당신의 안목을 길러주지 않습니다. 그것들은 AI에게 넘겨주고 더 빠르게 움직이십시오.
하지만 설계 결정 (design decisions)은 당신의 몫입니다. 이것이 서비스 (Service)가 되어야 할까요, 아니면 큐 (Queue) 뒤의 워커 (Worker)가 되어야 할까요? 이 읽기 중심 (read-heavy) 경로에 캐시 (cache)가 필요할까요, 아니면 나중에 후회하게 될 가동 부품 (moving part)을 추가하고 있는 것일까요? 사용자가 제출 (Submit) 버튼을 눌렀을 때, 누가 기다리고 있으며, 그들이 기다리는 대상이 느려지면 어떤 일이 발생할까요? 그러한 것들이 바로 안목을 길러주는 반복 숙달 (reps)이며, 바로 그 순간들을 위해 속도를 늦출 가치가 있습니다.
그리고 AI 코드를 건네받았을 때, 그것을 그냥 받아들이지 마십시오. 심문하십시오. 시니어 (senior)가 본능적으로 던지는 단 하나의 질문을 던지십시오: "이것은 어디에서 무너지는가?" 사용자가 천 명일 때? 백만 명일 때? 그것이 호출하는 외부 서비스 (external service)가 타임아웃 (timeout)될 때?
의도적으로, 그리고 반복해서 던지는 그 질문이 바로 반복 숙달 (rep)입니다. 당신은 AI가 대신 훈련해 줄 수 없는 바로 그 근육을 단련하고 있는 것입니다. 왜냐하면 시스템이 망가졌을 때 호출 (paged)을 받는 사람은 AI가 아니기 때문입니다.
이것이 복리로 작용하는 이유는 다음과 같습니다. 두 명의 주니어 (juniors)가 오늘 시작합니다. 둘 다 모든 것에 AI를 사용합니다. 한 명은 설계 결정 (design decisions)을 유지하고, 그것들을 책임지며, 잘못된 결정들과 함께 시간을 보냅니다. 다른 한 명은 빠르게 배포하고 결코 뒤를 돌아보지 않습니다. 1년 동안 그들은 동일해 보입니다. 같은 속도, 같은 깔끔한 PR (Pull Request).
차이점은 AI가 예측하지 못한 방식으로 무언가가 고장 나는 새벽 2시 전까지는 보이지 않습니다. 그때 한 명은 왜 그런 일이 일어났는지 추론 (reason)할 수 있지만, 다른 한 명은 그저 에러를 챗봇 (chatbot)에 다시 붙여넣고 요행을 바랄 뿐입니다.
그 주니어 중 한 명은 시니어 (senior)가 되어가고 있습니다. 다른 한 명은 빠르기만 한 채 눈먼 상태로 남아 있습니다.
판단력은 반복 숙달 (rep)을 지켜봄으로써 쌓이는 것이 아닙니다. 결정하는 사람이 됨으로써 쌓이는 것입니다.
그러니 설계 결정 (design decisions)은 당신이 가져가십시오. 나머지는 넘기십시오.
- Kay
추신: 무료 허브 (free hub)는 반복 숙달 (reps)이 이루어지는 곳입니다: 7가지 빌딩 블록 (building blocks)을 밟아 나간 뒤, 캡스톤 게임 (capstone game)에서 직접 실제 시스템을 조립해 보세요. 그 마지막 단계가 바로 의도된 반복 숙달 (rep)입니다. systemthinkinglab.ai/learn
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기