10년 차 개발자의 고백: 코드 한 줄 안 읽고 폰으로 사이드 프로젝트 '바이브 코딩'하기
10-year SWE: I vibe code side projects from my phone without reading the code
핵심 요약
10년 차 개발자가 코드 리뷰 없이 AI와 폰으로만 사이드 프로젝트를 개발하는 '바이브 코딩'의 현실과 노하우를 공유함.
- 바이브 코딩 — 코드 리뷰 없이 AI의 계획을 검토하고 실행에 집중하는 개발 방식.
- 실행 계획 — AI가 코드를 짜기 전 단계별 계획을 반드시 확인하여 오류를 방지함.
- 최소 안전장치 — CI/CD 파이프라인을 구축해 자동화된 테스트로 코드의 무결성을 검증함.
- 개발의 미래 — 완벽한 문법보다 빠르게 결과물을 내는 것이 중요한 인디 해커의 생존 전략.
나는 10년 차 풀스택 개발자다. 예전에는 아키텍처, 깔끔하게 분리된 서비스, 그리고 인간이 쓸 수 있는 가장 우아하고 DRY한 코드를 짜는 데 목숨을 걸었다.
이제는? 두 아이의 아빠다. 내 자유 시간은 맥앤치즈를 만들고 소파에서 기절하기까지의 14분 단위로 존재한다.
그래서 내 코드를 읽는 걸 그만뒀다.
나는 모든 사이드 프로젝트를 CC를 사용해 폰으로 직접 돌린다. 그냥 전체를 '바이브 코딩'으로 해버린다. 아이가 내 왼쪽 다리를 정글짐처럼 타고 올라오는 동안 엄지손가락으로 명령어를 입력한다. 완전히 미친 짓처럼 들릴 거다. 3년 전의 나에게 PR 리뷰도 안 하고 AI가 짠 코드를 맹목적으로 배포할 거라고 말했다면, 아마 비웃으며 방에서 쫓아냈을 거다.
하지만 지금은 이렇게 하고 있다. 이게 엄청나게 중독적이다. 소프트웨어 엔지니어링을 모바일 텍스트 기반 어드벤처 게임으로 바꿔버렸다. 새벽 2시에 배포했고, 여전히 버그는 있지만, 서비스는 돌아가고 있고 내가 필요한 기능의 90%는 수행한다.
여기 많은 시니어 엔지니어들이 받아들이기 힘들어하는 가혹한 진실이 있다. AI가 우리 일자리를 없애는 게 아니라, 그 일이 무엇인지 근본적으로 변화시키고 있다. 모델이 작성하는 모든 코드 한 줄은 예전에 인간이 직접 타이핑하던 코드다. 우리는 이제 모델을 지휘하고 있다. 당신은 본질적으로 매우 빠르고, 열정적이며, 때로는 위험할 정도로 멍청한 주니어 개발자를 관리하는 테크 리드다. 실행이 모든 것을 바꿨다. 스파게티 코드로 만들어져 출시된 제품이 아무도 쓰지 않는 로컬 머신의 완벽한 레포보다 무한히 낫다.
하지만 터미널에 프롬프트를 무작정 날리기만 하는 바이브 코딩은 금방 당신을 겸손하게 만들 것이다. 최근 회사에서 바이브 엔지니어가 만든 3개월 된 레포를 물려받았는데, 엉망진창이었다. 실제 제품 요구사항과는 완전히 동떨어져 있었다. 다들 그 사람이 빨리 출시했다고 칭찬했지만, 백엔드는 덕테이프와 기도로 겨우 버티고 있었다.
그러니 폰으로 바이브 코딩을 하면서 실제 문법을 읽지 않으려면, 시스템이 필요하다. 이것 덕분에 어제만 3시간을 아꼈다.
첫 번째 규칙. 유일하게 중요한 것. 계획 모드에서 시작하라.
이건 아무리 강조해도 지나치지 않다. 코드는 안 읽어도 되지만, 계획은 반드시 읽어야 한다. 다시 말하겠다. 계획을 읽어라.
터미널에서 CC를 실행할 때, 파일 하나라도 건드리기 전에 단계별 실행 계획을 출력하도록 강제해라. 그 계획을 속속들이 이해해야 한다. 제안된 아키텍처의 일부가 모호하거나 말이 안 된다면, 거기서 바로 멈춰라. 나는 내장된 '4. Tell Claude what to change' 명령어를 계속 사용한다. 명시적으로 이렇게 묻는다: '3단계는 무슨 내용이야? 왜 그 npm 패키지를 가져오는 거야? 4시부터 이앓이 하는 아기랑 씨름하느라 잠을 못 잔 사람한테 설명하듯이 라우팅 로직을 설명해봐.'
계획이 탄탄하면 실행은 보통 괜찮다. 계획이 쓰레기면, AI는 자신 있게 당신의 프로젝트 전체를 블랙홀로 만들어버릴 것이다.
이게 모바일 바이브 코딩의 두 번째 현실이다. 당신은 환각(hallucination) 한 번으로 치명적인 실패를 겪을 수 있다.
일반적인 바이브 코딩 활동은 개발 속도를 높이기 위해 AI 에이전트에게 제한 없는 데이터베이스 접근 권한을 주는 것을 포함한다. 프롬프트 하나 잘못 써서 밤 11시에 프로덕션 데이터베이스가 사라지기 전까지는 정말 똑똑하고 효율적인 것처럼 들린다. 적절한 접근 제어와 감독이 없는 자율 도구는 순식간에 재앙이 된다. 이런 바이브 코딩 앱의 99%는 보안 기초가 전혀 없다. 사람들은 API 키를 하드코딩하고 프롬프트 박스에 원시 SQL 실행 권한을 주고 있다.
가드레일이 필요하다. 거대 빅테크 수준의 가드레일은 아니더라도 말이다. 빅테크는 정확한 복제 TEST 계정에 배포하고, 대규모 검증 스위트를 돌리고, 지역별로 천천히 라이브 사용자에게 배포한다. 스마트폰으로 사이드 허슬을 만드는 1인 개발자에게 풀 CI/CD 파이프라인은 과하다.
하지만 최소한의 것은 필요하다. 뭔가 고장 났을 때 당신에게 소리를 지를 자동화된 테스트가 필요하다. 나는 스테이징 브랜치를 설정했다. CC가 스테이징에 푸시하면, GitHub Action이 엔드포인트에 대한 아주 기본적인 상태 점검을 수행한다. 통과하면 자동으로 메인에 머지하고 Vercel을 통해 배포한다. 나는 자바스크립트나 파이썬을 절대 보지 않는다. 그냥 초록색 체크 표시만 확인한다. 체크 표시가 빨간색이면, 에러를 폰 터미널에 다시 붙여넣고 CC에게 스스로 해결하라고 시킨다.


