코딩을 ‘배우는’ 것이 아니라 ‘사용하는’ 것부터 시작하다
코딩을 배워야 한다고 결심한 적이 없다. 정확히 말하면, 전통적인 의미의 “개발자 경로”를 걷겠다는 생각도 없었다. 그럼에도 지난 한 달간 나는 게임을 만들었고, 자동화 스크립트를 실행했고, 코드를 수정했다. 이 역설적인 경험의 출발점을 추적해보면, 우리가 ‘코딩 학습’에 대해 얼마나 잘못된 가정을 하고 있었는지 명확해진다.
시작은 단순했다. “아이들에게 코딩을 경험하게 해주고 싶다”는 목표였다. 요즘 시대에 코딩은 선택이 아니라 기본 소양이라는 판단이었다. 하지만 여기서 중요한 질문이 생겼다: 학원? 교재? 유튜브 강좌? 이 모든 방법의 공통점은 무엇인가.
문법 → 개념 → 실습 → 프로젝트
이것이 전통적인 코딩 학습의 순서다. 6개월을 투자해서 기초를 다진다. 변수, 루프, 함수를 이해한다. 그 다음에야 “뭔가 만들어본다.” 문제는 이 구조가 일반인에게는 너무 길고, 너무 추상적이라는 점이다. 아이들은 더욱 그렇다. 3주차 선형대수 강의를 들으면서 “이게 뭐에 쓰이는데?”라고 묻는다. 답변은 항상 모호하다: “나중에 알게 될 거야.”
그래서 선택한 방식이 역순이었다.
“일단 돌려봐. 그 다음에 이해해.”
약 한 달 전, AI에게 간단한 스페이스 인베이더 게임의 코드를 요청했다. 특별한 이유는 없었다. 게임이 즉각적인 피드백을 주는 매체라는 것뿐이었다. 코드를 받았을 때 나는 솔직히 거의 아무것도 이해하지 못했다. 함수 정의, 클래스 구조, 이벤트 루프—모든 게 낯설었다.
하지만 여기서 중요한 결정을 했다: “이해를 미루고, 먼저 실행해보자.”
파일을 만들었다. 코드를 복사했다. 실행했다.
게임이 돌아갔다.
이 경험이 모든 것을 바꿨다. 그것은 단순한 성공이 아니라, 심리적 장벽의 붕괴였다. 코딩은 더 이상 “어려운 대학 과목”이 아니라, “손 하나로 실행되는 도구”가 되었다.
당신이 지금까지 경험한 “코딩의 어려움”의 대부분은 실제로 코딩 자체가 아니라, 코딩 앞에 놓인 심리적 진입장벽이다. 6개월 커리큘럼을 마쳐야 뭔가 만들 수 있다는 믿음. 문법을 완벽히 이해해야 코드를 작성할 수 있다는 가정. 개발자가 되려면 CS 학위가 필요하다는 신화.
모두 거짓이다.
결과 우선, 구조는 역추적으로
게임이 실행되자, 자연스러운 질문이 생겼다: “이게 어떻게 돌아가지?”
전통적 학습에서는 이 질문이 6주 뒤에 생긴다. 하지만 바이브코딩에서는 이 질문이 동기가 된다. 왜냐하면 이미 결과를 봤기 때문이다. 추상적이 아니다. 눈 앞에 있다. “이 코드를 지우면 게임에서 뭐가 사라질까?” “이 숫자를 바꾸면?” 실험이 시작되고, 실험 속에서 구조가 자연스럽게 드러난다.
이것이 핵심이다: 구조의 이해는 목표가 아니라 부산물이다.
전통 학습은 “이해를 먼저 완성하면, 그 다음에 쓸 수 있다”고 가정한다. 바이브코딩은 반대다. “쓰다 보니 이해가 생긴다.”
VS Code를 설치했다. 파일 구조를 만들었다. 실행했다. 수정했다. 이 과정에서 나는 자연스럽게 다음을 경험했다:
- 코드 에디터의 기본 사용법
- 파일 시스템의 구조
- 런타임 에러와 그 해석
- 코드의 논리적 흐름
학습이 아니라 체험이었다.
AI 시대의 개발자는 ‘만드는 사람’이 아니라 ‘판단하는 사람’이다
여기서 가장 중요한 인식 변화가 생긴다.
전통적으로 “개발자”는 코드를 직접 작성하는 사람이었다. 따라서 학습의 목표는 “얼마나 빨리, 정확하게 코드를 쓸 수 있는가”였다. 이 프레임에서 AI는 당신의 경쟁자다. AI가 코드를 잘 짜면, 당신의 가치는 떨어진다.
하지만 현실은 다르다.
지금 AI가 코드를 작성한다면, 인간의 역할은 다음 세 가지로 이동한다:
- 방향 설정: “우리가 뭘 만들어야 하는가”
- 구조 판단: “이 구조가 맞는가, 틀렸는가”
- 결과 검증: “이게 우리 목표를 달성하는가”
이 역할들은 코드를 직접 쓰는 것보다 훨씬 높은 수준의 이해를 요구한다. 동시에 진입 장벽은 훨씬 낮다. 왜냐하면 당신은 “완벽한 코드”를 만들 필요가 없기 때문이다. 당신은 “적절한 판단”만 하면 된다.
이것이 바이브코딩의 본질이다:
결과를 만들고, 그 구조를 이해하고, AI에게 방향을 지시하는 순환.
아이들 교육이라는 원래 목표는 이미 달성됐다
처음 목표로 돌아가자. “아이들에게 코딩을 경험하게 해주고 싶다.”
전통적 코딩 교육은 이 목표를 다음과 같이 번역한다: “6개월 커리큘럼을 완료하고, 문법 테스트를 통과하고, 간단한 프로젝트를 제출한다.”
하지만 내가 원했던 건 다르다. “코드를 짜면 뭔가 나온다”는 체험. “이건 내가 만든 게임이다”라는 성취감. “이 부분을 바꾸면, 이렇게 변한다”는 인과관계의 실감.
이 모든 것은 첫 주 안에 달성됐다.
아이들이 게임을 돌려봤을 때, “아, 이게 코딩이구나”라는 깨달음은 학원 6개월보다 훨씬 강력하다. 그리고 그다음이 중요하다: “아, 나도 이 코드를 수정할 수 있구나”라는 경험. 이것이 미래의 학습 동기가 된다.
다음 글에서는
이 경험의 구체적인 도구들을 정리한다. VS Code, GitHub, Cloudflare—왜 이 조합이 초보자에게 가장 현실적인 진입 경로인지, 그리고 이들 사이의 연결이 어떻게 “결과 우선” 학습 방식을 가능하게 하는지를 중심으로 설명할 예정이다.
또한 흔한 질문들—”문법을 먼저 배우지 않아도 되나?”, “AI에만 의존하면 실력이 쌓이지 않지 않나?”—에 대한 답변도 포함될 것이다.
이것은 단순한 도구 소개가 아니라, 왜 전통 학습이 작동하지 않는지, 그리고 바이브코딩이 작동하는지에 대한 구체적 분석이다.