“코드를 한 줄도 열어보지 않고 기능을 배포했다.” Tim O’Brien이 최근 경험한 일입니다. 드래그 앤 드롭 기능이 필요했던 그는 AI 코딩 도구 Cursor에게 요청했고, 생성된 코드를 테스트만 돌려본 뒤 바로 프로덕션에 배포했죠. 디버깅은커녕 코드 리뷰조차 하지 않았습니다.
이게 미래가 아니라 지금 일어나고 있는 현실이라면? O’Brien은 한 걸음 더 나아가 “디버깅의 종말”이라는 도발적 주장을 펼칩니다. AI가 처음부터 버그 없는 코드를 작성하면, 개발자의 핵심 업무였던 디버깅 자체가 사라질 수 있다는 겁니다.

O’Reilly의 Tim O’Brien이 O’Reilly Radar에 발표한 글에서 “디버깅의 종말”을 예고했습니다. AI 코딩 도구가 코드 작성을 넘어 테스트와 디버깅까지 자동화하면서, 개발자의 역할이 근본적으로 재정의되고 있다는 분석입니다.
출처: The End of Debugging – O’Reilly Radar
이미 시작된 변화: Vibe Coding의 시대
OpenAI 공동창업자 Andrej Karpathy가 만든 용어 “Vibe Coding”은 개발자가 더 이상 코드를 직접 작성하지 않는 시대를 의미합니다. 마치 라떼를 마시며 AI 챗봇에게 지시만 내리는 것처럼요. 챗봇이 코딩하고, 에러를 체크하고, 디버깅까지 다 처리합니다.
Karpathy는 이를 “주말 프로젝트용”이라고 농담처럼 말했지만, 현실은 다릅니다. 많은 기업들이 이미 프로덕션 코드 작성에 AI를 적극 활용하고 있죠. 빠른 배포, 불가능했던 데드라인 달성이 가능해졌습니다. 문제는? 절반만 완성된 프로토타입, 프로덕션에서 터지는 코드, 그리고 왜 작동하는지조차 모르는 개발자들입니다.
O’Brien의 경험은 이보다 한 단계 더 나아갑니다. 그는 코드를 리뷰하지 않은 게 태만이 아니라고 말합니다. “필요가 없어서”였다는 겁니다. 테스트가 통과하고 기능이 정상 작동하면, 모든 줄을 일일이 확인할 이유가 없다는 거죠. 이미 Airbus는 조종사들에게 난기류에서도 자동조종장치를 끄지 말라고 권고합니다. 컴퓨터는 패닉에 빠지지도, 과도하게 반응하지도 않으니까요. 소프트웨어 시스템도 같은 방향으로 가고 있습니다.
디버깅이 정말 사라질까?
O’Brien은 우리가 이미 완전히 이해하지 못하는 시스템과 함께 살고 있다고 지적합니다. 그가 대학에서 배운 건 1990년대 FPGA로 8비트 마이크로프로세서를 설계하는 것이었습니다. 하지만 지금 그가 쓰는 Apple M4 칩을 명령어 하나하나까지 완전히 이해할까요? 개념적으로는 알지만, 세부적으로는 모릅니다. 그리고 그건 괜찮습니다.
네덜란드 컴퓨터 과학자 Edsger W. Dijkstra의 말처럼, “추상화의 목적은 모호해지는 게 아니라 새로운 의미 수준을 만드는 것”입니다. 우리는 이미 모든 트랜지스터를 신경 쓰지 않고 프로세서, 운영체제, 프로그래밍 언어 수준에서 설계합니다. AI 코드 생성은 이 “빌딩 블록”을 다시 한번 재정의하려 하고 있습니다.
현실적으로 디버깅이 완전히 사라지진 않을 겁니다. 하지만 그 빈도와 성격은 확실히 바뀔 것입니다. 프로덕션 시스템은 이미 스스로를 모니터링하고, 장애를 예측하고, 사람이 알아채기 전에 조용히 고쳐나가고 있습니다. Elastic, Grafana, Splunk 같은 모니터링 도구들도 소프트웨어가 스스로 진단하고 수정하는 세상에서 새로운 가치를 찾아야 할 겁니다.
그렇다면 개발자는 무엇을 하나?
KDnuggets의 Rosidi는 명확한 답을 제시합니다. “AI가 할 수 없는 일을 하라.” 구체적으로는 다음과 같습니다.
문제를 정의하는 사람: AI는 모호하고 불완전한 요구사항을 명확한 기술 명세로 바꾸지 못합니다. “사용자가 원하는 게 뭔지” 파악하고, 그걸 시스템이 이해할 수 있는 언어로 번역하는 건 여전히 사람의 몫입니다.
시스템을 설계하는 사람: AI는 코드를 짤 수 있지만, 아키텍처를 설계하지는 못합니다. 어떤 데이터베이스를 쓸지, 어떻게 확장할지, 장애 시나리오는 어떻게 대응할지 같은 결정은 경험과 판단이 필요합니다. 코드가 개발 환경에서 잘 돌아가는 것과 프로덕션에서 실제 트래픽을 견디는 건 완전히 다른 문제니까요.
비즈니스와 기술을 연결하는 사람: 데이터가 어떻게 생성되고 변환되고 소비되는지 이해하고, 그게 비즈니스에 어떤 의미인지 해석하는 능력. AI는 차트를 만들 수 있지만, 어떤 차트가 의사결정에 중요한지는 모릅니다.
프로덕션을 디버깅하는 사람: 아이러니하게도, AI가 작성한 코드를 프로덕션에서 디버깅하는 건 여전히 사람의 일입니다. 로그를 해석하고 근본 원인을 찾아내는 능력은 LLM이 대체할 수 없습니다.
불안이 아닌 본질로의 회귀
많은 개발자들이 AI 때문에 일자리를 잃을까 불안해합니다. 하지만 다르게 생각해볼 수도 있습니다. 우리는 이제 반복적이고 지루한 코딩 작업에서 해방되어, 정말 중요한 문제—무엇을 만들 것인가, 어떻게 설계할 것인가, 왜 필요한가—에 집중할 수 있게 되는 겁니다.
O’Brien의 표현처럼, 우리는 “더 강력한 원시 도구(primitives)”를 갖게 되는 겁니다. 덜 아는 게 아니라 더 높은 수준에서 사고할 수 있게 되는 거죠. 엔지니어의 본질은 코드를 타이핑하는 게 아니라 문제를 해결하는 것이었으니까요.
Rosidi가 경고하듯, “진짜 코딩을 아는 전문가”는 곧 다시 각광받을 겁니다. AI가 쏟아낸 반쪽짜리 코드를 누군가는 고쳐야 하니까요. 그때까지 살아남으려면? AI가 할 수 없는 것—사고하고, 판단하고, 설계하고, 의미를 만드는 능력—을 갈고닦아야 합니다.
디버깅의 종말은 개발자의 종말이 아닙니다. 오히려 개발자가 진짜 개발자다운 일을 할 수 있는 시대의 시작일 수 있습니다.
참고자료:
- Finding Meaningful Work in the Age of Vibe Coding – KDnuggets
- Your AI Pair Programmer Is Not a Person – Medium (원문)
- The Purpose of Abstraction – Edsger W. Dijkstra

답글 남기기