소프트웨어 엔지니어인 내 코드의 100%를 AI가 짜고 있다: 바이브 코딩(Vibe Coding)에 대하여

소프트웨어 엔지니어인 내 코드의 100%를 AI가 짜고 있다: 바이브 코딩(Vibe Coding)에 대하여

6년 넘게 현업에서 굴러온 소프트웨어 엔지니어이지만, 지난 1년 동안 단 한 줄의 코드도 직접 타이핑하지 않았다. 지금 내가 진행하는 프로젝트의 모든 코드는 AI가 작성한다. 하지만 1년여 전, 처음 AI로 코딩을 시작했을 때 느꼈던 짜릿함은 사흘을 채 가지 못했다.

바이브 코딩은 분명 축복이다

작년(2025년) 6월, 소문으로만 듣던 Cursor를 처음 실행했던 날이 아직도 생생하다. 겉보기엔 그저 익숙한 VS Code에 AI 채팅 사이드바 하나 달아둔 에디터처럼 보였다.

그때까지만 해도 내가 생각하는 AI 코딩이란 코파일럿(Copilot)의 고도화된 자동완성 수준에 불과했다. 하지만 첫 프롬프트를 입력하고 전송을 누른 순간, 눈앞에서 마법이 펼쳐졌다. AI가 무섭게 생각을 굴리더니 수십, 수백 줄의 코드를 순식간에 쏟아내기 시작했다. 여러 파일을 종횡무진 오가며 코드를 고쳐 쓰고, 터미널 명령까지 척척 실행해 주었다.

그저 일상 언어로 만들고 싶은 기능을 설명했을 뿐인데, 구현이 눈앞에서 완성되었다. 더 이상 코드를 한 줄 한 줄 칠 필요도, 단순 자동완성에 의존할 필요도 없었다. AI가 한 차원 높은 레벨에서 엔지니어의 일 일부를 통째로 넘겨받은 것이다.

붓을 대면 무엇이든 실물이 되는 신화 속 요술 붓을 쥐어든 기분이었고, 신세계의 문이 활짝 열리는 전율이 느껴졌다.

당시 나는 이런 감상을 남겼다.

바이브 코딩은 천성적으로 ADHD 성향과 찰떡궁합이다. 기존 코딩 방식은 ADHD 기질과 정면으로 충돌하지만, 바이브 코딩은 테스트 코드 짜기 싫어하는 병, CSS 울렁증, 허구한 날 변수명 오타 내기, 사소하고 지루한 버그 잡느라 진 빼는 증상을 단번에 치료해 준다.

AI가 보조를 맞춰주니 피드백 루프가 숨 가쁘게 빨라지고 성취감도 배가된다. 귀찮고 반복적인 작업일수록 AI가 기가 막히게 잘 처리해 준다.

나는 그저 큰 방향을 잡고 아키텍처를 설계하는 프로젝트 리더 역할에만 집중하면 된다.

한 글자 한 글자 타이핑하는 것 자체가 좋았던 게 아니다. 무언가를 창작해 내는 그 행위 자체가 즐거웠을 뿐이다. 어셈블리어에서 고급 언어로 발전해 왔듯, 프로그래머가 소프트웨어를 만드는 경험은 더 쾌적해지고 효율적이어야 마땅하다.

이제 벽돌공처럼 코드를 나르는 게 아니라, 온전한 크리에이터의 시선으로 프로그램을 빚어낼 수 있게 되었다. 개발자로서 이보다 더 큰 축복이 있을까.

바이브 코딩의 한계

이런 개발 방식을 부르는 용어가 바로 ‘바이브 코딩(Vibe Coding)‘이다. OpenAI의 공동 창업자인 안드레이 카파시(Andrej Karpathy)가 2025년 2월에 처음 제안한 말로, 말 그대로 ‘느낌(vibe)’ 가는 대로 코딩하는 방식이다. 자연어로 원하는 바를 툭 던지고, AI가 뱉어낸 코드를 한 줄 한 줄 검토하지 않고 그대로 받아들인다. 에러가 나면 에러 로그를 그대로 AI에 다시 던져주며, 코드라는 실체 자체를 잊어버릴 정도로 몰입하는 것이다.

하지만 감탄사를 쏟아내며 취해 있던 것도 잠시, 사흘이 채 지나지 않아 바이브 코딩의 명확한 한계를 맞닥뜨렸다.

당시 나는 한 앱의 프로토타입을 만들고 있었다. 정통 소프트웨어 엔지니어링 원칙을 전혀 적용하지 않은 채, 모호한 지시문으로 AI에게 제멋대로 바이브 코딩을 시켰다. 그러자 시간이 흐를수록 AI는 통제 불능 상태에 빠졌고, 코드 아키텍처는 손을 댈 수 없을 정도로 엉망진창 스파게티가 되어버렸다.

결국 모든 걸 갈아엎고 처음부터 다시 시작했다. 이번에는 순수 느낌 대신 ‘소프트웨어 엔지니어’의 기본기로 돌아가, 정석 워크플로에 입각한 AI 보조 개발을 시도했다.

그러자 완전히 다른 차원의 작업 환경이 열렸다. 바이브 코딩 특유의 속도감과 재미는 그대로 살리되, 철저한 코드 리뷰, 명확한 문서화, 그리고 욕심부리지 않는 점진적 수정을 도입했다. 한 번에 큰 덩어리를 밀어넣는 대신 작게 쪼개어 완성도를 높여갔다. 그제야 아키텍처와 구현 흐름이 온전히 내 손안에 들어왔고, 말 그대로 ‘원하는 대로 착착 들어맞는’ 쾌감을 맛볼 수 있었다. AI 보조 개발은 마치 노련한 테크 리드가 실력 좋은 인턴을 지휘하는 과정과 같아졌다. 자잘한 구현에 손을 더럽힐 필요는 없지만, 전체 설계에 대한 통제력과 거시적 안목은 여전히 인간의 몫이어야 했다.

얼마 후 나는 Claude Code로 개발 도구를 전환했다. 훨씬 더 정교하고 강력한 통제력을 얻게 되면서, 개발 생산성은 이전과는 비교도 할 수 없을 만큼 몇 배나 수직 상승했다.

소프트웨어 엔지니어의 미래

“바이브 코딩으로 뭐든 너무 쉽게 뚝딱 만들어버리니까, 다들 프로그래밍 기초를 깊이 있게 공부할 생각을 안 하게 되지 않을까요?”

충분히, 아니 아주 높은 확률로 그렇게 될 것이다.

기존의 개발 커리어 패스는 계단과 같았다. 기초 언어 문법부터 차근차근 밟아 올라가 주니어 엔지니어가 되고, 실무에서 수많은 엔지니어링 삽질과 도전을 겪으며 점차 몫을 해내는 시니어 엔지니어로 성장했다. 각 단계마다 분명한 피드백이 있었기에, 평범한 학습 능력을 가진 사람이라도 노력만 하면 진입할 수 있었고 커리어의 사다리도 선명했다.

반면 바이브 코딩은 진입 장벽을 완전히 허물어버렸다. 이제 누구나 데모 수준의 프로토타입은 뚝딱 만들어낼 수 있다. 하지만 소프트웨어 엔지니어링은 철저히 실전 감각과 깊은 내공이 필요한 학문이다. 단순 데모를 만드는 것과, 상용 서비스 수준의 견고한 제품을 만드는 것은 ‘0에서 1’과 ‘1에서 100’만큼의 아득한 차이가 있다.

전통적인 경로에서는 0에서 1을 만들어내는 과정에서 1에서 100으로 나아가는 데 필요한 기초 체력이 자연스럽게 다져졌다. 그러나 바이브 코딩은 노코드/비전공자에게 그런 기본기를 남겨주지 않는다. 결국 1에서 10으로 넘어가는 문턱에서 절벽 같은 난이도 격차를 마주하게 되고, 대부분은 여기서 나가떨어질 수밖에 없다.

앞부분이 너무 쉬웠던 탓에, 뒤이어 닥치는 거대한 난관은 어설픈 흥미나 평범한 학습 능력으로는 도저히 돌파할 수 없다. 만약 이 난관마저 가볍게 뛰어넘는 사람이 있다면, 그는 학습력과 실행력, 문제 해결력 면에서 상위 1%에 드는 압도적인 인재일 것이다.

요컨대 그런 극소수의 인재들은 AI가 없던 시절에도 어차피 최고의 엔지니어가 되었을 사람들이다.

AI 코딩 능력이 폭발적으로 성장하면서, 업계는 더 이상 주니어 엔지니어를 필요로 하지 않게 되었다. 인재 육성의 사다리가 끊어지면서, 스킬을 단련하고 배울 기회 자체를 얻지 못하는 이들이 늘어나고 있다.

이 초안을 쓴 지 1년이 지난 지금, 채용 시장의 데이터가 이를 여실히 증명하고 있다.

나는 이 분야의 미래를 꽤 비관적으로 바라보고 있다. 개발 업계는 철저하게 양극화될 것이다. 신계(神界)에 도달한 극소수 괴물들의 무대이거나, 흥미 삼아 데모 수준의 장난감을 찍어내는 수많은 취미 개발자들로 나뉘는 그림이다.

다른 지식 노동 분야도 개발의 전철을 밟게 될 것이다. 앞으로의 세상에서는 가벼운 두뇌 노동에 속하는 거의 모든 일자리가 AI로 대체될 것이다.

독창적인 사고의 정점으로 여겨지던 순수 수학의 영역마저 지난 1년 사이 AI에 의해 성벽이 뚫리기 시작했다.

이 시리즈에서 다룰 내용

지금 이 순간에도 코딩 경험이 없는 수많은 사람들이 AI 코딩에 뛰어들고 있다. 하지만 어디서부터 손대야 할지 막막하거나, 기껏해야 작은 토이 프로젝트 몇 개를 건드려보는 데 그친다. 소프트웨어 엔지니어링 지식이 부족하다 보니, 지금 자신이 뭘 하고 있는지조차 모른 채 헤매고, 문제를 어떻게 쪼개고 복잡한 난제를 어떻게 풀어나가야 할지, AI를 어떻게 부려야 원하는 결과를 낼 수 있는지 갈피를 잡지 못한다.

더 본질적인 문제는 논리적 사고력의 부재다. 좋은 질문을 던지는 법, 비판적으로 사유하는 법을 모르면 AI가 내놓은 답이 맞는지 틀린지조차 가려낼 수 없다.

나는 6년 넘게 일해온 소프트웨어 엔지니어로서, AI의 힘을 빌려 여러 복잡한 프로덕트를 직접 기획하고 개발해 실제 사용자들을 확보해 왔다. 서두에서 말했듯, 지금 내 프로젝트의 모든 코드는 AI가 짠다. 개발자가 명확한 방향 감각을 갖고 AI를 적재적소에 핸들링할 수만 있다면, AI는 복잡한 상용 프로젝트를 만드는 데 더없이 강력한 무기가 되어준다. AI는 도구일 뿐, 승부는 결국 사람에게 달려 있다.

AI 시대에는 전통적인 프로그래밍 학습 공식이 완전히 뒤집힌다. 그래서 이러한 시대적 흐름에 맞춰, 새로운 시리즈인 **《비전공자를 위한 바이브 코딩 완벽 가이드》**를 연재해보려 한다.

이 가이드에서는 다음과 같은 핵심 주제들을 다룰 예정이다.

  1. AI 코딩과 현대 소프트웨어 엔지니어링 베스트 프랙티스의 접목: 소프트웨어 엔지니어링의 본질을 먼저 이해하고, 밑바닥부터 시작해 내가 원하는 프로그램을 직접 완성해 본다. 단순 데모에 그치지 않고 장기적으로 유지보수 가능하며, 물 흐르듯 유려하게 개발하는 법을 다룬다.
  2. 사고력 및 논리 훈련 가이드: AI 코딩 과정에서 핵심을 찌르는 질문을 던지는 법, 절대 하지 말아야 할 실수들, 프로젝트 문서를 효과적으로 작성하는 방법.
  3. 테스트 및 엔지니어링 워크플로 최적화: 견고한 아키텍처를 유지하면서 코드 품질과 기능을 지속적으로 개선하고 테스트하는 법. 완성도를 떨어뜨리지 않으면서 개발 속도를 끌어올리고, 자동화 워크플로를 구축하는 노하우.
  4. AI 친화적인 최적의 기술 스택 선정: 어떤 언어와 프레임워크를 선택해야 AI의 성능을 120% 이끌어낼 수 있는가에 대한 가이드.

에필로그

사실 이 글의 뼈대는 1년 전인 2025년 10월에 작성해 두었던 것이다. 이번에 글을 다듬으면서 지난 1년 동안 누적된 채용 통계와 수학계에서 일어난 AI의 돌파구들을 덧붙였다. 당시에는 AI의 발전 속도가 너무 아찔해서, 글을 써두어도 며칠 뒤면 금방 낡은 이야기가 되어버릴까 두려웠다. 그래서 짤막한 단상만 SNS에 올리고 긴 글은 쉬이 손대지 못했다.

그런데 1년이 지나 이 초고를 다시 꺼내 읽어보니, 당시의 예측들이 꽤 정확하게 들어맞고 있었다. 그래서 생각을 정리해 정식 글로 발행한다. 앞으로는 긴 호흡의 글을 더 자주 써야겠다. AI가 범람하는 세상일수록, ‘사람 냄새’ 나는 생각이야말로 가장 귀해질 테니까.