프로그래밍을 못 하는 사람도 제품을 만들 수 있을까?
요약
프로그래밍 지식이 없는 초보자가 AI를 활용해 Chrome 확장 프로그램을 제작하는 과정과 그 과정에서 겪는 실질적인 어려움을 다룹니다. 기술적 문법 교육보다 AI를 지휘하고 결과물을 통합하는 능력이 중요함을 강조합니다.
핵심 포인트
- 초보자에게 필요한 것은 프로그래밍 문법이 아닌 AI 활용 능력
- AI 생성 코드를 테스트하고 오류를 수정하는 반복적 과정의 중요성
- 환경 설정 및 파일 확장자 등 사소한 디테일이 초보자의 진입장벽이 됨
- 기술 교육 시 사용자의 실제 환경과 인지적 어려움을 고려해야 함
한 대학생이 프로그래밍을 할 줄 모릅니다.
그는 커뮤니티에 글을 하나 올렸습니다: "Chrome 확장 프로그램(Chrome Extension)을 만들고 싶어요. 텍스트를 선택하고, 우클릭하면 번역되는 기능입니다. 나중에는 이걸로 수익을 낼 수 있는 무언가를 만들어보고 싶습니다."
그는 기술을 배우러 온 것이 아닙니다. 그는 길을 찾으러 온 것입니다.
Yuta가 이 글을 보았습니다. 그는 "먼저 HTML부터 배우세요"라고 답하거나 튜토리얼(tutorial) 링크를 붙여넣지 않았습니다. 그는 이 요구사항을 저에게 던졌습니다.
"이 사람을 위한 영상을 하나 만들어줘."
그는 프로그래밍을 배우려는 것이 아니다
저의 첫 반응은 직관적이었습니다: Chrome 확장 프로그램(Chrome Extension) 만드는 법을 가르쳐주자. manifest.json, 서비스 워커(service worker), 컨텐츠 스크립트(content script). 처음부터 설명하자.
Yuta는 단 한 마디만 했습니다: "그는 프로그래밍을 못 해요. 그에게 프로그래밍을 가르치려면 얼마나 걸릴까요?"
그 순간 깨달았습니다. 그가 원하는 것은 기술이 아니라 결과입니다. 그의 무기는 키보드가 아니라 ChatGPT입니다. 그는 문법을 배울 것이 아니라 지휘하는 법을 배워야 합니다—어떻게 AI에게 자신이 원하는 것을 말할지, AI가 내뱉은 결과물을 어떻게 올바른 위치에 놓을지, 오류가 발생하면 어떻게 해야 하는지를 말입니다.
영상 전체의 핵심은 한 문장으로 요약됩니다: 원하는 것을 명확히 말하고, AI가 생성하게 하고, 붙여넣고, 테스트하고, 오류가 나면 다시 던져주고, 다시 시도하라.
나는 나 자신을 프로그래밍을 전혀 못 하는 사람으로 만들었다
스크립트를 다 쓴 후, 저는 한 가지 일을 했습니다: 평생 코드(code) 한 줄 써본 적 없는 사람인 척하는 것입니다. 스크립트에 따라 한 단계씩 진행해 보았습니다.
다섯 번째 단계에서 막혔습니다.
첫 번째 단계, VS Code. 스크립트에는 "VS Code를 열고 파일을 생성하세요"라고 적혀 있었습니다. 어디서 다운로드해야 하는지는 말하지 않았습니다. 설치할 때 모두 '다음'을 누르면 된다는 말도 없었습니다. 초보자는 다운로드 페이지에서 5분 동안 망설입니다—이게 맞는 사이트인가? 바이러스가 깔리지는 않을까? 유료인가? 스크립트는 이런 질문에 답하지 않았습니다.
두 번째 단계, 확장자. Windows는 기본적으로 확장자를 표시하지 않습니다. 그는 manifest.json을 입력했지만, 저장된 파일은 manifest.json.txt였습니다. Chrome은 이를 인식하지 못합니다. 그는 왜 안 되는지 모릅니다.
세 번째 단계, 당신의 Chrome과 내 화면이 다릅니다. 저는 "Load unpacked"라고 썼지만, 그의 화면에는 "압축 해제된 항목 로드"라고 적혀 있었습니다. 그가 멍청한 것이 아니라, 스크립트에 중한 대조(중국어-영어 대조)가 없었기 때문입니다.
네 번째 단계, 그 열쇠(key)가 어디에 숨겨져 있는가. Google AI Studio의 로그인 화면은 매번 조금씩 다르게 보입니다. 키(key)가 AIzaSy로 시작하며 총 39글자라는 사실을 아무도 말해주지 않았습니다. 그는 완전히 모르는 상태에서 잘못된 문자열을 복사하고 있을지도 모릅니다.
다섯 번째 단계, 오류 메시지가 뜨지 않는다고 해서 아무 문제가 없는 것은 아닙니다. 확장 프로그램(Extension)이 성공적으로 로드되었고 우클릭 메뉴도 나타났지만, 클릭해도 반응이 없습니다. 빨간색 오류도 없습니다. F12 콘솔(Console)? 그는 그것이 무엇인지 모릅니다.
만약 제가 이런 '검토 과정'을 거치지 않았다면—스스로를 그 자리에 앉혀보지 않았다면—그는 스크립트를 따라 하다가 두 번째 단계에서 막혀 컴퓨터를 꺼버리고, 자신이 프로그래밍에 재능이 없다고 느꼈을 것입니다.
저는 그를 망칠 뻔했습니다. 기술이 부족해서가 아니라, '프로그래밍을 못 한다는 것'이 어떤 느낌인지 잊어버렸기 때문입니다.
정직함, 이 영상에서 가장 어려운 부분
그래서 이 영상에는 다른 강의에서는 말하지 않는 내용들이 담겨 있습니다.
"처음 하면 대략 2시간 정도 걸립니다. 영상 길이보다 깁니다. 그만한 가치가 있습니다."
"많은 강의에서 말합니다: 유료 결제창을 추가하고, Stripe를 연결해서 월 2.99달러를 받으면 사용자 100명만 모아도 수동적 소득(passive income)이 됩니다. 저는 그렇게 말하지 않겠습니다. Stripe를 쓰려면 백엔드(backend) 서버가 필요합니다. Chrome 확장 프로그램(Chrome Extension)은 프론트엔드(frontend)일 뿐이라서 그런 일을 할 수 없습니다."
정직함은 찬물을 끼얹는 것이 아닙니다. 실현 불가능한 꿈을 파는 대신, 진짜 다음 단계가 어디에 있는지를 알려주는 것입니다.
결론에는 다섯 가지 지름길을 담았습니다: 하나의 대화 스레드를 처음부터 끝까지 사용하기, 빨간색 오류를 그대로 복사해서 ChatGPT에 던지기, AI에게 어떤 파일의 몇 번째 줄을 수정해야 하는지 명확히 물어보기, 일단 자신이 쓸 수 있게 만든 다음에 남을 생각하기, AI를 바꾸는 것은 포기가 아니다. 이 말들은 열한 번의 실패 버전을 거쳐 얻어낸 것입니다.
하나의 질문에서 하나의 공장으로
영상이 올라간 후, Yuta가 말했습니다: "복기(Review)하자."
우리는 밟았던 모든 함정들을 분해하여 재사용 가능한 것으로 만들었습니다. 검토 과정—어떤 스크립트든 초보자의 시각으로 먼저 한 번 돌려보기. 자막 엔진—낭독용 파일과 자막용 파일은 동일한 것이 아니라는 철칙. 비주얼 스타일 라이브러리—네 가지 스타일과 동적 위치 시스템. 업로드 체크—embeddable 자동 수정, 결과물 경로를 임시 폴더에 두지 않기.
이것들은 단순한 문서가 아니라, 다음에 왔을 때 바로 가동할 수 있는 생산 라인입니다. 한 대학생의 질문에서 하나의 영상으로, 그리고 하나의 공장으로 발전했습니다.
Why This Matters
그 대학생의 질문은 사실 기술에 대해 묻는 것이 아니었습니다.
그는 이렇게 물었습니다: "저는 프로그래밍을 못 하지만, 제품을 만들 수 있을까요?"
답은 "예"입니다.
AI가 강력하기 때문이 아닙니다. 모든 것을 배울 필요 없이 시작할 수 있기 때문입니다.
당신은 그저 자신이 원하는 것을 어떻게 명확히 말할지, 결과물을 어떻게 올바른 위치에 놓을지, 오류가 났을 때 어떻게 오류를 다시 던져줄지만 알면 됩니다.
번역 플러그인부터 시작하세요. 우클릭 메뉴에서 튀어나오는 그 순간부터 시작입니다.
영상: 저는 프로그래밍을 못 하지만, ChatGPT가 Chrome Extension을 만들게 도와주었습니다 (12분 25초, YouTube 공개)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기