핵심 요약
AI가 코드를 빠르게 생성하면서 개발자의 역할은 "직접 작성자"에서 "설계자·검토자·품질 관리자"로 이동하고 있다.
하지만 AI가 만든 코드는 동작할 수는 있어도 유지보수성, 보안, 성능, 설계 품질까지 자동으로 보장하지는 않는다.
핵심 역량은 코드를 덜 치는 능력이 아니라, 무엇을 만들지 정확히 정의하고 결과물을 판단하는 능력이다.
"개발자는 끝났다"라는 주장
논쟁의 출발점은 유명 개발자 Uncle Bob이 AI가 인간보다 훨씬 많은 코드를 작성하게 될 것이며, 앞으로 개발자가 직접 코드를 쓰는 시대는 끝났다고 말한 데 있다.
이 주장은 "코딩"을 키보드로 문법에 맞춰 명령어를 입력하는 행위로 본다면 어느 정도 설득력이 있다.
과거에는 어셈블리어를 직접 쓰던 일이 고급 언어로 대체되었고, 이후 프레임워크와 자동 생성 도구가 반복 코드를 줄였다.
AI는 이 흐름의 다음 단계처럼 보인다.
코딩은 사라지는가, 언어가 바뀌는가
반대 의견은 "코딩이 끝난 것이 아니라, 코딩 언어가 더 인간적인 형태로 바뀌는 것"에 가깝다.
프로그래밍은 본질적으로 컴퓨터에게 원하는 결과를 지시하는 일이다.
예전에는 카드에 구멍을 뚫었고, 이후에는 BASIC, Java, Python 같은 언어를 썼으며, 이제는 자연어로 요구사항을 설명하는 방식이 추가되고 있다.
즉 "영어로 프로그램한다"는 말은 과장이지만, 자연어가 새로운 추상화 계층이 되고 있다는 점은 분명하다.
AI가 잘하는 일: 반복 코드와 초안 생성
AI는 보일러플레이트 코드, CRUD, 에러 처리, 테스트 초안, API 연결처럼 반복적이고 패턴이 뚜렷한 작업에서 강하다.
예를 들어 파일 열기 실패를 처리하는 단순 코드를 사람이 대충 쓰는 대신, AI는 다양한 실패 원인과 메시지를 포함한 더 풍부한 예외 처리를 빠르게 만들 수 있다.
이런 영역에서는 개발자가 "어떻게 한 줄씩 쓸까"보다 "무엇을 처리해야 하는가"에 집중할 수 있다.
AI가 약한 일: 좋은 코드의 판단
AI가 만든 코드는 겉으로는 작동하지만 내부 구조가 취약할 수 있다.
권한 처리, 결제 로직, 상태 관리처럼 복잡한 영역에서는 당장 테스트를 통과해도 나중에 작은 변경 하나가 여러 기능을 망가뜨릴 수 있다.
이는 신입 개발자 여러 명에게 급하게 기능을 맡겼을 때와 비슷하다.
많이 만들 수는 있지만, 좋은 구조로 만들었다는 보장은 없다.
테스트만으로는 부족하다
일부는 앞으로 코드 리뷰보다 테스트 검증이 중요해질 것이라고 본다.
하지만 테스트는 "이미 예상한 문제"를 잡는 데 강하고, 구조적 취약성이나 미래의 변경 비용을 완전히 막지는 못한다.
예를 들어 로고만 바꿨는데 인보이스 계산이 깨지는 시스템은 테스트 부족만의 문제가 아니다.
관심사의 분리, 의존성 관리, 모듈 설계 같은 코드 품질 문제가 숨어 있는 것이다.
자연어는 강력하지만 애매하다
AI에게 자연어로 지시하는 방식은 편리하지만, 자연어 자체가 모호하다는 한계가 있다.
"권한을 잘 처리해줘"라는 말은 사람마다 다르게 해석될 수 있다.
수학 공식이나 프로그래밍 언어가 존재하는 이유는 바로 이런 모호함을 줄이기 위해서다.
AI가 자연어를 코드로 바꿔주는 도구가 되더라도, 요구사항을 명확히 쓰는 능력은 더 중요해진다.
AI 코딩의 비결은 기술적 깊이
AI를 잘 쓰려면 단순히 영어를 잘하는 것만으로는 부족하다.
좋은 결과를 얻으려면 아키텍처, 보안, 성능, 테스트, 유지보수성에 대한 판단력이 필요하다.
의학 지식이 없는 사람이 AI에게 논문을 쓰게 해도 그 내용이 맞는지 판단할 수 없는 것과 같다.
개발 지식이 없는 사람도 AI에게 앱을 만들게 할 수는 있지만, 그것이 안전하고 확장 가능한지는 알기 어렵다.
일자리는 줄어들까, 형태가 바뀔까
역사적으로 더 쉬운 도구가 등장할수록 프로그래머 수는 오히려 늘었다.
고급 언어, 프레임워크, 클라우드, 자동화 도구는 개발을 쉽게 만들었지만, 동시에 더 많은 소프트웨어 수요를 만들었다.
자동차가 말 관련 일자리를 줄였지만, 도로, 정비, 제조, 물류, 연료, 교통 시스템이라는 거대한 산업을 만든 것과 비슷하다.
AI도 일부 역할을 줄이겠지만, 소프트웨어를 만들고 관리하는 새로운 역할을 늘릴 가능성이 크다.
인사이트
AI 시대의 개발자는 "타이핑하는 사람"보다 "품질을 책임지는 사람"에 가까워진다.
실용적으로는 AI에게 코드를 맡기되, 설계 의도·보안·성능·유지보수성을 직접 검토해야 한다.
가장 위험한 태도는 "AI가 돌아가는 코드를 만들었으니 끝났다"는 생각이다.
앞으로 강한 개발자는 코드를 많이 쓰는 사람이 아니라, AI가 만든 결과물에서 무엇이 위험한지 알아보는 사람이다.
Source : Uncle Bob: It's over : r/vibecoding
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.