AI가 짠 코드, 진짜 써보면 개발자는 미쳐갑니다

‘기획자’보다 ‘AI’가 더 말을 많이 하는 세상에서, 나는 코딩을 한다

혹시 모바일 앱 개발 외주 맡겨보신 적 있으세요?
혹은, 프리랜서 개발자한테 이렇게 말해본 적 있나요?
“이거 ChatGPT가 만들어준 코드인데요, 한번 써보실래요?”

음… 사실 저도 처음엔 고마웠어요.
AI가 짠 코드가 그럴싸해 보였거든요.
근데 요즘은요, 그냥 말 그대로 답이 없습니다.
진짜, 미쳐버릴 것 같아요.

저는 모바일 개발만 15년 넘게 해온 프리랜서입니다.
그동안 수많은 앱을 처음부터 끝까지 혼자서 만들어왔고,
그게 제 자부심이었어요.

근데 요즘, AI가 짠 코드가 실무에 쏟아져 들어오면서
이 업이 망가지고 있다는 생각을 지울 수가 없습니다.


1. 예전엔, 진짜 ‘기획’이 있었어요

기획자가 주는 피그마 + 기능 목록 → New Project → 코드 시작

이제는 상상도 못 할 일이지만,
불과 몇 년 전까지만 해도 외주 프로젝트는 이렇게 시작됐어요.

  • 클라이언트가 피그마(디자인 툴) 링크와
  • 로그인, 결제, 알림 같은 기능 목록을 보내주면
  • 저는 Xcode(애플 공식 개발툴)에서 New Project → 새 프로젝트 생성
  • git init으로 버전 관리 시작하고
  • 코드 구조, 네이밍, 커밋 메시지 다 깔끔하게 잡고

2~3개월 뒤면 알파 버전(초기 테스트 빌드)이 나와요.
그리고 클라이언트는 놀랍니다.

“헐… 이거 제가 상상한 그 앱 맞아요?”

이게 진짜 보람이었어요.
좋은 설계, 예쁜 코드, 성능까지 챙기는 개발자의 실력을 인정받는 순간이었죠.


2. AI가 짠 코드, 처음엔 그냥 참고용이었어요

지금 이 변화는, 아마 2~3년 전쯤 시작됐을 거예요.
어느 날 클라이언트가 말하더라고요.

AI가 짠 코드

“이 코드, AI가 짠 건데요? 괜찮은 코드인지 봐주세요.”

그때까진 그냥 짧은 코드 블럭 몇 개였어요.
예를 들면 버튼을 누르면 뷰가 전환되는 기능,
화면 아래에 토스트 메시지 띄우기 같은 거요.

항상 이렇게 대답했죠.

“넵, 저도 비슷한 코드 짜봤어요. 걱정 마세요~”

근데요. 문제는 이 AI가 짠 코드가
점점 더 커지고, 복잡해지고, 전체 기능 수준으로 변해간다는 거예요.

이제는 로그인부터 결제, API 호출까지
전부 AI가 만들어서 보내줘요.
근데… 문제는, 그걸 바로 쓸 수 없다는 겁니다.

  • 변수명은 제 코드 스타일과 다르고
  • 코드 구조도 복잡하게 얽혀 있고
  • 주석도 없고, 에러 처리도 허술해요

결국 저는 그걸 정리하느라 하루를 날립니다.
개발을 하는 건지, 정리 아르바이트를 하는 건지 모르겠어요.


3. 진짜 지옥은, ‘Vibe Coding’이 시작되면서부터예요

git push –force, 이모지, 1,227개 브랜치의 공포

어느 날, 클라이언트가 제 코드를 강제로 덮어썼어요.
전혀 예고도 없이 git push --force origin main을 해버렸더라고요.

git은 코드 버전을 관리하는 시스템이고, push는 변경사항을 서버에 반영하는 명령어예요. ‘push –force’는 말 그대로 기존 내용을 강제로 덮어쓰기 때문에, 협업 중엔 절대 쓰면 안 됩니다.

심지어 print() 함수에 이모지가 들어가 있어요.

print(“🚀 Launching App!”)
print(“💀 Something broke…”)

처음엔 유머인 줄 알았는데, 진심이더라고요.
알고 보니, AI가 짠 코드에 이모지가 자동으로 들어가는 경우가 꽤 많대요.
분위기 살리려고요. 뭐랄까, “코드에도 바이브가 필요하다”는 느낌?

근데 진짜 문제는 따로 있었어요.
GitHub를 열어보니… 브랜치가 1,227개.

브랜치는 개발 기능 단위로 나누는 작업 공간이에요. 보통 10~20개 정도로 관리하는데, 1,000개가 넘는 건 혼돈 그 자체입니다.

AI가 기능 하나 만들 때마다 자동으로 브랜치를 만든 건지
그 상태로 전혀 정리도 안 됐고,
어떤 게 실제 기능인지 알 수도 없었어요.


4. ContentView.swift 하나에 모든 코드가 들어있을 줄은 몰랐죠

MVVM? 파일 분리? 그런 거 없어졌습니다

SwiftUI 프로젝트를 만들면 기본으로 ContentView.swift라는 파일이 생겨요.
보통은 여기에 간단한 화면만 담고,
나머지 로직은 파일을 나눠서 구성합니다.

  • View (화면)
  • ViewModel (데이터 처리 로직)
  • Model (데이터 구조)
  • API 통신 코드

근데 그날, 클라이언트가 준 소스를 열어보니…
모든 게 ContentView.swift 하나에 들어있어요.

  • 로그인 로직
  • 사용자 데이터 저장
  • UI 레이아웃
  • 서버 통신

전부 다요.
몇천 줄이 한 화면에 쭉 이어져 있습니다.

그리고 그 코드의 대부분은…
또 나왔죠, AI가 짠 코드였습니다.

이게 더 무서운 건,
그 앱이 지금 앱스토어에 실제로 올라가 있다는 거예요.
그런 코드로 배포까지 된다는 현실.


5. 실무에서는 이거, 진짜 쓸 수가 없어요

빠르게 뽑자! → 그 뒤는 누가 책임지죠?

AI 좋습니다.
저도 GitHub Copilot, ChatGPT, Cursor 다 써요.
기본적인 반복 작업 줄이는 데는 최고죠.

근데 실무는 달라요.

AI가 짠 코드는 겉보기엔 돌아가지만,
속을 뜯어보면 구조가 완전히 망가져 있어요.

  • 변수명 통일 안 됨
  • 로직이 중복되거나 꼬여 있음
  • 디버깅(문제 찾기)이 어려움
  • 테스트 코드 없음
  • 아키텍처 무시

기획자분들, 가끔 이렇게 말씀하세요.

“이거 Copilot이 짠 코드인데, 그냥 이대로 써도 되지 않아요?”

진짜 말씀드리지만,
되긴 되는데, 나중에 큰일 납니다.

초기 MVP(Minimum Viable Product) 정도는 만들 수 있어요.
근데 나중에 로그인 방식 바꾸자고 하면?
구조가 다 꼬여 있어서 아무도 못 건드립니다.

결국 리팩토링(코드 재구성) 비용이
처음 개발비보다 더 많이 나올 수도 있어요.


6. 문제는 AI가 아니라, 팀워크가 사라졌다는 거예요

기획자-디자이너-개발자의 연결 고리가 끊어지고 있어요

AI가 짠 코드를 문제 삼자는 게 아니에요.
문제는, 그 코드가 사람 사이의 소통을 없앤다는 거죠.

예전에는 기획자가 화면 흐름 설계하고
디자이너가 실제 화면 디자인하고
개발자가 구조와 아키텍처 잡아서
함께 리뷰하면서 앱을 만들었어요.

이제는 그냥…

“이거, AI가 다 짰어요.”

그 한 마디로,
소통도, 책임도, 프로세스도 사라졌어요.
AI는 도구일 뿐이에요.
우리는 도구를 잘 써야 하지, 휘둘리면 안 됩니다.


이 글과 함께 보면 좋은 글

→ Reddit Answers 사건이 남긴 불편한 진실
→ Anthropic AI 데이터 포이즈닝 연구 결과, 단 250개 문서로 LLM 오염


7. 실무에서 ‘AI가 짠 코드’에 대해 가장 자주 묻는 질문

Q. AI가 짠 코드, MVP에는 써도 되나요?
네, MVP나 초기 테스트 단계에서는 빠른 프로토타이핑에 도움이 돼요.
하지만 나중에 수정, 유지보수하려면 구조가 튼튼해야 합니다.
AI가 짠 코드는 대부분 그런 준비가 안 돼 있어요.

Q. Notion + GPT 조합으로 기획도 하는데, 효과 있나요?
아이디어 정리에는 좋아요.
하지만 기능 흐름, 사용자 시나리오, 개발 전달용 문서로는 부족한 경우가 많아요.
사람이 최종 점검하고 보완하는 게 필수입니다.

Q. 앱스토어에 AI가 짠 코드로 만든 앱, 실제로 올라가나요?
네, 올라가긴 해요.
하지만 그 앱이 문제 생겼을 때 고칠 수 있는 사람이 없다는 게 더 큰 문제예요.
코드 품질, 유지관리성은 완전히 다른 이야기입니다.


AI가 짠 코드, 빠르게 무언가를 만들 수 있는 시대는 맞습니다.
하지만, 빠르다고 해서 좋은 코드인 건 아니에요.

개발자에게 필요한 건,
잘 돌아가는 코드가 아니라 잘 이해되는 코드입니다.
그리고 기획자에게 필요한 건,
도구가 아니라, 협업 가능한 구조예요.

혹시 여러분도 AI가 짠 코드 때문에 고생한 경험 있으신가요?
또는 이런 흐름이 반갑기도 한가요?
기획자든, 디자이너든, 개발자든
AI 시대에 느낀 변화들을 댓글로 나눠주세요.
우리끼리라도, 좀 덜 미쳐가면 좋잖아요.

출처: Vibe Coding is Mad Depressing