우리는 결국 도둑떼처럼 한몫 챙기게 될 것이다
WebDriver를 만들고 Selenium 프로젝트를 이끄는 저자 Simon Stewart가, AI 코딩 시대가 결국 시니어 개발자의 몸값을 폭등시킬 것이라는 5년짜리 시나리오를 제시하는 에세이. 전체 과정이 대략 5년 걸릴 것으로 예상하며, 이미 1.5~2년 정도 지나온 상태라고 진단한다.
출발점: AI 모델은 이제 코딩에서 '완벽'까지는 아니어도 '충분히 쓸 만한' 수준에 도달했다 — 종종 주니어 개발자보다 낫다는 평가까지 받는다.
1단계 — 종자 옥수수를 먹어치우다: 같은 비용으로 훨씬 많은 토큰을 살 수 있게 되면서, 일부 기업들은 주니어 개발자를 불필요한 존재로 여기기 시작한다. 주니어 개발자 채용 공고가 말라붙고 있다는 보도와, AI가 신입 고용에 미치는 영향을 다룬 연구를 근거로 이미 벌어지고 있는 일이라고 짚는다.
2단계 — 코드베이스 팽창: LLM은 새 코드를 생성하는 걸 좋아하고, 방대한 학습 데이터 덕에 서드파티 라이브러리에서 흔히 가져다 쓰던 보조 함수·메서드들까지 스스로 다시 써낼 줄 안다. 그 결과 저장소 크기가 부풀어 오른다.
3단계 — 유지보수성 악화: AI는 코드를 정리하거나 중복을 줄이거나 유지보수성을 신경 쓰는 방향으로 움직이지 않는다. 아무리 큰 컨텍스트 윈도우라도 현대적인 저장소 전체를 담지 못해 놓치는 부분이 생기고, AI가 작성한 코드는 대체로 추가형이고 중복이 잦다.
4단계 — 복잡도·기술부채 폭증: 기계는 사람보다 복잡성에 대한 내성이 높아서, 더 높은 복잡도 예산과 기술부채를 감당할 수 있게 된다. 현대 AI는 코드를 읽고 제어 흐름을 따라가는 데 사람보다 빠르고 낫지만, '디버깅은 애초에 프로그램을 짜는 것보다 두 배 어렵다. 그러니 짤 때 최대한 영리하게 짰다면, 대체 어떻게 그걸 디버깅할 것인가?'라는 오래된 격언은 여전히 유효하다. 결국 어느 시점엔 기술부채와 복잡도가 AI조차 감당 못 할 만큼 커지고, 이미 인간 수준의 코드 복잡도를 자주 넘어서고 있다.
5단계 — 버그 총량 증가: 코드는 결코 버그로부터 자유롭지 않다. AI 생성 코드의 결함률은 대체로 사람이 짠 코드보다 높게 나타나지만, 설령 결함률 자체가 낮아진다 해도 워낙 많은 코드가 쏟아지니 전체 결함 수는 늘어난다. 코드가 제대로 구조화돼 있지 않으니 한 곳의 버그를 고쳐도 다른 곳까지 고쳐지지 않아, 결국 '두더지 잡기' 식으로 버그를 쫓아다니게 된다.
결과와 질문: 이렇게 우리는 (이미) 복잡하고 구조가 엉망이며 버그와 중복 코드로 가득한 코드베이스를 갖게 된다. 무엇을 지워야 할지, 어떤 추상화가 잘못됐는지, 접근 전체를 다시 생각해야 하는지 판단할 안목은 누구에게 있는가? 답은 명확하다 — 시니어 개발자.
그러나 공급이 줄어든다: 업계에는 자연 이탈에 더해, AI가 만들어낸 방대한 복잡성을 떠맡아야 하는 데서 오는 번아웃(심각한 번아웃이 22% 급증)까지 겹쳐 시니어 개발자들이 계속 빠져나간다. 주니어 채용을 멈췄으니 이들을 대체할 새 시니어 공급도 끊긴다. 그나마 살아남아 성장하는 이들도 'AI 이전의 삶'을 경험해보지 못했기에, 실력은 좋아도 유지보수 가능한 코드를 짜는 데는 꼭 뛰어나지 않을 수 있다. 이미 시장에서는 제 몫을 하는 시니어 엔지니어 자체가 병목이며, 안목 있는 숙련 개발자에 대한 수요가 그 어느 때보다 커질 것이라고 전망한다.
결론 — 경제학: 수요는 늘고 공급은 줄면 가격은 오른다. Y2K 전후 COBOL 프로그래머들이 겪었던 일이 똑같이 반복될 거라는 비유를 든다. 시니어 개발자들에게도 곧 '반짝이는 기회의 창'이 열릴 것이며, 지금 해야 할 일은 그저 웅크린 채 AI발 정리해고의 폭풍을 버텨내는 것뿐이라고 말한다. 그리고 그 끝에서 '우리는 결국 도둑떼처럼 한몫 챙기게 될 것'이라는 문장으로 글을 맺는다.