비개발자 PM 취준생의 바이브코딩 기록/레슨런 #1
우연한 기회로 Cursor 기초 강의를 듣게 된 후 얼마나 행복했는지 모른다. 이제 개발 지식 하나 없는 나도 아이디어를 마음껏 실현할 수 있는 세상이라니! 그 즉시 평소 품고 있던 아이디어를 가지고 크롬 확장 프로그램을 개발하기 시작했다.
분명 강의를 들을 땐 쉬웠다. 뭐든 뚝딱 나올 거라 생각했는데..
정신차려 보니 오류 하나 고치는 데 한나절이 걸리는 상황이 반복되고 있었다.
일단 해보라고 하면 어떻게 되겠지라는 생각으로(개발 알못의 무지한 뇌피셜) 텍스트만 주고 코딩을 시키니 디자인도 제멋대로 만들어져 있다. 이거 내가 기획한 거랑은 구조가 아예 다른데? 디자인한 UI는 도대체 언제 어떻게 집어넣어야 하는거야? 이놈의 오류는 도대체 뭐길래 이렇게 수정을 해도 해결이 안 되는 거지?
아무것도 모르던 내가 본격적인 바이브코딩 전 준비했던 건 다음과 같았다. (절망편이니 참고하지 마세요)
- 킥오프 문서
- 좀더 상세한 기능정의서
- '머릿속' 와이어프레임
- 서비스 로고 이미지
- 커서로 크롬 익스텐션을 만들려면 어떻게 해야 하냐고 GPT에게 물어서 얻은 시작 프롬프트
이후 킥오프 문서와 기능정의서를 입력하고는 이대로 구조를 만들어보라는 명령을 보냈고, 내가 그리던 그 서비스가 나오길 기다렸다. 결과는 웃음이 나올 정도로 처참했고, 며칠을 붙잡고 있어도 크고 작은 오류들이 해결되지 않아 결국 프로젝트를 종료해야 하는 상황에 이르렀다.
이 과정에서 배운 것을 나와 같은 상황에 놓인 분들께 공유하고 싶다.
성공적인 바이브 코딩을 위해 기억해야 할 첫 번째 접근법은 바이브코딩 툴을 SI회사처럼 대하지 않는 것이다. 얘가 모든 걸 다 해 주겠지라는 안일하고 게으른 생각을 가지고 대충 맡기는 순간 원하는 결과가 나올 거란 기대는 접어야 한다.
생각해 보자.
"나 이거 만들려고 하는데 일단 너 알아서 한 번 만들어봐. 이후에 내가 원하는 방향으로 고칠거야."
이게 내가 처음에 바이브코딩에 접근했던 방식인데 아주 어리석었다.
하물며 실제 사람(동료 개발자나 디자이너, 혹은 외주 인력)과도 이렇게 소통하면 내 생각과 완전히 다른 결과물이 나오기 마련이다. 프로덕트를 만들 때 PM과 메이커들이 얼라인되어 동일한 방향을 바라보는 게 중요하듯이, 바이브코딩 툴과도 '소통'하며 '협업'한다고 생각해야 한다.
개발을 잘 모르고 처음 시작한 사람이라면, 내가 해달라는 대로 척척 결과물을 만들어 주는 이 친구를 무의식 중에 나와 동일시하게 되는데 이 포인트를 꼭 조심하자. 인공지능은 나름의 쪼를 가지고 있고, 하나부터 열까지 자세히 말해주지 않으면 그 공백을 자기 생각대로 채워버린다. 그렇게 내가 그리던 크롬 익스텐션은 첫 단추부터 잘못 끼워지기 시작했고, 결국 프로젝트 자체를 포기하게 된 것이다.
그래서 나는 같은 프로젝트를 다시, 제대로 시작해보기로 했다. 그리고 그 과정에서 어떤 준비를 했는지, 어떤 점이 더 나아졌는지, 또 어떤 어려움을 겪고 있는지 기록하려 한다.
아무것도 모르는데 바이브코딩을 어떻게 하겠냐는 사람들도 있을 거다. 내 글을 읽으면서 '이렇게 무식하게 시작했다고?' 할 수도 있다. 아무래도.. 아무것도 모르니까 바이브코딩이란 걸 하고 있는 거겠죠?
바이브코딩도 당연히 뭔가 더 많이 아는 개발자가 해야 효율성을 올리는 도구 정도로 사용 가능하다는 분들도 많았다. 사실 당연한 소리이고, 하면 할수록 뼈저리게 드는 생각이기도 하다. 하지만 그렇다고 해서 내가 하지 말아야 한다는 법은 없으니까. 프로젝트 매니징 강의같은 것만 듣는 거보다 직접 해보면서 배우는 게 낫다는 걸 해봐서 알기 때문에 하는 거다. 나랑 비슷한 분들이 이 글을 보고 계신다면 위축되지 않고 하루라도 빨리 도전해 보셨으면 한다.