2 minutes
바이브 코딩 생산성 방정식

정도현 - 로보코 수석 컨설턴트
나는 종종 개발자들로부터 이런 질문을 받는다. “저는 이렇게 개발하는데 이게 바이브 코딩 맞나요?” 많이 당황스럽다. 왜 한국 사람들은 유독 종교적 근본주의 같은 기준 맞추기를 좋아하걸까? 중요한 것은 바이브 코딩을 잘 수행하는가 아닌가가 아니라 바이브 코딩이 얼마나 생산성 향상에 도움이 되는가 이다.
또 이런 질문도 종종 있다. “정말 프로그래밍을 하나도 몰라도 바이브 코딩을 할 수 있나요?” 오늘은 바로 이 얘기를 해보려고 한다.
바이브 코딩이라는 건 AI를 이용해 자연어로 코드를 생성하는 활동을 편의상 묶어서 부르는 이름이다. 딱히 ‘이것이 진정한 바이브 코딩이다’ 하는 규칙 같은 건 없고, 있을 필요도 없다. 중요한 것은 그런 형식이 아니라, 실제로 생산성이 높아졌느냐 아니냐 하는 결과다.
이쯤에서 나는 다음과 같은 바이브 코딩의 생산성 방정식을 제안해본다.
P = x * y + z
- P: 전체 생산성
- x: 개발자가 낼 수 있는 기본 생산성. 평균적인 개발자의 생산성을 1로 기준 삼는다. 물론 사람에 따라 1 이하, 심지어 음수가 될 수도 있다.
- y: 사용하는 툴과 프로세스가 낼 수 있는 생산성. 바이브 코딩을 했는데도 생산성이 낮다면 툴이나 프로세스가 엉망이라는 뜻이니 개선해야 한다.
- z: 순수하게 AI가 낼 수 있는 생산성. 개발자가 아니라도 AI 혼자서 어느 정도 생산성을 낼 수 있지만, 이 값은 전적으로 AI 성능에 달려 있다.
이 방정식을 통해 내가 강조하고 싶은 것은 세 가지다.
첫째, 비개발자도 개발을 할 수 있게 해주는 것은 일부 사실이지만, 그 범위와 수준은 제한적이다. AI에 전적으로 의존(z) 해야 하기 때문에 이 값은 결국 모델이나 도구가 제공하는 범위를 벗어날 수 없다. 코딩을 할 수 없다고 해도 만들고 하는 제품이나 서비스의 동작을 명확히 설명 가능하다면, 즉 요구사항 정의서를 명확하게 작성할 수 있다면 개발자의 생산성(x)에 일부를 더할 수 있다. 하지만 최근에는 소프트웨어 엔지니어링에 대한 기본 지식만 어느정도 있다면, AI의 도움을 받아 일정 수준 이상의 요구사항 정의서를 작성하는것이 가능해 졌다.
둘째, 결국 바이브 코딩의 본질은 개발자의 생산성을 증폭시키는 데 있다. 그러니 생산성을 높이고 싶다면 개발자 본인의 능력(x)을 키우거나 더 나은 툴과 프로세스(y)를 도입하는 게 가장 효과적인 전략이다. 본인의 능력은 소프트웨어 개발자로서 코드를 생산하는 능력을 말하는 것이 아니다. 문제 해결사로서 문제를 명확하게 인식, 정의하고 이에 대해 적절한 해법을 제시하는 능력을 말한다. 바이브 코딩에서는 계획을 잘 세우기만 한다면 구체적인 실행은 AI에게 떠넘길 수 있다.
셋째, 툴과 프로세스도 중요하다. 개발 방식에 맞지 않는 툴이나 프로세스를 사용하면 오히려 생산성이 떨어질 수도 있다. 어떤 모델, 어떤 도구, 어떤 프로세스를 사용하는가에 따라 생산성 뿐만 아니라 구현 가능한 범위와 수준 또한 크게 달라진다. 또한 바이브 코딩 도입 초창기에는 J커브에 의한 생산성 저하가 발생할 수 도 있다. 다만 적절한 교육을 통해 생산성 하락 구간을 줄일 수 있다.
결론적으로, 로보코에서 목표로 하는 L4 바이브 코딩은 만능이 아니다. 그것은 마술이 아니라 개발자의 역량과 도구의 힘을 극대화하는 하나의 개발 방식일 뿐이다. 그러니 생산성 향상을 위해서는 개발자의 역량과 함께 툴과 프로세스를 개선하는 데 집중하라.