바이브 코딩 결국 무너집니다 — Transcript

잘 짜인 코드 베이스의 중요성과 바이브 코딩의 위험성을 설명하며, DDD와 넥스트JS, 파이썬 조합을 통한 효율적 개발법을 소개합니다.

Key Takeaways

  • 잘 짜인 코드 베이스는 장기적으로 개발 속도와 안정성을 높인다.
  • DDD로 도메인을 명확히 분리하면 코드 관리와 협업이 쉬워진다.
  • 넥스트JS와 파이썬 조합은 프론트엔드와 백엔드 역할 분담에 효과적이다.
  • 바이브 코딩은 초기에는 빠르지만 시간이 지날수록 문제를 야기한다.
  • 체계적인 코드 베이스는 신규 개발자 적응과 버그 관리에 유리하다.

Summary

  • 프로젝트 초기 기획부터 동작 화면까지 빠르게 완성 가능한 비결은 잘 짜인 코드 베이스에 있다.
  • 코드 베이스가 잘 구성되어 있으면 새 기능 추가가 쉽고 버그 발생 범위가 제한된다.
  • 도메인 주도 설계(DDD)를 통해 비즈니스 단위별로 코드를 분리해 책임과 역할을 명확히 한다.
  • 프론트엔드는 넥스트JS, 백엔드는 파이썬을 사용하여 각자의 강점을 살린 기술 스택을 적용한다.
  • 바이브 코딩은 초기 속도는 빠르지만 시간이 지날수록 코드가 엉키고 유지보수가 어려워진다.
  • 잘 짜인 코드 베이스는 신규 개발자도 빠르게 적응할 수 있고, 장기적으로 개발 속도와 품질이 향상된다.
  • 바이브 코딩은 디버깅이 어렵고 버그가 여러 영역에 영향을 미치며, 결과물 퀄리티가 낮아진다.
  • 코드 베이스는 처음에 시간이 더 들지만 장기적으로는 훨씬 안정적이고 빠른 개발을 가능하게 한다.
  • 메이커 에반은 직접 다듬은 DDD 기반 코드 베이스를 스킬샵에 올려두었으며, 50% 할인 이벤트를 진행 중이다.
  • 새 프로젝트 시작 시 코드 베이스 구조를 점검하고 유지보수 가능한 설계를 권장한다.

Full Transcript — Download SRT & Markdown

00:01
Speaker A
이번에 새로운 프로젝트를 시작하면서 프로젝트를 기획받고 동작하는 화면까지 가는 데 생각보다 정말 빠르게 끝나더라고요. 비결이요? 사실 저희가 잘난 게 아니에요. 코드 베이스가 잘 깔려 있어서 그래요. 오늘은 잘 짜인 코드 베이스가 왜 중요한지 그리고 그런 기반 없이 감으로만 짜는 코딩은 왜 위험한지 같이 한번 정리해 볼게요. 아, 그리고 이번 영상은 초창기 오픈 기념으로 끝까지 봐 주신 분들께 드리는 작은 이벤트가 준비되어 있어요. 마지막에 안내 드릴 테니까 끝까지 같이 가 주시면 좋겠습니다.
00:18
Speaker A
여러분, 새 집에 이사 가 본 적 있으시죠? 도면 잘 나온 집이랑 그냥 벽돌 막 쌓아 올린 집이랑 살아보면 전혀 다르거든요. 도면 잘 짜인 집은 콘센트 위치 적당하고 화장실 동선도 자연스럽고 가구 놓기도 편해요. 근데 도면 없이 그냥 막 지은 집은 사람 사는 것만 고생해요. 콘센트가 침대 뒤에 숨어 있고 화장실 가는데 거실 가로질러야 되고요. 코드도 똑같아요. 코드 베이스가 잘 세팅되어 있으면 새 기능 하나 추가할 때 여기에 이걸 끼우면 되겠다 하는 자리가 명확해요. 근데 코드 베이스가 엉망이면 새 기능 하나 넣을 때마다 이거 어디다 넣어야 되지 하고 고민 붙여야 되거든요. 그 고민이 쌓이면 결국 개발 속도가 느려져요.
00:29
Speaker A
버그도 늘어나고요. 저희도 처음엔 그냥 빠르게 만드는데만 집중했어요. 근데 그렇게 몇 개월 지나니까 작은 기능 하나 추가하는 것도 일주일씩 걸리는 거예요. 왜? 어디를 건드리면 어디가 터질지 모르니까요. 그때부터 코드 베이스 자체를 다시 짜기 시작했어요.
00:45
Speaker A
저희가 가장 먼저 적용한 게 DDD예요. 도메인 주도 설계라고 하는데 말이 참 어렵죠. 쉽게 말해서요, 코드를 이건 결제 영역, 이건 회원 영역, 이건 주문 영역 이런 식으로 비즈니스 단위를 나눠 놓는 거예요. 비유하자면요, 큰 회사에 부서가 있잖아요. 인사팀, 재무팀, 영업팀. 각 팀이 자기 일에만 집중하고 필요할 때만 다른 팀이랑 협업하죠. 만약 한 사무실에 모든 직원이 섞여 있으면 어떨까요?
01:02
Speaker A
누가 무슨 일을 하는지도 모르고 책임 소재도 흐릿하고 정말 혼란스럽겠죠. DDD가 딱 그거예요. 결제 로직은 결제 도메인 안에, 회원 로직은 회원 도메인 안에. 각자 자기 영역에서 자기 일만 하니까 코드가 깔끔해져요.
01:07
Speaker A
새로 들어온 개발자도 아, 결제 관련 문제면 결제 폴더만 보면 되겠구나 하고 바로 찾아갈 수 있어요.
01:23
Speaker A
그다음은 기술 스택이에요. 저희는 프론트엔드를 넥스트 JS로, 백엔드를 파이썬으로 가져갔어요. 왜 이렇게 나눴느냐? 각자 잘하는 걸 시키려고요. 넥스트는 화면 그리는데 정말 강해요. 사용자가 보는 부분, 클릭하고 입력하고 결과 보는 부분이에요. 서버 사이드 렌더링도 되고 라우팅도 자동이고 요즘 앱에 필요한 거의 다 들어 있어요. 파이썬은 그 반대편에 있어요. 데이터 처리, 머신 러닝 모델 돌리기, 외부 API랑 통신하기 이런 작업들은 파이썬이 좀 더 편한 것 같습니다. 라이브러리도 많고 데이터 다루는 문법이 좀 더 직관적이에요.
01:40
Speaker A
그리고 생산성이 굉장히 효과적인 것 같습니다. 다른 언어에 비해 굉장히 읽고 쓰기도 편하고 AI가 코드를 짤 때 코드량이 적어서 좀 더 효과적으로 작업을 할 수 있어요. 이렇게 둘로 나눠 놓으니까 좋은 점이 뭐냐면 프론트 작업하는 사람은 백엔드 신경 안 써도 돼요.
01:46
Speaker A
백엔드 작업하는 사람은 화면 디자인 신경 안 써도 되고요. 각자 자기 영역에서 빠르게 움직일 수 있어요.
01:59
Speaker A
물론 저 같은 경우에는 모노레포에서 프론트엔드와 백엔드를 한 곳에다가 모아놓은 그런 레포지터리를 쓰고 있습니다. 자, 이렇게 DDD에다가 넥스트와 파이썬 조합을 깔아 놓으면 뭐가 달라지냐? 새로운 프로그램 만드는 속도가 진짜 달라져요. 예를 들어 볼게요. 회원이 결제하면 알림 보내는 기능 하나 추가한다고 쳐요. 잘 깔린 코드 베이스에서는 어떻게 되냐면요. 결제 도메인에 가서 결제 완료됐을 때 이벤트 하나 발생시켜요. 알람 도메인에서 그 이벤트 받아서 처리하고요. 끝이에요. 다른 영역 건드릴 일이 거의 없어요. 이게 왜 빠르냐면요. 이미 결제 도메인, 알람 도메인이 각자 잘 정리되어 있으니까요. 그 위에 새 기능만 살짝 얹는 거예요. 마치 레고 블록 같은 거예요. 기반 블록이 잘 깔려 있으면 그 위에 새 모양 만드는 건 금방이거든요. 그리고 버그도 적어요.
02:05
Speaker A
왜? 영역이 분리되어 있으니까. 결제 코드 고쳤다고 회원 가입이 망가지는 일이 거의 없어요. 영역끼리 영향을 안 주거든요. 자, 잘 짜인 코드 베이스의 장점이었어요. 근데 반대로 이런 기반 없이 그냥 감으로 코딩하면 어떻게 될까요? 요즘 바이브 코딩이라는 말 들어 보셨을 거예요.
02:23
Speaker A
분위기대로, 느낌대로 코딩하는 거예요. 이게 왜 위험한지 지금부터 같이 보겠습니다. 자, 여기까지가 잘 짜인 코드 베이스의 장점이었어요.
02:35
Speaker A
근데 반대로 이런 기반 없이 그냥 감으로 코딩하면 어떻게 될까요? 요즘 바이브 코딩이라는 말 들어 보셨을 거예요. 분위기대로, 느낌대로 코딩하는 거예요. 이거 왜 위험한지 지금부터 같이 보겠습니다. 저는 아무런 베이스도 없이 맨 땅에서 코드를 짜는 걸 계획 없는 바이브 코딩이라고 불러요. 여기서는 바이브 코딩이라고 통칭할게요. 계획 없는 바이브 코딩이 처음에는 진짜 빨라요. 설계 안 해도 되고 구조 안 잡아도 되고 그냥 떠오른 대로 막 짜니까요. 한 일주일 정도는 결과물이 척척 나오는 것 같아요. 이거 왜 사람들이 어렵다고 하지 싶을 정도예요. 근데 문제는 한 달 뒤예요. 코드가 점점 엉키기 시작해요. 결제 로직이 화면 코드 안에 들어가 있고 회원과 주문 코드에서 직접 수정되고 한마디로 부서가 없는 회사가 되는 거예요.
02:55
Speaker A
누가 무슨 일 하는지 아무도 모르고 한 사람 일 바꾸면 옆 사람 일까지 다 망가져요. 비유 하나 더 들게요.
03:00
Speaker A
도면 없이 집을 지으면요. 처음엔 빠르거든요. 벽 세우고 지붕 얹고. 근데 2층 올리려고 보면 1층 벽이 그 무게를 못 버텨요. 결국 다 부수고 새로 지어야 해요. 코드도 똑같아요. 기초가 부실한 채로 기능 계속 쌓으면 어느 순간 무너져 버려요. 그 시점에 처음부터 다시 짜자 같은 말이 나오는 거고요. 또 하나는 디버깅이에요. 바이브 코딩으로 만든 프로그램에서 버그가 나면요. 어디서 시작된 건지 추적이 안 돼요.
03:18
Speaker A
결제 화면에서 오류 났는데 원인은 회원 쪽에 있고 그 회원은 또 주문 코드에서 건드리고 7타리처럼 엉켜서 한 줄 풀면 또 다른 줄이 엉켜요.
03:35
Speaker A
자, 그럼 두 상황을 깔끔하게 비교해 볼게요. 첫째, 초반 속도. 바이브 코딩이 훨씬 빠릅니다. 잘 짜인 코드 베이스는 처음 짤 때 시간이 좀 들거든요. 인정할 부분은 인정해야죠.
03:42
Speaker A
둘째, 한 달 뒤 속도. 여기서 뒤집혀요. 잘 짜인 코드 베이스는 새 기능 추가가 점점 더 쉬워져요. 기반이 탄탄하니까요. 바이브 코딩은 반대예요. 점점 더 어려워져요. 코드가 엉켜서 어디를 건드려야 할지 모르거든요. 셋째, 버그. 잘 짜인 코드 베이스는 버그가 영향을 국한해요.
03:58
Speaker A
결제 버그는 결제 안에서만 영향을 줘요. 바이브 코딩은 버그 하나가 사방으로 퍼집니다. 화면 버그인 줄 알았는데 데이터베이스까지 손대야 하는 일 흔해요. 넷째, 신규 인원 합류.
04:06
Speaker A
잘 짜인 코드 베이스는 새로운 개발자가 일주일이면 자기 일 시작해요. 폴더 구조만 봐도 어디서 뭘 하는지 보이거든요. 바이브 코딩은 한 달 지나도 헤매요. 이 변수는 왜 여기 있는 거예요? 물어볼 사람도 만든 본인밖에 없고요. 다섯째, 결과물 퀄리티. 이게 가장 중요해요. 기초가 부실하다면 결국 퀄리티 낮은 결과물이 나와요. 화면은 예뻐 보일 수 있어요. 근데 잠깐만 써 보면 느려지고 오류 나고 이상한 동작이 보여요. 사용자는 그걸 다 느끼거든요. 오늘 정리하면요, 잘 짜인 코드 베이스는 처음엔 좀 느려 보여도 길게 보면 훨씬 빠르고 안정적이에요. DDD로 도메인 나누고 프론트는 넥스트 JS, 백엔드는 파이썬처럼 각자 잘하는 도구 위에 쓰면 굉장히 만들 수 있는 게 많아져요. 또한 스킬 기반으로 해서 그동안의 어떤 템플릿들 그런 것들을 다 포매팅화시키고 스킬화를 시켜서 그 스킬 기반으로 코드를 짜게 되면 코드가 굉장히 안정적으로 잘 짜여집니다. 반대로 기반 없이 감으로만 가는 바이브 코딩은 처음만 빠르고 시간 지나면 더 느려지고 더 망가져요. 한 번에 무너지는 게 아니라 천천히 무너집니다. 그래서 더 위험해요. 아직 괜찮네 하다가 어느 날 손 쓸 수 없게 되거든요.
04:24
Speaker A
여러분이 만약 지금 새 프로젝트를 시작하시거나 아니면 이미 있는 프로젝트를 손보고 계시다면요, 한 번쯤은 이 코드 베이스가 1년 뒤에도 빠르게 움직일 수 있는 구조인가 자문해 보시면 좋아요. 그리고 사실 오늘 영상에 또 다른 이유가 하나 있어요. 저희가 지금까지 말씀드린 그 코드 베이스요. DDD로 도메인 나누고 넥스트 JS, 파이썬 스킬로 깔아 놓은 그 기반이요. 이거 저희가 직접 다듬어서 스킬샵에 올려뒀습니다.
04:38
Speaker A
새 프로젝트 시작할 때 빈 폴더에서부터 구조 잡고 도메인 나누고 프론트, 백엔드 연결하고 이거 처음부터 다 하시려면 시간 진짜 많이 들어요.
04:48
Speaker A
저희가 그 시간 다 들여서 정리해 둔 걸 그대로 쓰실 수 있게 만들어 둔 겁니다. 관심 있으신 분은 영상 설명란에 링크 걸어 둘 테니까 한번 둘러봐 주세요. 직접 코드 받아서 열어 보시면 오늘 말씀드린 구조가 실제로 어떻게 생겼는지 바로 확인하실 수 있어요. 그리고 약속드린 이벤트요. 지금까지 설명드린 잘 짜여진 코드 베이스를 필요로 하시는 분들께 50% 할인된 가격에 드릴 예정입니다. 오늘 영상이 비슷한 고민하시는 분들께 조금이라도 도움 되셨으면 좋겠습니다. 특히나 이러한 코드 베이스가 있다면 이제 코드에 대해 전혀 모르시는 분들이라 하더라도 이 코드를 기반으로 해서 바이브 코딩을 하신다면 좀 더 웰 아키텍처드 된, 그러니까 유지보수 가능한 코드를 만들 수 있다는 점 그 점 명심해 가지고 이제 사용하시면 될 것 같습니다.
04:53
Speaker A
네, 오늘 영상도 시청해 주셔서 감사합니다. 스킬샵 많이 사랑해 주세요. 감사합니다.
05:09
Speaker A
짜자 같은 말이 나오는 거고요. 또 하나는 디버깅이에요. 바이브 코딩으로 만든 프로그램에서 버그가 나면요. 어디서 시작된 건지 추적이 안 돼요.
05:18
Speaker A
결제화면에서 오류 났는데 원인은 회원 쪽에 있고 그 회원는 또 주문 코드에서 건드리고 7타리처럼 엉켜서 한 줄 풀면 또 다른 줄이 엉켜요.
05:27
Speaker A
자, 그럼 두 상황을 깔끔하게 비교해 볼게요. 첫째, 초반 속도. 바이브 코딩이 훨씬 빠릅니다. 잘 짜인 코드 베이스는 처음 짤 때 시간이 좀 들거든요. 인정할 부분은 인정해야죠.
05:38
Speaker A
둘째, 한 달 뒤 속도 여기서 뒤집혀요. 잘자인 코드 베이스는 세 기능 추가가 점점 더 쉬워져요.
05:44
Speaker A
기반이 탄탄하니까요. 바이브 코딩은 반대예요. 점점 더 어려워져요. 코드가 엉켜서 어디를 건드려야 할지 모르거든요. 셋째, 버그. 잘자인 코드 베이스는 버그가 영향을 갖춰요.
05:53
Speaker A
결제 버그는 결제 안에서만 영향을 줘요. 바이브 코딩은 버그 하나가 사방으로 퍼집니다. 화면 버그인 줄 알았는데 데이터베이스까지 손대야 하는 일 흔해요. 넷째, 신규 인원 합류.
06:04
Speaker A
잘자인 코드 베이스는 새로운 개발자가 자 일주일이면 자기 일 시작해요. 폴더 구조만 봐도 어디서 뭘 하는지 보이거든요. 바이브 코딩은 한 달 지나도 헤매요.이 변수는 왜 여기 있는 거예요? 물어볼 사람도 본 만든 본인밖에 없고요. 다섯째, 결과물 퀄리티. 이게 가장 중요해요. 기초가
06:19
Speaker A
부실이라면 결국 퀄리티 낮은 결과물이 나와요. 화면은 예뻐 보일 수 있어요. 근데 잠깐만 써 보면 느려지고 오이 나고 이상한 동작이 보여요. 사용자는 그걸 다 느끼거든요. 오늘 정리하면요. 잘 짜인 코드 베이스는 처음엔 좀 느려 보여도 길게 보면 훨씬 빠르고 안정적이에요. d디d로 도메인 나누고
06:36
Speaker A
프론트는 넥js 백인드는 파이썬처럼 각자 잘하는 도구 위에 쓰면 굉장히 만들 수 있는게 많아져요. 또한 스킬 기반으로 해 가지고 그동안의 어떤 템플릿들 그런 것들을 다 포매팅화시키고 스킬화를 시켜 가지고 그 스킬 기반으로 코드를 짜게 되면 코드가 굉장히 안정적으로 잘 짜여집니다. 반대로 기반 없이
06:56
Speaker A
감으로만 가는 바이브 코딩은 처음만 빠르고 시간 지나면 더 느려지고 더 망가져요. 한 번에 무너지는게 아니라 천천히 무너집니다. 그래서 더 위험해요. 아직 괜찮네 하다가 어느 날 손 쓸 수 없게 되거든요.
07:07
Speaker A
여러분이 만약 지금 새 프로젝트를 시작하시거나 아니면 이미 있는 프로젝트를 손보고 계시다면요. 한 번쯤은이 코드 베이스가 1년 뒤에도 빠르게 움직일 수 있는 구조인가 자문해 보시면 좋아요. 그리고 사실 오늘 영상에 또 다른 이유가 하나 있어요. 저희가 지금까지 말씀드린 그 코드 베이스요. D디D로 도메인
07:23
Speaker A
나누고 넥제이스 스킬 파이썬 스킬로 깔아 놓은 그 기반이요. 이거 저희가 직접 다듬어서 스킬샵에 올려뒀습니다.
07:30
Speaker A
새 프로젝트 시작할 때 빈 폴더에서부터 구조 잡고 도메인 나누고 프론트 백엔드 연결하고 이거 처음부터 다 하시려면 시간 진짜 많이 들어요.
07:38
Speaker A
저희가 그 시간 다 들여서 정리해 둔 걸 그대로 쓰실 수 있게 만들어 둔 겁니다. 관심 있으신 분은 영상 설명란에 링크 걸어 둘테니까 한번 둘러봐 주세요. 직접 코드 받아서 열어 보시면 오늘 말씀드린 구조가 실제로 어떻게 생겼는지 바로 확인하실 수 있어요. 그리고 약속드린
07:54
Speaker A
이벤트요. 지금까지 설명드린 잘 짜여진 코드 베이스를 필요로 하시는 분들께 50% 할인된 가격에 드릴 예정입니다. 오늘 영상이 비슷한 고민하시는 분들께 조금이라도 도움되셨으면 좋겠습니다. 특히나 이러한 코드 베이스가 있다면 이제 코드에 대해 가지고 전혀 모르시는 분들이라더라도이 코드를 기반으로 해서 바이브 코딩을 하신다면 좀 더 웰
08:17
Speaker A
아키텍처드 된 그러니까 유지보수 가능한 코드를 만들 수 있다는 점 그 점 명심해 가지고 이제 사용을 하시면 될 거 같습니다.네 오늘 영상도 시청해 주셔서 감사합니다. 스킬샵 많이 사랑해 주세요. 감사합니다.
Topics:코드베이스도메인주도설계DDD넥스트JS파이썬바이브코딩프로젝트관리소프트웨어개발유지보수개발속도

Frequently Asked Questions

DDD가 무엇이며 왜 중요한가요?

DDD는 도메인 주도 설계로, 비즈니스 단위별로 코드를 분리해 역할과 책임을 명확히 하는 설계 방법입니다. 이를 통해 코드가 깔끔해지고 유지보수가 쉬워집니다.

바이브 코딩이 왜 위험한가요?

바이브 코딩은 계획 없이 감으로 코딩하는 방식으로 초기에는 빠르지만 시간이 지나면서 코드가 엉키고 버그가 확산되어 유지보수가 어려워집니다.

메이커 에반이 추천하는 기술 스택은 무엇인가요?

프론트엔드는 넥스트JS를, 백엔드는 파이썬을 사용하여 각자의 강점을 살리고 역할 분담을 통해 효율적인 개발을 권장합니다.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →