레고는 쌓기만 해서는 안 되더라
처음엔 정말 레고 만들듯이 했다.
생각나는 기능 하나를 만들고, 이상이 생기면 고치고, 또 다음 기능을 만들고, 또 이상이 생기면 고치고.
그런데 이게 생각보다 문제가 컸다. 하나를 만드는 건 AI가 도와주니 금방인데, 버그를 잡는 데 시간이 엄청나게 걸리는 거다.
그리고 매번 AI가 나한테 하는 말이 있었다.
"콘솔 로그 확인해보세요." "네트워크 탭 열어보세요." "에러 메시지 복사해서 붙여넣어 주세요."
처음엔 그게 뭔지도 몰랐다. 억지로 따라가다 보니 조금씩 알게 됐지만, 그게 한두 번이 아니라 매번 반복됐다. 만드는 건 10분인데 고치는 건 10시간인 상황이 반복됐다.
깨달음 — 설계도라는 게 필요하구나
상담도 해보고, 나 스스로도 이 상황을 계속 곱씹다 보니 결국 답이 나왔다.
내 머릿속에만 있는 대로 만들었다는 게 문제다.
전체적인 설계도가 없으니, AI가 내 의도를 제대로 파악하지 못하고, 나는 내가 뭘 만들고 싶은지 제대로 전달을 못 하고 있었던 거다.
아! 내가 만들고 싶은 것들을 먼저 쭉 정리하고, 그게 가능한지, 논리에 맞는지를 먼저 따져봐야 하는구나.
업계에서는 너무나 당연한 소리일 것이다. 나는 업계인이 아니니까, 혼자 돌아돌아 깨달았다.
진료실에서 할 수 있는 건 채팅뿐이었다
그때는 맥북이 없었다.
지금은 맥북도 사고, SSH로 넘겨서 진료 보면서 같이 개발도 한다. 하지만 그땐 집 서재방 데스크탑 한 대가 전부였다. 진료실에 가면 개발할 방법이 없었다.
그래서 자연스럽게 생겨난 루틴이 있었다. 진료실 컴퓨터에서는 개발 대신 AI 채팅을 하는 거였다. Antigravity랑 이야기하면서 내가 만들고 싶은 기능들을 md 파일로 정리하기 시작했다.
이게 생각보다 훨씬 재밌었다. 내가 만들고 싶은 걸 이야기하면, AI가 될 것과 안 될 것을 바로 정리해 줬다. 시간 가는 줄 몰랐다.
마침 겨울이었다. 통증의원의 비수기다. 시간이 넘쳐났다.
병원에서 내가 실제로 어떻게 일하는지 들여다보고, 그걸 기획으로 옮기고, 또 정리하기를 반복할 수 있는 충분한 시간이 생긴 셈이었다.
모듈 형식이라는 말을 처음 들었다
그 AI 채팅방에서 또 들은 말이 있었다.
"모듈 형식으로 개발해야 AI가 원래 파일을 건드리지 않아요."
모듈이 뭔지도 몰랐다. 그냥 기능마다 파일을 따로따로 쪼개라는 뜻인가? 하고 그 말을 믿고 기능별로 md 파일을 만들기 시작했다. 전체 구조를 정리한 md도 따로 만들고, DB 스키마도 정리했다.
나도 모르게 기획서다운 기획서가 생겨나고 있었다.
이렇게 만든 기획서를 들고 Antigravity에게 물리고 나니, 전보다 버그가 확실히 줄어드는 느낌이 들었다. 아, 이렇게 하는 거구나 하면서 며칠을 신나게 또 만들었다.
로그인을 만들어야 했다
그러다 한 가지 벽이 생겼다.
이걸 나만 보면 안 되는 거잖아?
직원들도 볼 수 있게 하려면 로그인이 필요했다. 로그인이 있으면 권한 체계도 있어야 했다.
문제는 내가 처음부터 로그인 없이 만들었다는 거였다. 그러다 보니 수많은 하드코딩과 백엔드의 부재가 뒤엉켜 있었다.
이때부터 폭탄이 하나씩 터지기 시작했고, 결국 프로그램을 거의 갈아엎다시피 하게 되었는데...
다음 편에서 계속.