AI가 실제로 내 튜토리얼 중독을 더 악화시켰다
Source: Dev.to
AI와 튜토리얼에 대한 나의 경험
AI는 내 튜토리얼 중독을 치료하지 못했을 뿐 아니라, 가장 열성적인 촉진자가 되었다. 빠르게 이해하려는 지름길이라고 생각했던 것이 반쯤 만든 지식의 끝없는 토끼굴과 “한 번 더 설명해줘”라는 끊임없는 갈망으로 변했다.
많은 개발자들처럼 나도 튜토리얼 함정에 빠지는 경우가 많다: 코드를 보고, 읽고, 복사하지만 근본적인 개념을 완전히 내면화하지 못한다. ChatGPT 같은 AI 비서가 등장했을 때, 나는 즉시 “드디어 즉각적인 답변 기계가 생겼다!”라고 생각했다. 수많은 글을 뒤져야 하는 번거로움을 건너뛰고 빠른 해결책을 기대했다. 하지만 나는 크게 착각했다.
처음에는 AI에게 특정 기능을 만들거나 복잡한 라이브러리를 통합하는 방법을 물었다. AI는 첫 번째 시도에도 꽤 인상적인 보일러플레이트 코드를 뱉어냈다. 나는 그것을 복사하고 “동작하게” 만들었고(가끔은), 순간적인 성취감을 느꼈다.
하지만 여기서 문제가 생겼다: 뭔가가 조금이라도 어긋나거나, 생성된 스니펫을 넘어 맞춤화가 필요할 때 나는 완전히 길을 잃었다. AI는 무엇을 주었지만 왜는 전혀 알려주지 않았다. 마치 조립 설명서와 도구 없이 완벽하게 조립된 IKEA 가구를 받은 것과 같았다. 내 “이해”는 최선의 경우 얕은 수준에 머물렀다.
예시: Node.js와 Passport.js를 이용한 JWT 인증
// Prompt: "How to set up JWT auth with Node.js and Passport.js, storing tokens in localStorage?"
app.post('/login', passport.authenticate('local', { session: false }), (req, res) => {
const token = jwt.sign(req.user.toJSON(), 'your_jwt_secret');
res.json({ user: req.user, token });
});
하지만 여기서 다음과 같은 궁금증이 남는다:
passport.authenticate는 실제로 내부에서 어떻게 동작할까?- “local” 전략이란 무엇이며, 어떻게 직접 구현할 수 있을까?
- 실제 애플리케이션에서
'your_jwt_secret'을 어떻게 안전하게 관리할까? - 리프레시 토큰, 토큰 만료, 블랙리스트는 어떻게 처리하지?
localStorage에 저장하는 것이 과연 안전한가? (스포일러: JWT에는 보통 안전하지 않다!)
악순환
AI가 만든 코드를 가져와서 막히면, 다시 그 부분을 설명해줄 튜토리얼을 찾아야 했다. 튜토리얼을 대체한 것이 아니라, 더 세부적인 문제에 대해 튜토리얼을 더 많이 필요로 하게 만든 것이다. 내 “즉각적인 답변 기계”는 튜토리얼 요청 생성기가 되었다.
핵심 문제는 AI가 합성과 검색에는 뛰어나지만 진정한 이해에는 미치지 못한다는 점이다. AI는 학습 데이터에서 패턴을 엮어낼 뿐이다. 개발자에게 진정한 학습이란 시스템이 어떻게 상호작용하는지, 트레이드오프를 이해하고 복잡한 오류를 디버깅하는 정신 모델을 구축하는 것이다—AI가 만든 코드 스니펫을 복사하는 것만으로는 이런 능력이 길러지지 않는다. 생산성의 환상을 제공하면서도 깊은 학습을 억제한다.
교훈
- 기본적인 이해는 대체할 수 없다.
- AI는 브레인스토밍, 보일러플레이트 생성, 디버깅 힌트 제공에는 훌륭한 도구이지만, 직접 손을 움직여 개념을 진정으로 배우는 것을 대신할 수는 없다.
- 개발자로서 진정한 가치를 제공하려면, AI가 만든 스니펫을 얕게 이어 붙이는 것이 아니라 기본기를 마스터해야 한다.
깊이 파고드는 개발자를 찾고 있다면, 내 작업을 확인해 보세요.