AI로 서비스를 만들려면 결국 개발자들이 일하는 방식을 알아야한다.
바이브 코딩을 하다 보면 계속 코드를 추가하게 된다. 기능 하나 넣고, 또 하나 넣고, 또 넣고.
그러다 이상한 일이 생긴다. 1을 고쳤는데 1-1이 변경된다. 건드리지도 않은 게 깨진다. 뭔가 꼬였다는 느낌이 온다.
이게 한두 번이 아니었다. 고치면 또 꼬이고, 풀면 또 꼬이고. 기능 추가할수록 점점 불안해진다.
어떤 분이 피드백을 주셨다. 그날 저녁에 주신 내용을 바로 개선했다. 오전 중에 다 고쳤다.
근데 오후에 추가 작업을 하다가 개선된 게 다 날아갔다. 그 유저분이 다시 써보시고 안 고쳐졌다고 하셨다.
아쉬웠다. 실망스러운 경험을 드려서.
그때 깨달았다. 기능만 추가하면 안 된다. 코드가 정리되어 있지 않으면 고친 것도 날아간다.
비개발자가 이 상황에서 코드 정리를 떠올리기는 어렵다. 코드가 꼬였다는 감각은 있는데 그걸 어떻게 풀어야 하는지 모른다. 근데 PM으로 일하면서 개발자들이 어떤 일을 하는지 데일리 단위로 팔로우하게 된다. 그때 가끔 듣는 말이 있었다. 코드 정리한다.
기능 추가만 하다 보면 코드가 쌓이고 꼬인다. 그래서 주기적으로 정리한다. 불필요한 코드 지우고, 중복 제거하고, 구조 재정리하고. 개발자들이 당연하게 하는 일이다.
자꾸 이전 작업들이랑 충돌이 나고 있어 코드 정리좀 하자. 이렇게 명령했다.
결과. 커밋 4개가 나왔다.
프로젝트 구조 정리. 40개 파일 재구성하고 문서랑 스크립트를 체계화했다.
레거시 코드 정리. 쓰지 않는 백엔드 코드를 archive로 옮기고 미사용 파일을 보관 처리했다.
코드 중복 제거. 18개 API route에 흩어져 있던 Supabase client를 중앙화하고 92줄이 줄었다.
빌드 에러 수정. import 경로 오타 잡고 빌드 검증 완료.
정리하고 나니까 이후 작업에서 충돌이 확 줄었다.
바이브 코딩도 결국 코딩이다.
개발자들이 어떤 순서로 일을 하더라? 곰곰이 생각했다. 그들의 워크플로우를 어설프지만 따라하다 보니 나아지고 있다.
기능만 계속 추가하면 반드시 꼬인다. 그때 코드 정리를 떠올릴 수 있느냐. 이게 비개발자가 바이브 코딩을 지속하기 위해 필요한 감각이다.
개발을 몰라도 된다. 근데 개발자들이 어떤 일을 하는지 관심을 가져야 한다. 그들의 워크플로우를 알아보는 노력이 필요하다.