
AI가 코드를 작성하는 시대에, 굳이 "직접 쓰는" 연습장을 만든 이야기
요약
AI 시대에 엔지니어의 구현력을 유지하기 위한 학습 루프(Learning Loop)를 제안합니다. AI에게 완성된 코드를 맡기는 대신, 구현 순서가 담긴 주석 형태의 '교재'를 만들게 하여 스스로 코드를 작성하는 훈련법을 다룹니다.
핵심 포인트
- 설계 판단 능력은 스스로 코드를 읽고 쓸 수 있는 토대 위에서 성장함
- AI에게 정답 코드 대신 구현 순서가 담긴 주석(교재)을 생성하도록 요청
- AI의 코드를 복사하지 않고 주석을 따라 직접 타이핑하며 학습
- 실제 업무에서 사용하는 로직을 추출하여 학습 소재로 활용
AI에게 코딩을 맡기기 시작했지만, "자신의 구현력이 성장하고 있다는 실감이 나지 않는다"며 초조해하는 주니어·신입 엔지니어를 위한 글입니다.
이 글을 읽으면, AI에게 코드를 작성하게 하면서도 자신의 "읽기·쓰기" 능력을 떨어뜨리지 않기 위한 학습 루프(Learning Loop)를 알 수 있습니다. 제가 실제로 해보고 효과를 느꼈던 방법을 공유합니다.
특별한 사전 지식은 필요하지 않습니다. 코드 예시는 TypeScript이지만, 사고방식은 어떤 언어라도 동일합니다.
- 담당 레이어(Layer)가 한 단계 올라갔다 — AI 시대에 인간의 업무가 어떻게 변했는가
- 문제: 설계(Design)를 판단하는 기준은 코드를 작성할 수 있는 토대 위에서만 자라난다 — 왜 토대를 놓쳐서는 안 되는가
- 방법: 업무의 일부를 추출하여, AI에게 "순서를 주석화한 교재"를 만들게 한다 — 학습 루프의 3단계
- AI는 가설을 가지고 사용한다 — 통째로 맡기는 것과 무엇이 다른가
- 실례: 직접 쓰는 연습장을 하나 만들었다 — 폴더 구성 포함
최근 제 업무의 감각이 변했다고 느끼고 있습니다. 구현은 AI가 상당 부분을 작성해 주고, 인간은 "무엇을 만들 것인가", "어떻게 조립할 것인가"를 생각하는 쪽으로 돌아갑니다. 담당하는 레이어가 구현에서 설계로 한 단계 올라간 느낌입니다.
이 자체는 좋은 변화라고 생각합니다. 다만, 한 가지 걸리는 점이 있었습니다.
설계의 좋고 나쁨을, 나는 제대로 판단하고 있는 것일까?
AI가 내놓은 설계나 구현을 보고 "이 정도면 괜찮다"라고 생각합니다. 하지만 그 "괜찮다"는 무엇을 기준으로 한 "괜찮다"인가.
여기서 깨달은 것은, 설계의 좋고 나쁨을 판단하는 기준은 스스로 코드를 읽고 쓸 수 있는 토대 위에서만 자라난다는 것입니다.
왜 이 함수는 이렇게 분할되어 있는가. 왜 여기서는 루프(Loop)가 아니라 이 메서드(Method)인가. 그것을 "나라면 쓸 수 있다"는 수준으로 이해하지 못하면, AI의 출력에 대해 "왠지 좋아 보인다" 이상의 판단을 할 수 없습니다. 기준이 자신 안에 없으면 AI에게 동의하고 있을 뿐, 리뷰를 하고 있다고 생각하지만 실제로는 리뷰가 되지 않습니다.
레이어가 올라갔기에 더욱 토대인 "읽기·쓰기"를 놓쳐서는 안 됩니다. 그렇다면 어떻게 AI에게 맡기면서도 토대를 유지할 것인가. 제가 도달한 방법을 적어보겠습니다.
포인트는 세 가지입니다.
- 업무에서 나오는 처리를
부분적으로 추출한다 - AI에게 "
구현 순서를 주석으로 만든 교재"를 만들게 한다 - 인간이
단계별로 직접 쓴다
순서대로 설명하겠습니다.
소재는 제가 평소 업무에서 다루는 처리에서 가져옵니다. 교과서의 연습 문제가 아니라, 실제로 의미 있는 처리의 일부를 추출하는 것이 요령입니다. "이것을 무엇을 위해 하는가"를 납득하고 있는 만큼 머릿속에 남기 쉽습니다.
예를 들어 제 경우에는 "어떤 리스트 안에서 특정 조건에 부합하는 항목만 골라내어 중복 없이 모은다"라는 흔한 판정 처리를 하나 추출했습니다.
이 부분이 이 방법의 핵심입니다. AI에게 완성된 코드를 쓰게 하는 것이 아니라, **구현 순서만을 주석으로 만든 "빈칸이 있는 교재"**를 만들게 합니다.
// ===== Step1: 데이터를 정의한다 =====
// 1건의 데이터가 가지는 필드(Field)를 type으로 정의하고, 샘플 배열을 준비한다
// ===== Step2: 조건에 맞는 것만 남긴다 =====
...
AI에게는 "정답 코드는 쓰지 마. 할 순서와 각 단계에서 무엇을 할지에 대한 힌트만 주석으로 써줘"라고 부탁합니다. 이렇게 하면, 지도는 받되 걷는 것은 자신이라는 상태를 만들 수 있습니다.
그다음은 주석의 지시에 따라 한 단계씩 스스로 작성합니다. 규칙은 심플합니다.
⚠️
AI가 작성한 코드는 복사해서 붙여넣지(Copy-paste) 않는다. 보지 않고 직접 타이핑한다. 막히면 정답이 아니라 힌트를 얻는다.
이것은 "사경(写経, 코드를 그대로 베껴 쓰는 것)\
| ❌ 통째로 맡기기 | ✅ 가설을 가지기 |
|---|---|
| 이 처리 써줘 | 루프(Loop)로 삭제하려다 막혔어. 배열에서 조건으로 필터링하는 다른 방법이 있을 것 같은데, 그게 뭘까? |
| 에러 고쳐줘 | 이 타입 에러(Type Error)는 반환값의 타입과 반환하는 값이 맞지 않아서 발생하는 것 같아. 내 생각이 맞아? |
가설을 가지고 질문하면, 돌아온 답변이 "내 예상과 어떻게 달랐는가"라는 차이(Difference)로서 머릿속에 들어옵니다. 차이는 기억에 남습니다. 반면 통째로 맡겨버리면 정답만 손에 남고, 이해는 자신의 외부를 지나쳐 가버립니다. 같은 AI를 사용하더라도 가설의 유무에 따라 남는 것이 완전히 달랐습니다.
특히 주의하고 있는 점은, 에러가 발생하거나 "출력이 기대값과 다를" 때, 그 내용을 그대로 AI에 붙여넣고 끝내지 않는 것입니다. 이것이 가장 저지르기 쉬우면서도 가장 아까운 행동입니다. 막힌 순간이야말로 자신의 머리로 "왜 이렇게 되었을까?"를 생각할 절호의 타이밍이기 때문입니다.
여기서 복사 붙여넣기(Copy-paste)로 도망치면, 구현(Implementation)에 대한 이해가 자라지 않을 뿐만 아니라, 문제 해결을 위한 사고력 그 자체가 자라지 않습니다. "어디가 수상한가", "무엇을 시도해야 원인을 분리(Isolation)할 수 있는가"를 스스로 세우고, 그 가설을 AI에게 던집니다. 가설이 맞든 틀리든, 그 사고 프로세스가 자신의 자산이 됩니다. 제가 단련하고 싶은 것은 구현에 대한 이해뿐만 아니라, 이런 막혔을 때 스스로 앞으로 나아가는 사고력입니다.
이러한 방식으로 업무의 판정 로직을 하나의 소재로 삼아 작은 연습장을 만들었습니다. 프레임워크(Framework)도 설정 파일(Configuration file)도 전부 떼어내고, node
단 하나의 명령어로 동작하는 최소 구성입니다.
폴더 구성은 다음과 같습니다.
practice/
├── README.md # AI에게 만들게 한 "과제" = 무엇을 만들 것인가 · 구현 순서
├── index.ts # README의 순서에 따라 자신의 손으로 작성하는 파일
...
node_modules도 package.json도 없습니다. node index.ts만으로 동작합니다. 환경 구축(Environment setup)에서 막혀 학습이 중단되는 것을 피하고 싶었기에, 일부러 이 정도로 덜어냈습니다.
역할은 세 가지로 나뉩니다.
- README.md… AI에게 만들게 한 교재. 무엇을 만들 것인가(과제)와 구현 순서가 적혀 있음
- index.ts… README의 순서에 따라 자신의 손으로 한 단계씩 작성하는 파일
- LEARNING_LOG.md… 작성한 로직을 "왜 이렇게 쓰는가" 자신의 언어로 설명하고, AI에게 첨삭받는 기록
마지막 LEARNING_LOG.md가 은근히 효과적입니다. 쓸 수는 있어도 설명할 수 없는 것은 아직 이해하지 못한 것입니다. 설명하려고 하다가 막히면, 알고 있다고 착각했던 부분이 드러납니다.
AI가 코드를 작성해 주는 시대라도, 토대인 "읽기·쓰기" 능력을 놓치면 높아졌을 설계 계층(Design layer)에서 발밑이 무너집니다. 이번에 시도한 학습 루프(Learning loop)는 다음과 같았습니다.
- 업무 로직을 부분적으로 추출한다
- AI에게 "순서만 주석 처리한 교재"를 만들게 한다
- 자신의 손으로 한 단계씩 작성한다 (복사 붙여넣기 하지 않는다)
- AI는 가설을 가지고 사용하며, 통째로 맡기지 않는다
AI에게 맡길 부분과 스스로 쥐고 있을 부분을 나눈다. 이를 위한 작은 연습장을 하나 가지고 있으면, 안심하고 AI에 의지할 수 있게 됩니다. 여러분도 업무 로직을 하나 추출해서 시도해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기