AI 시대에 코딩을 배울 때 아무도 알려주지 않는 것
출처: Dev.to
6개월 전, 나는 유튜브 재생목록 하나와 빈 노트북, 그리고 하나의 목표만을 가지고 앉았다: 파이썬을 배우는 것. 내가 예상하지 못했던 것은 파이썬 자체가 아니라, 실제로 어떻게 배워야 할지 figuring out 하는 것이 얼마나 힘든가였다.
나는 유튜브 재생목록으로 시작했다. 충분히 간단해 보였다. 그런데 영상을 본 뒤에 무엇을 해야 할지 아무도 알려주지 않는다. 영상을 다시 봐야 할까? 메모를 해야 할까? 바로 코딩을 시작해야 할까? 나는 체계가 없었다. 개념 하나를 보고 이해한 듯한 느낌이 들어 VS Code를 열고 빈 파일을 바라보곤 했다.
그때 나는 내가 수동적인 학습에 빠졌다는 것을 깨달았다. AI 시대에 수동적인 학습은 특히 위험한 함정이다. 왜냐하면 활동과 진전을 쉽게 혼동하기 쉽기 때문이다. 영상을 보고 기분이 좋을 수 있다. Claude에게 개념을 설명해 달라고 요청하고 기분이 좋을 수 있다. AI에게 코드를 써 달라고 하고, 그 코드를 읽으며 고개를 끄덕이며 뭔가 배운 듯한 느낌을 받을 수도 있다. 하지만 실제로는 단지 소비했을 뿐이다. 차이가 있다.
솔직함이 찾아온 순간은 내가 코딩 문제에 막혔을 때였다. 지금은 모두가 그렇듯, 내 본능은 바로 ChatGPT나 Claude를 여는 것이었다. 그리고 커서가 깜박이는 그 자리에서 나는 매번 막힐 때마다 그렇게 하면 아무것도 만들지 못한다는 걸 알았다. 뇌는 문제를 스스로 해결하는 근육을 키우지 못한다. 나는 AI에게 코드를 짜게 하는 사람은 될 수 있지만, 코드를 생각하는 사람은 될 수 없게 된다. 이미 AI가 꽤 괜찮은 코드를 작성할 수 있는 세상에서, 독립적으로 생각하지 못하는 사람은 가치가 없고, 대체 가능하다.
그래서 나는 실제로 배우도록 강제하는 시스템을 구축해야 했다. 여러 차례 시도와 실패 끝에 나는 손으로 적어 노트북 옆에 두었던 5단계 체크리스트를 만들었다.
단계 1: 첫 접촉 — 한 개의 집중된 영상을 보고, 기억만으로 요약을 작성한 뒤, 대형 언어 모델(LLM)에게 답을 얻기 위해가 아니라 내가 이해한 내용을 압박 테스트하기 위해 토론한다.
단계 2: 깊은 이해 — 글로 된 자료를 읽고, 적절한 노트를 작성하고, 개념을 시각적으로 맵핑하고, 찾을 수 있는 모든 엣지 케이스와 예외를 나열한다.
단계 3: 실전 연습 — 3~5개의 작은 독립 예제를 처음부터 작성하고, 의도적으로 코드를 깨뜨려 본다. 왜 오류가 나는지를 이해하는 것이 올바르게 동작하게 만드는 것보다 더 큰 학습이 된다.
단계 4: 스트레스 테스트 — LLM에게 내가 틀릴 때까지 퀴즈를 내게 하고, 개념을 다시 가르쳐 주며, “면접관이라면 이 주제에 대해 어떤 질문을 할까?” 라고 물어본다.
단계 5: 굳히고 연결하기 — 실제 프로젝트에 해당 개념을 적용하고, 동료 학습자에게 전하고 싶은 한 가지를 작성하고, 간격을 두고 복습할 일정을 잡는다.
내가 이 모든 과정에서 스스로에게 정한 규칙은: AI는 테스트와 압박을 위한 도구일 뿐, 막힘을 해소하기 위한 지렛대가 되어서는 안 된다. 문제가 막혔을 때 나는 문제와 마주한다. 고군분투한다. 다시 돌아온다. 진정한 노력이 끝난 뒤에야 AI를 사용한다 — 그리고 그때도 해결책을 바로 제시해 달라고 하는 것이 아니라, 나를 안내해 달라고 요청한다. 이 과정은 편하지 않았다. 지금도 그렇다. 하지만 6개월이 지난 지금, 나는 파이썬 라이브러리를 파헤치고 머신러닝 이론을 시작하고 있다. 처음으로 이것이 겉치레가 아니라 기초가 되는 느낌이다.
코딩을 배우기 시작한 지 얼마 안 된 여러분에게 묻고 싶은 질문은 어떤 자료를 쓰느냐가 아니라, 여러분의 뇌 안에서 실제로 무언가를 구축하고 있는가, 아니면 눈으로만 내용을 훑어보고 있는가이다. 이 차이는 지금처럼 AI가 만연한 시대에 그 어느 때보다 중요하다.