소프트웨어 엔지니어로서 '바이브 코딩' 커뮤니티에 대해 참을 수 없는 점들
Here's what I can't stand as a software engineer from the vibe coding community
핵심 요약
AI를 활용한 '바이브 코딩'이 생산성 향상에는 좋지만, 프로덕션 수준의 안정성과 확장성을 갖추지 못한 채 배포되는 현실을 비판합니다.
- 도구로서의 AI — AI는 훌륭한 보조 도구일 뿐이며, 그 자체로 완벽한 소프트웨어를 만들어내지는 못함
- 품질 저하 우려 — 생산성만을 쫓느라 확장성, 보안 등 소프트웨어 엔지니어링의 핵심 원칙이 무시됨
- 컨텍스트의 부재 — 코드는 생성되지만, 개발 과정에서 얻는 중요한 맥락과 이해도가 결여되어 유지보수가 어려워짐
- 전문성의 중요성 — 소프트웨어 엔지니어링은 숙련된 기술이며, AI를 제대로 활용하려면 인간의 전문적인 가이드가 필수적임
일단 나부터 말하자면, 난 AI를 매일 쓰고 있고 진짜 훌륭한 도구라고 생각함. 근데 어디까지나 도구일 뿐이지 그 이상도 이하도 아님.
기술이랑 담쌓고 살던 사람들이 드디어 뭔가를 만들어낼 수 있는 도구를 갖게 된 건 진짜 좋은 일이라고 봄.
근데 문제는 이거임. '바이브 코딩(vibe coding)'으로 앱 대충 찍어내고는, 마치 당장 실무에 써도 될 것처럼 포장해서 내놓는 꼴들임. 절대 안 됨.
생각보다 고려할 게 엄청 많음. AI가 실수도 존나게 많이 하거든. 프로토타입 만들 때나 공부할 때 쓰는 건 괜찮음. MVP(최소 기능 제품)로 쓰는 것까지도 봐줄 수 있어. 근데 AI가 알아서 네 앱 관리해주고 수십만 명 접속해도 다 버텨줄 거라고 착각하지 마라. 분명히 네 머리로는 해결 못 할 문제들이 터질 거니까. 만약 AI가 모든 걸 다 해주고 매번 완벽한 소프트웨어를 뽑아낼 수 있었다면, 애초에 우리가 그런 모델을 써볼 기회조차 없었을 거임. Anthropic이나 OpenAI가 자기들만 쓰려고 꽁꽁 숨겨뒀겠지. 그러니까 이 점을 좀 깊게 생각해 보라고.
내 경험상, 최근 몇 년 동안 쓰레기 같은 소프트웨어가 쏟아져 나오는 걸 그 어느 때보다 많이 본 것 같음. 이게 진짜 걱정되고, 소프트웨어 엔지니어링 업계 전체에 악영향을 주고 있음. 우리가 오랫동안 모범 사례(best practice)라고 여겨왔던 것들이 '생산성'이라는 명목하에 다 내다 버려지고 있음. AI에 눈먼 경영진들은 이걸 보고 "거봐, 얘네 원래 게을렀던 거네"라고 생각하겠지. 근데 소프트웨어를 확장 가능하고 안전하게 유지하기 위해 우리가 얼마나 많은 노력을 하는지는 1도 모르는 소리임. 이게 지금 우리 업무 방식에 진짜 심각한 결과를 초래하고 있다고.
바이브 코딩을 하면 예전엔 일주일 걸릴 걸 프롬프트 몇 번으로 뚝딱 만들 수 있음. 좋아 보이지? 근데 넌 지금 '코드'를 얻는 대신 '문맥(context)'을 팔아치우고 있는 거임. 예전엔 코딩하면서 문맥을 자연스럽게 익혔는데, 이제는 코드만 얻고 문맥은 다 갖다 버린 꼴이지. 당장은 어떻게 버틸지 몰라도, 나중에 뒤통수 제대로 맞을 거다.
모두가 소프트웨어 엔지니어일 필요는 없고, 그래도 괜찮음. 애초에 누구나 엔지니어가 될 수 있는 것도 아니고. 이건 엄청나게 어려운 직업이고, 다른 전문직이랑 똑같이 숙련된 기술이 필요한 분야임. 우리 엔지니어들은 좋은 확장성을 가진 소프트웨어를 만들기 위해 그 미묘한 차이를 이해하려고 매일 엄청난 시간을 쏟고, 매일 새로운 걸 배운다고.
그래도 바이브 코딩을 계속할 거라면, 한 단계 더 나아가서 AI가 도대체 뭘 하고 있는지, 왜 그렇게 하는지 제대로 공부 좀 해라. 그냥 대충 프롬프트 넣고 끝내지 말고. AI는 뭘 해야 할지 아는 사람이 옆에서 가이드해 줄 때 가장 성능이 잘 나오는 법임.
즐거운 바이브 코딩 되길.


