코드는 싸지고, 책임은 비싸진다
코드가 공짜에 가까워질수록, 코드를 둘러싼 판단은 더 비싸진다. AI가 코드를 대신 써주는 시대가 오면, 사람 개발자는 사라질까? 내 결론은 정반대다. 개발자는 줄어들지 않는다. 오히려 개발은 더 넓게 퍼지고, "모두가 개발자"가 된다. 다만, 우리가 익숙했던 개발자의 이미지는 바뀐다. 이제 개발자는 키보드를 많이 치는 사람이 아니라, 정책을 세우고 관리하고 리뷰하고 뒷수습하는 사람이 된다. 첫째, AI는 '코드 생산'을 싸게 만든다. 기능 하나를 만들기 위해 필요한 문장 수, 시행착오 수, 검색 수가 줄어든다. 그 결과, 기존에는 개발팀의 대기열에 쌓이던 수많은 작은 요청들이 각 팀으로 분산된다. 마케팅은 캠페인 랜딩을 직접 만들고, 운영은 어드민 화면을 스스로 만든다. 그로스팀은 트래킹 기능을 스스로 심고, PM이나 기획은 프로토타입을 스스로 만들고, 디자이너는 피그마 없이 스스로 UI를 만든다. 프론트엔드는 백엔드 API를 직접 만들고, 백엔드는 프론트 컴포넌트를 직접 붙인다. "개발자만 코드 친다"는 전제가 무너진다. 어쩌면 이것이 더 정확한 미래상일 수 있다. 모두가 개발하되, 기존 프론트엔드 개발자는 프론트 정책관리자가 되고, 백엔드 개발자는 백엔드 정책관리자가 된다. 직군의 경계가 사라지는 게 아니라, 각 직군의 역할이 "코드 작성"에서 "영역 관리"로 이동하는 것이다. 그리고 실제 기능 개발은 누구나, 어느 영역이든 넘어서 하게 된다. 둘째, 그런데 책임은 싸지지 않는다. 코드를 '만드는' 비용이 내려가면, 시스템 전체의 변경량은 폭증한다. 변경이 많아지면 당연히 사고가 늘어난다. 장애, 보안, 데이터 손상, 비용 폭주, 규정 위반… 이 모든 것은 결국 누군가의 책임으로 남는다. 여기서 개발자의 역할이 SRE처럼 바뀐다. 즉, 개발자는 기능을 대량 생산하는 사람이 아니라, 기능이 안전하게 배포되고 관측되고 되돌려질 수 있게 만드는 사람이다. 이 역할 변화는 "정책"으로 드러난다. 예전엔 코드 리뷰가 스타일, 로직 중심이었다면, 이제는 "이 변경이 운영에서 안전한가?"가 핵심이 된다. 예를 들면 이런 질문들이다. 이 기능은 실패해도 안전하게 degraded 되는가? 타임아웃/리트라이/서킷브레이커는 있는가? 로그와 메트릭은 남는가? 경고는 누구에게 어떻게 가는가? 민감정보가 새지 않는가? 권한은 최소화했는가? 비용은 감당 가능한가? 롤백은 가능한가? 이런 흐름 속에서 TDD와 trunk-based 개발이 더 중요해진다. 테스트가 먼저 있어야 AI가 쏟아내는 코드를 신뢰할 수 있고, 브랜치를 오래 들고 가는 대신 작은 단위로 main에 계속 통합해야 변경의 충격을 줄일 수 있다. 기능 개발에 되돌아가기는 없다. 앞으로만 가되, 작게 가는 것이 원칙이 된다. 그래서 앞으로의 개발자는 "가드레일"을 만든다. 템플릿, 린터, CI/CD, 테스트, 권한 정책, 배포 정책, 관측(Observability), 런북, 포스트모템, 그리고 재발 방지를 자동화한다. 조직 관점에선 더 중요하다. 모두가 개발자가 되려면, 모두가 같은 레일 위에서 움직여야 한다. 그렇지 않으면 자유는 곧 혼돈이 된다. AI로 누구나 빠르게 만들 수 있는 만큼, 누구나 쉽게 망가뜨릴 수도 있다. 여기서 자주 나오는 반박은 "그럼 비개발자들이 운영까지 다 해야 하냐"인데, 답은 아니다. 운영은 직무가 아니라 체계다. 개발자는 그 체계를 설계하고, 자동화하고, 교육하고, 리뷰한다. 그리고 사고가 났을 때 가장 마지막에 남아 수습한다. 다시 말해 코딩은 '창작'이 아니라 '변경 작업'이고, 변경 작업은 운영의 일부다. 정리하면, AI 시대의 좋은 개발자는 코드를 잘 쓰는 사람보다 "안전하게 바꾸는 사람"에 가깝다. 코딩 능력은 기본 소양이 되고, 차이를 만드는 건 정책과 운영이다. 코드는 AI가 써줄 수 있다. 하지만 책임은 자동화되지 않는다. 그래서 개발자는 사라지지 않는다. 역할만 더 어려워진다.