Vibe 코딩과 개발자 종말론, 주니어 개발자의 성장 방향에 대한 생각

Vibe 코딩에 대한 갑론을박을 보며, 또 Vibe 코딩을 직접 해보며 했던 생각을 주저리주저리 적어봤습니다. 채용 시장 축소로 인해 어려움을 겪는 주니어 개발자들에게 조금이나마 도움이 되길 바랍니다.

근래 Vibe 코딩, 직접 코딩보다는 AI에게 제안받은 코드를 승인하는 걸 위주로 개발하는 방식이 굉장히 화제가 되고 있습니다. "이제 개발자는 필요없다" vs "그래도 아직 멀었다" 같은 이야기도 SNS에서 꽤 자주 보이고요.

저는 둘 다 일리가 있다고 보는데요. 이와 관련하여 (Vibe 코딩은 며칠밖에 안해봤지만) 지난 몇 년간 AI의 발전을 지켜보며 + 프로덕 엔지니어로서 일하며 해왔던 생각을 정리해 조심스레 적어봅니다.

다만 저는 AI 전문가도 뭣도 아니고, 생각하고 글쓰기 좋아하는 일개 개발자에 불과합니다. 앞서 말했듯 Vibe 코딩의 경험도 아주 적습니다. 보통은 잘 모르는 분야에 대해 침묵하는 편입니다만, 이번에는 다른 분들의 의견을 많이 들어보고 싶어서, 그리고 불안해하는 주니어 개발자 분들을 생각하며 글을 썼습니다. 가감 없는 비판 부탁드립니다.

직접 경험해본 Vibe: 이정도까지 vs 이정도밖에

몇 주 전 Vibe 코딩에 대한 글을 쓴 뒤 저도 Vibe 코딩을 본격적으로 시작했습니다. 구상중이던 AI 앱 기획 & 개발도 좀 해보고, LLM이 게임도 잘 만든다길래 7살 딸아이와 함께 즐길 만한 알까기 게임을 주말동안 만들어봤어요.

Vibe Go-Stone (알까기)
A simple web game created in 4 hours of vibe coding, to play with my 7-year-old daughter.

일부러 코드를 직접 수정하는 대신, 코딩의 대부분(대략 90%?)을 프롬프트만으로 진행했습니다. 구현 시간이 정말 비약적으로 줄어들더군요. Grok이랑 주고받으며 기획 1시간, Cursor로 옮겨 추가 Vibe 코딩 2시간, 배포하고 favicon 넣고 meta description 넣고 추가 개선 등등을 하는데 1시간. 대략 4시간만에 나쁘지 않은 게임을 만들었습니다.

예전의 내가 이런 게임을 만드는 데 얼마나 걸렸을까? 를 생각하면 정말 놀라운 결과였습니다. 하지만, 한편 (몇 달간 Cursor를 써온 지인이 했던 말처럼) 'AI가 벌써 이정도까지 해준다고?' 싶으면서도 'AI가 아직 이정도밖에 못한다고?'가 공존하는 걸 느꼈어요.

제가 Grok에 처음으로 준 프롬프트는 이랬습니다.

7살 딸아이랑 함께 바둑알 알까기 놀이를 할 수 있는 웹 게임을 만들고 싶어.

아이가 정밀한 조작을 하기 어려우니까, 버블버블처럼 키보드로만 방향과 세기를 조작할 수 있게 하면 좋겠어.

이 게임을 AI와 함께 만들기 위한 프롬프트를 작성해줘.

이렇게 받은 프롬프트를 조금만 수정해서 다시 Grok의 새 세션에 넣으니 놀랍게도 바로 실행되는 알까기 게임을 만들어줬어요. 다만 실제로 '플레이 가능한' 게임의 레벨은 전혀 아니었고, 작업을 쪼개서 한단계씩 확인해나가야만 스펙을 제대로 따르고 디버깅도 잘 하더군요. 함께 스펙을 점차 추가하며 개발하다 보니 어느새 물리엔진까지 넣으면서 진짜 알까기 게임에 점점 가까워졌습니다.

Grok과 함께 만든 버전 (전체를 프롬프트로만 구현)

그런데 남들에게 보여주자니 UI가 너무 아쉬워서, Cursor + Claude를 써보기로 했습니다. 그래서 Grok에게 지금까지의 내용을 영어로 PRD(Product Requirements Document)을 만들어달라고 한 다음 그걸 Cursor에 그대로 가져갔는데.... 웬걸 어이없을 정도로 못하더라고요. 예쁘게는 만들어줬는데 스펙을 제대로 따르는 게 거의 없었습니다. 아직 제 Vibe 코딩의 숙련도가 낮아서일 수도 있지만, 'AI가 내 말 그대로 코드를 만들게 하는' 게 생각보다 쉽진 않다고 느꼈어요.

요약하자면, '이런 간단한 것도 못해?'라는 실망감과 '이 정도 요구사항만으로도 이렇게 훌륭하게 만들어준다고?'라는 놀라움이 번갈아 들었다고 할 수 있겠습니다. 이런 혼란에도 불구하고, 거기서부터 꽤 즐겁게 플레이 가능한 수준의 게임을 만드는 데까지 고작 2시간정도밖에 걸리지 않았다는 게 아주 신기했습니다.

그리고 .cursorrules 같은 설정값과 프롬프트를 더 다듬으면 '이것도 해준다고?' 의 비중이 '이것밖에 못해준다고?' 보다 빠르게 높아질 것이고, 그 과정에서 업계 전반의 주니어 개발자 채용 슬롯이 급격하게 줄어들겠다는 느낌이 강하게 왔습니다. 이 '느낌'을 파레토 법칙과 제품 성숙도 개념을 이용해 한번 얘기해볼게요.

절망편: 96%의 코드는 AI가 작성할지도 모른다

제품 성숙도를 대략 3단계 - 제로투원, 원투텐, 그 이상으로 나눠보면요.

This post is for subscribers only