
- 기술 트렌드의 변화는 늘 압도적이다. 프로덕트 매니저나 오너의 역할이 코드 기반 프로토타이핑까지 확장될 수 있다는 점은 알고 있었지만, 바쁜 일상에 치여 감히 도전할 엄두조차 내지 못했다. 그러다 이번 주, 퇴사를 앞두신 데이터플랫폼 본부장님과의 티타임을 진행했다. 이 때 'OO님도 바이브 코딩을 하고 있냐'는 질문을 받았다. '아직 시작해야 하는데...'라는 부끄러운 대답을 했고, 그 한마디는 내게 강력한 동기 부여가 되었다. 마침 3일간의 연휴가 있었기에, 더 이상 미루지 않고 바로 바이브 코딩을 해보기로 했다.
- 무엇을 만들지 고민하다, 여자친구와 즐겨 하는 보드게임 '스플렌더'를 떠올렸다. 스플렌더의 규칙과 정보를 정리해 Cursor AI에 입력했더니, 정말 놀랍게도 순식간에 기본 게임 화면이 완성되었다. 상세한 동작은 계속해서 프롬프트를 입력하며 다듬었고, 하루 종일 시간을 쏟은 끝에 드디어 로컬에서 게임이 가능한 수준까지 만들 수 있었다. 화면에 카드가 뜨고, 보석을 사고팔며 명성 점수를 얻는 모든 과정이 구현되었을 때의 성취감은 정말 대단했다.
- 하지만 진짜 도전은 그 이후에 시작되었다. 로컬에서 잘만 작동하던 게임을 실제 웹 서비스로 만들려니 예상치 못한 난관에 부딪혔다. Node.js를 설치하며 서버를 구축하려 했지만, 수많은 오류에 부딪히며 처참히 실패하고 말았다. 가장 큰 문제는 '내가 무엇을 놓쳤는지조차 모른다'는 것이었다. AI에게 단순하게 명령만 내릴 뿐, 클라이언트와 서버의 역할 분리, 정적 파일과 동적 파일의 차이 같은 근본적인 개념이 부족했기 때문이다. 결국 로컬 환경에서 웹 서비스로 전환하는 과정의 어려움은 온전히 나의 몫이 되었다.
- 또한, 스플렌더는 첫 프로젝트로 삼기엔 규칙이 너무 복잡했다는 것을 깨달았다. 기술의 기본 개념을 익히는 대신, 처음부터 난이도 높은 게임을 만들려고 하다 보니, 작은 오류나 UX 문제가 발생했을 때도 어디서부터 손을 대야 할지 알 수 없었다.
- 이 과정에서 내가 얻은 교훈은 크게 2가지다. 하나는 개념의 중요성이다. 도구는 강력하지만, 그 도구가 작동하는 원리를 이해해야만 진짜 문제를 해결할 수 있다는 것이다. 다른 하나는 난이도 조절에 실패했다는 점이다. 다음 프로젝트는 스플렌더보다는 훨씬 더 간단한 규칙의 게임이나 서비스를 만들어보면서, 내가 필요한 개념들을 함께 쌓아갈 수 있도록 해야겠다.
대실패한 첫 바이브코딩 일기 끝.