I Think AI Is Making Coding Easier and Learning Harder
AI는 코딩을 쉽게 만들지만 학습은 어렵게 합니다
AI는 오류 설명과 코드 작성, 디버깅을 빠르게 돕지만, 문제를 스스로 파악하는 과정까지 건너뛰면 생산성이 이해보다 앞설 수 있습니다. 먼저 원인을 추측하고 시도한 뒤 AI에 묻고, 답을 검토하며 자신의 판단을 유지하자고 제안합니다.
- 주제
AI 요약
AI는 낯선 라이브러리를 설명하고 함수를 작성하며 오류를 고치는 일을 빠르게 돕습니다. 하지만 코딩의 어려운 과정을 생략하면 학습도 함께 줄어들 수 있습니다. 생산성을 높이는 것과 실력을 쌓는 것은 같은 일이 아닙니다. 문제를 스스로 해결하려고 애쓰는 동안 개발자는 시스템이 왜 그렇게 동작하는지 이해하고, 답에 도달하는 방법을 익힙니다.
답을 얻는 일과 이해하는 일
오류를 AI에 붙여 넣으면 설명이나 수정안을 즉시 받을 수 있습니다. 하지만 “왜 이런 오류가 났는지 설명해 주세요”와 “고쳐 주세요”는 학습 효과가 다릅니다. 첫 번째 요청은 원인을 파악하는 데 도움을 주지만, 두 번째는 장애물만 치우고 지나갈 수 있습니다. 이미 아는 언어의 코드를 최적화하는 경우와, 배우는 중인 언어의 함수를 매번 AI에 맡기는 경우도 다릅니다. 프로젝트를 끝내더라도 어떻게 만들었는지 설명하지 못할 수 있습니다.
같은 기술을 익히는 두 개발자 가운데 한 명은 문제를 해결하는 데 세 시간을 쓰고, 다른 한 명은 AI로 10분 만에 끝낼 수 있습니다. 당장은 두 번째 개발자가 더 생산적으로 보입니다. 하지만 다음 달에 같은 문제가 생겼을 때 첫 번째 개발자는 익힌 패턴을 알아볼 수 있고, 두 번째 개발자는 다시 AI를 찾아야 할 수 있습니다. 한쪽은 완료를, 다른 쪽은 이해를 우선한 셈입니다. 개발 현장이 완성된 결과를 보상하는 상황에서 AI는 완료 속도를 더욱 높입니다.
먼저 시도하고, 그다음 질문하기
글쓴이는 AI를 쓰지 말자는 주장이 아니라고 강조합니다. 불필요한 수고를 줄이는 일과, 학습에 도움이 되는 수고를 없애는 일은 구분해야 합니다. 문법을 잠깐 확인하는 일은 AI에 맡겨도 되지만, 아키텍처가 왜 그렇게 동작하는지 살펴보는 과정은 곧바로 답을 받으면 놓칠 수 있습니다.
그래서 제안하는 규칙은 “먼저 시도하고, 그다음 AI에 묻기”입니다. 오류를 읽고 코드를 살펴본 뒤 원인을 추측하고, 가설을 시험하고, 문서를 찾아 해결책을 적용합니다. 그다음 AI에 물으면 답을 그대로 받아들이기보다 자신의 추측이 맞는지 검토할 수 있습니다. AI에 “내 접근법의 약점을 찾아 달라”, “답을 말하지 말고 확인할 질문 세 가지를 제시해 달라”, “이 버그 원인에 관한 내 가설을 반박해 달라”고 요청하는 방법도 제시합니다. 이렇게 하면 개발자가 문제를 추론하는 과정에 계속 참여합니다.
정보 검색보다 중요한 추론
모든 Python 메서드나 SQL 문법을 외울 필요는 없습니다. AI와 문서는 필요한 정보를 찾는 일을 도울 수 있습니다. 하지만 무엇을 하려는지, 접근법이 왜 적절한지, 어떤 가정을 두었는지, 무엇이 잘못될 수 있는지, 결과가 틀렸다는 사실을 어떻게 알아낼지는 개발자가 이해해야 합니다. 글쓴이는 AI가 이런 추론 능력의 필요성을 없애기보다 더 크게 만든다고 봅니다.
AI를 활용하는 개발자의 작업 흐름은 문제를 생각하고, AI의 도움을 받아 코드를 작성하고, 테스트한 뒤 AI가 던지는 질문으로 가정을 점검하고, 사람이 결과를 평가하는 순서가 될 수 있습니다. AI는 반복 작업을 줄이고 설명과 검토를 도울 수 있지만, 개발자는 결과를 이해하고 설명할 책임을 놓지 않아야 합니다. AI 없이도 문제를 살펴보고 기본기를 유지하려는 이유도 여기에 있습니다. 속도가 빨라져도 문제를 잘못 이해했다면, 틀린 해결책을 더 빨리 구현했을 뿐입니다.
dev.to 반응
- @jaideepparashar — AI가 질문에 더 잘 답할수록 좋은 질문을 하는 능력의 가치가 커집니다.
- @mythex — “능숙해지기 전에 생산적이 될 수 있다”는 이 글을 한 문장으로 가장 잘 요약한 표현입니다. 속도를 유지하면서 학습도 놓치지 않는 습관이 있습니다. 오류를 만났을 때 AI에 붙여 넣기 전에 원인에 관한 생각을 한 문장으로 적어 보세요. 맞히면 자신의 사고 모델을 확인하고, 틀리면 설명이 더 잘 기억에 남습니다. AI가 쓴 코드는 채팅을 닫고 함수를 소리 내 설명하거나 러버덕에게 설명해 보세요. 설명할 수 없는 부분은 나중에 디버깅하기 어려운 부분입니다.
- @temesgen_adane — 이 글 AI가 쓴 거네요 ㅋㅋ
- @erkupl — 건너뛰는 부분은 오류를 직접 읽는 일입니다. 그런데 새벽 3시에 프로덕션이 터지고 AI가 로그를 본 적도 없을 때 필요한 일이 바로 그겁니다. AI가 쓴 함수를 일부러 망가뜨리고 실행 전에 무슨 일이 생길지 추측하면 도움이 됩니다.
- @dougame — 정말 그렇습니다! AI는 코딩을 빠르게 하지만, 문제를 직접 겪지 않으면 기본기를 배우기 어렵습니다. AI 코딩 도구를 시험하는 분들을 위해 덧붙이면, 저는 API 키에 jzstoken을 쓰고 있습니다. 모델마다 따로 가입하지 않아도 여러 모델을 시험하기 쉽습니다. 처음에 5달러를 무료로 제공합니다.
- @tobazmojik_30ba9ad — AI는 기본기를 가르쳐 주던 어려움을 압축합니다. 코드를 더 쉽게 배포하지만 왜 동작하는지 이해하지 못한 채 넘어가기도 쉽습니다. 제가 찾은 좋은 방법은 AI를 페어 프로그래머처럼 대하는 것입니다. 코드를 만드는 데 도움을 받은 뒤 직접 결과를 살펴보고, 디버깅하고, 수정하는 시간을 가지세요. 자동화와 AI의 더 넓은 영향에 관한 가이드를 썼습니다. 학습이 사라지는 것은 아니지만, 배워야 할 기술은 분명 달라지고 있습니다.
- @sameerqaisar17 — “능숙해지기 전에 생산적이 될 수 있습니다. 둘은 같은 일이 아닙니다”라는 문장이 와닿았습니다. Python을 배운 지 2주 된 초보자이고 Dev.to에 튜토리얼을 쓰고 있습니다. 저도 이 갈등을 겪었지만, 이제야 설명할 말을 찾았습니다. 처음에는 모든 일에 AI를 썼습니다. 오류를 붙여 넣고 즉시 수정한 뒤 넘어갔습니다. 생산적이라고 느꼈지만 며칠 뒤에는 제 코드도 설명하지 못한다는 사실을 알았습니다. 그래서 먼저 혼자 풀어 보려 합니다. AI가 10초면 할 일을 20분 동안 붙잡더라도 오류를 읽고 추측하고 시험합니다. 그래도 막힐 때 AI에 물으면 답이 이해됩니다. 먼저 물으면 답이 그냥 스쳐 지나갑니다. “먼저 시도하고, 그다음 AI에 묻기”를 계속 지키겠습니다. 틀린 상태로 더 빨라지고 싶지는 않습니다. 좋은 글입니다.
원문: dev.to / 번역·요약: Trawling