AI가 짜준 코드, 6개월 뒤에 내가 못 읽는 이유
편의점 1+1 행사 앱을 출시하고 6개월쯤 지났을 때, 버그 리포트가 하나 들어왔어요. 고치려고 코드를 열었는데 — 읽을 수가 없었어요. 내가 만든 앱인데.
그때는 완벽해 보였는데
출시할 때 코드는 ‘동작하는 상태’였어요. AI가 짜준 함수들이 깔끔하게 맞물렸고, 저는 그걸 조각조각 붙였죠. 뭘 붙이는지는 알았는데, 왜 이렇게 생겼는지는 사실 잘 몰랐어요.
문제는 거기에 있었어요. 이해 없이 붙인 코드는 맥락이 없어요. 변수 이름이 data2, tempResult, finalFinal이고 주석은 한 줄도 없었어요. AI는 그 순간 제 질문에 최적화된 답을 줬고, 저는 동작 확인만 하고 넘어갔으니까요.
AI는 6개월 뒤의 나를 모른다. 그건 내 책임이었어요.
청구서가 날아온 날
버그는 단순했어요. 특정 조건에서 목록이 중복 렌더링되는 것. 근데 어느 파일에 있는지, 어느 함수가 트리거하는지 추적하는 데만 두 시간이 걸렸어요. 당시에 “일단 되면 됐지” 하고 쌓아뒀던 것들이 그 두 시간 안에 한꺼번에 청구된 거예요.
비용이 없어진 게 아니었어요. 미뤄진 것뿐이었어요. 그것도 이자까지 붙어서.
빠른 코딩의 시간을 빌린 거예요. 나중에 갚을 때 원금보다 더 냈어요.
미뤄둔 청구서
지금은 조금 다르게 하게 됐어요
AI한테 코드를 받으면, 바로 붙이기 전에 딱 한 가지만 물어보게 됐어요. “이 함수가 하는 일을 한 문장으로 설명해줘.” 그 설명이 제 말로 이해되면 쓰고, 아니면 다시 물어요.
귀찮아요. 속도는 확실히 줄어들어요. 근데 6개월 뒤에 코드를 열었을 때 내가 읽을 수 있는지 없는지의 차이가 여기서 갈리더라고요.
주석도 AI한테 시키게 됐어요. “왜 이렇게 짰는지 이유를 주석으로 달아줘”라고요. 무엇을 하는지가 아니라 왜 이렇게 했는지가 나중에 진짜 필요한 정보더라고요.
좋은 주석은 코드를 설명하지 않아요. 결정을 설명해요.
결국 남는 건 내가 이해한 것만
AI가 빠르게 짜줄수록, 제가 이해하는 속도가 따라가야 해요. 그 간격이 벌어지면 벌어질수록 나중에 갚아야 할 이자가 쌓이는 거였어요. 도구가 빨라졌다고 해서 이해를 건너뛸 수 있게 된 건 아니었고요.
저는 이걸 좀 늦게 배웠어요.
AI 코드의 유지보수 비용은 없어지는 게 아니라 뒤로 밀리는 것이에요.