지난 몇 달간 혼자서 '바이브 코딩'을 해왔는데, 이제는 변화가 필요할 것 같네요.
I’ve been vibe coding alone for months. I think that needs to change.
핵심 요약
AI를 활용한 '바이브 코딩'에 몰입하며 고립된 개발을 해온 작성자가, 이제는 공유와 협업의 중요성을 깨닫고 변화를 다짐하는 글입니다.
- 바이브 코딩 — AI 에이전트를 활용해 빠르게 프로토타입을 개발하는 방식임
- 고립된 개발 — 혼자서 모든 것을 완벽하게 만들려다 보니 사용자 없는 프로젝트만 쌓임
- 공유의 필요성 — 혼자만의 유용함에 갇히지 않고 초기 단계부터 커뮤니티와 소통해야 함
- 성숙한 개발자 — AI 시대에 맞춰 타인과 협업하고 공유하는 방식으로의 변화를 모색함
지난 몇 달 동안 내가 뭘 만들었는지, 왜 만들었는지 털어놓을 안전한 공간이 좀 필요해서 글을 쓴다.
지난 1년 동안 바이브 코딩(vibe-coding)에 완전히 미쳐 살았다.
어릴 때부터 프로그래밍을 했고, 운 좋게도 10년 넘게 이 일을 업으로 삼아왔다. 나는 항상 프로젝트에 내 모든 걸 쏟아붓고, 그 과정에서 마주치는 골치 아픈 문제들을 해결하기 위해 수단과 방법을 가리지 않는 걸 좋아했다.
AI와 바이브 코딩은 내 작업 속도를 엄청나게 끌어올려 줬다. 덕분에 더 깊고 어려운 문제들을 파고드는 데 더 집착하게 된 것 같다.
근데 이 속도전에는 대가가 따랐고, 이제야 그 대가를 실감하고 있다. 내 에이전트들이 나랑 협업하는 것처럼 느껴지지만... 사실은 전혀 그렇지 않다. 내 아이디어를 누구와도 공유하지 않은 채 지난 몇 달을 완전히 은둔자처럼 살았다. 누구한테 뭘 보여주는 것조차 두려워질 정도였다. 아이디어를 테스트하고, 기능을 구상하고, 골치 아픈 버그를 잡느라 시간을 다 쏟아붓고 있었는데, 정작 이걸 쓰는 사용자가 단 한 명도 없다는 사실은 완전히 잊고 있었다. 이건 내가 예전에 일하던 방식이 전혀 아니고, 이제는 바꿔야겠다는 생각이 든다.
어쨌든, 이 슬럼프에서 벗어나려고 내가 작업 중인 것들을 여기 다 풀어놓으려고 한다. 각 프로젝트를 만들 때의 목표랑 생각의 흐름 같은 것들 말이다. 하나하나 따로 글을 써도 될 분량이긴 한데, 일단 지금 할 수 있는 건 다 쏟아내고 나중에 필요하면 개별 포스팅으로 나누겠다.
cook은 빌드 툴이다. Make(언젠가는 CMake까지)를 대체하려고 만든 건데, 최상급 캐싱이랑 폴리글랏(polyglot) 저장소 지원에 집중했다.
나는 인프라 툴에 진심이라 예전부터 나만의 빌드 툴을 만드는 게 꿈이었다. AI랑 바이브 코딩 덕분에 빌드 툴에 넣고 싶었던 아이디어들을 프로토타입으로 만들어보기 딱 좋은 시기라고 생각했다.
바이브 코딩으로 10일 정도 만에 꽤 괜찮은 cook 프로토타입을 만들었고, 좀 더 진지하게 파보기로 했다. 지금 생각해보면 그때 만든 걸 바로 보여줬어야 했다. 꽤 재밌고 괜찮은 장난감이었는데... 나는 그걸 "완성"하고 싶었다.
cook을 완성한다는 게 내 전용 프로그래밍 언어를 만들고, 패키지 매니저를 만들고, CAS 캐싱 시스템까지 직접 짜야 한다는 뜻인 줄은 꿈에도 몰랐다.
지금의 Cook은 그 모든 걸 포함하고도 남는다.
개인 프로젝트에 cook만큼 고민을 쏟아부은 적은 없었던 것 같다.
Doom 3를 빌드할 수 있을 정도로 꽤 강력하다. 이제 장난감 수준은 확실히 넘었고, 내 다른 모든 프로젝트에서도 이걸 쓰고 있다. 하지만 처음에 목표했던 엔터프라이즈급 툴이 되려면 아직 멀었다.
아래 두 개는 cook을 만들면서 곁다리로 만든 프로젝트들이다. 시중에 더 좋은 대안들이 널려 있고, 내 개인적인 니즈를 해결하려고 만든 거였는데, 정작 사용자는 있지도 않은데 기능 구현에만 매달려 있었다.
cliban은 Linear 무료 티어 티켓 제한에 걸려서 홧김에 바이브 코딩으로 만든 거다. 터미널에서 돌아가는 칸반 보드 겸 작업 관리 툴인데, vim 모션을 지원하는 TUI 방식이다. 나한테 가장 좋았던 점은 내가 찾는 작업을 빠르게 grep으로 찾아서 NeoVim으로 바로 열고 수정할 수 있다는 거였다.
프로젝트를 시작하고 얼마 안 가서 깨달았는데, cliban은 단순한 작업 관리 툴을 넘어 내 에이전트들을 위한 엄청난 기억 저장소이자, 복잡한 작업들을 쉽게 관리하게 해주는 훌륭한 도구였다.


