코드를 설명할 수 없는 개발자
바이브 코딩을 선도하는 기업들은 AI를 잘 쓰려면 더 많은 권한과 더 많은 맥락 전달을 해서 AI가 '생각'을 더 잘하게 하라고 말한다. 조언 자체는 맞다. 하지만 실제 현장에서는 역설이 벌어진다. 개발자가 스스로 생각하기를 멈추고, AI에게 맥락만 전달하는 역할로 축소되는 것이다.
사이드 프로젝트와 회사는 다르다
나 혼자 하는 사이드 프로젝트라면 크게 상관없다. 결과물이 나오고, 내가 쓰고, 내가 책임진다. 하지만 회사에서는 다르다. 동료가 내 코드를 읽고, 리뷰하고, 장애 때 고쳐야 한다. 그 순간 이해와 책임이 필수다.
문제는 개발자가 AI가 작성한 코드에 대해 모르고, 책임을 안 지는 것이 아니라 못 지는 상태에 빠진다는 점이다. 왜 이렇게 짰는지, 어떤 트레이드오프를 선택했는지, 어떤 레퍼런스를 봤는지—설명할 수 없다면 그 코드는 팀의 자산이 아니라 부채다.
현업에서 벌어지는 대화
실제로 현업에서 이런 대화가 벌어진다.
A: B님, 이 코드는 어떤 의도인가요?
B: 잠시만요. (모니터로 시선을 돌린 후 AI에게 물어본다)
B: 그건 이런 동작을 합니다.
A: 전 그렇게 하면 ㅇㅇ 문제가 발생하기 때문에 수정해야 할 것 같은데, 어떤 레퍼런스를 보셨어요?
B: 클로드가 그랬는데 아닌 것 같네요. 다시 확인해볼게요. (AI에 다시 물어본다)
A: (이럴 거면 클로드한테 물어보지…)
동료에게 물어본 것이 결국 AI 중계가 된다. 코드 리뷰가 아니라 프롬프트 리뷰가 되고, 기술 논의가 아니라 모델 응답 확인이 된다. AI가 만든 코드에 문제가 발견되면 다시 AI를 찾아간다. 스스로 해결하지 못하고, 답을 내지 못한다.
문제가 터졌을 때 드러나는 한계
서비스에 문제가 생겨 대응해야 하는 순간, 이런 개발자는 스스로 답하지 못한다. 어디서부터 봐야 하는지, 어떤 조건에서 재현되는지, 왜 이 구조가 선택됐는지—전부 AI에게 다시 물어봐야 한다. 겉보기에는 빠르게 코드가 쌓이지만, 이해 가능한 코드베이스는 점점 얇아진다.
특히 경험이 적은 주니어 개발자들에게 많이 보이는 모습이다. 문제 해결에 필요한 적절한 설계가 아니라, 비대하고 유지보수하기 어려운 설계로 코드가 작성된다. AI는 동작하는 코드를 빠르게 만들어 주지만, 그 코드가 팀과 서비스에 맞는지는 별개의 문제다.
AI는 책임지지 않는다
문제가 생기면 AI는 이렇게 답한다. 「그래? 내가 틀렸었네. 그럼 처음부터 다시 작성할게」 책임을 회피하는 것이 아니라, 애초에 책임의 주체가 아니다. 비용은 AI가 지지 않는다. 팀 리더와 시니어가 함께 진다. 장애 대응, 설계 수정, 동료 설득—결국 사람이 뛰어든다.
불과 몇 년 전만 해도 시니어들은 주니어 개발자를 코칭하고 성장시키려는 노력을 해왔다. 하지만 이제는 AI가 주니어 1~2인분을 대체할 수 있으므로, 많은 시간과 노력을 들여야 하는 주니어를 키워야 할 필요성을 못 느끼는 분위기도 생기고 있다.
사라지는 코칭, 닫히는 채용
회사는 점점 채용 공고를 닫고, 기존 인원들에게 AI Max 요금제를 구매하는 선택지로 간다. 단기적으로는 비용이 줄어드는 것처럼 보인다. 하지만 팀 안에 코드를 설명할 수 있는 사람이 줄어들면, 장기적으로는 더 비싼 대가를 치른다.
앞으로 개발자 취업은 점점 더 힘들어질 것 같다. AI가 대체할 수 있는 역할—맥락 전달, 결과 수령, 중계—과 대체할 수 없는 역할—판단, 설명, 책임—을 가르는 기준이 분명해질 것이다. 후자를 할 수 있는 개발자만 남는다.
고민 없이 받아들인 코드가 왜 독이 되는지에 대한 생각은 이전 글에서 다뤘다. 이번 글은 그 문제가 팀과 회사 차원에서 어떻게 벌어지는지에 대한 이야기다.