Development··6 min read

AI가 대체할 수 없는 개발자의 역할

AI가 코드를 잘 짜는 시대에, 개발자로서 정말 가치 있는 일은 뭘까

점심시간에 말문이 막혔다

얼마 전 입사 2년 차 후배가 점심을 먹다 물었다. "형, AI가 이렇게 코드를 잘 짜면 우리는 뭘 해야 해요?" 김치찌개 국물을 떠먹다가 멈칫했다. 뻔한 위로를 하기 싫었고, 솔직히 나도 가끔 드는 생각이라.

그날 저녁부터 며칠간 생각했다. 내가 하는 일 중에서 AI가 정말 못하는 게 뭘까.

코드는 인정하자, 이미 잘 짠다

단순한 CRUD, API 연동, UI 컴포넌트. 이런 작업에서 AI는 이미 중급 개발자 수준이다. 어쩌면 그 이상이다. 보일러플레이트 짜는 속도는 사람이 AI를 못 이긴다. 2024년에 "AI가 주니어를 대체할 것이다"라는 예측이 있었는데, 정확히 맞지는 않았지만 방향은 맞았다. 주니어가 사라진 게 아니라, 주니어한테 기대하는 게 달라졌다.

문제를 정의하는 건 사람 몫이다

AI는 "이 함수를 최적화해줘"에는 탁월하다. 근데 "우리 서비스에서 사용자가 이탈하는 이유가 뭘까?"에는 답 못 한다. 로그 분석해줄 수는 있지만, 어떤 데이터를 봐야 하는지, 어떤 가설을 세워야 하는지는 사람이 결정해야 한다.

내가 최근에 한 가장 가치 있는 일은 코드를 짠 게 아니었다. "장바구니에서 결제까지 전환율이 낮은 이유가 결제 페이지 로딩 속도 때문"이라는 가설을 세우고 검증한 거였다. 결제 페이지 LCP를 3.2초에서 1.1초로 줄이니 전환율이 체감상 확실히 올라갔다. (정확한 수치는 회사 기밀이라 못 쓰겠다.)

코드 밖의 맥락을 이해하는 일

"이 코드 리팩토링해줘"라고 하면 AI가 깔끔하게 해준다. 근데 "이 코드는 2주 뒤에 결제 시스템 전환이 예정되어 있어서 지금 건드리면 또 바꿔야 하니까 그냥 두는 게 나아"라는 판단은 AI가 못한다. 비즈니스 맥락, 팀 상황, 기술 부채 우선순위 같은 것들은 코드 밖에 있다. AI는 코드 안의 세계에서는 뛰어나지만, 코드 밖은 못 본다.

사람이랑 이야기하는 일

기획자가 "이거 되나요?"라고 물어볼 때. "기술적으로 가능합니다"와 "이번 스프린트에 이걸 넣으면 다른 일정이 밀리는데, 간소화 버전을 먼저 내는 건 어떨까요?"는 완전히 다른 대답이다. 이해관계자랑 기술적 트레이드오프를 논의하고, 비개발자가 이해할 수 있는 말로 제약을 설명하고, 팀에서 합의를 이끌어내는 일. 이건 사람의 영역이다.

새벽 3시에 전화 받는 일

장애 알림이 울렸을 때 달려와서 문제를 해결하고, 원인을 분석하고, 재발 방지 대책을 세우는 건 AI가 못한다. AI가 "이 에러의 원인은 이것일 수 있습니다"라고 제안할 수는 있지만, 실제로 운영 환경에 핫픽스를 배포하고 결과에 책임을 지는 건 사람이다.

책임이라는 건 결국 신뢰의 문제다. "이 사람이 만들었으니 믿을 수 있다"는 감각. AI는 도구이지, 신뢰의 대상은 아니다.

후배한테 뭐라고 했냐면

며칠 뒤 후배한테 이렇게 말했다. "코드 잘 짜는 건 이제 기본이고, 그 코드가 왜 필요한지 설명할 수 있는 사람이 살아남을 거야." 근사한 대답이었는지는 모르겠다. 솔직히 나도 확신은 없다. 근데 적어도 뻔한 위로보다는 솔직한 대답이었다고 생각한다. 아마도.

관련 글