- 소프트웨어 개발에서 병목은 코드 작성이 아니라 코드 리뷰, 지식 이전, 테스트, 디버깅, 협업/소통 등 다양한 인간 중심 프로세스에서 발생함
- LLM 덕분에 코드 생성 자체는 매우 쉬워졌지만, 오히려 이해, 검증, 신뢰에 드는 비용과 부담은 더욱 커짐
- 빠른 코드 생성은 리뷰어·통합자·유지보수 담당자에게 더 많은 부담을 주며, 팀 전체의 속도가 실제로 빨라지지 않음
- 코드 이해가 가장 어려운 부분이며, LLM이 코드를 생성해도 팀의 신뢰와 맥락 공유 없이는 품질이 보장되지 않음
- LLM은 프로토타이핑·자동화엔 강력하지만, 신중한 설계·리뷰·공유 맥락 등 소프트웨어 개발의 기본을 대체하지 못함
코드 작성의 진짜 병목 지점
- 수년간 코드 작성 작업 자체는 소프트웨어 엔지니어링의 병목이 아니었음
- 실제 병목은 코드 리뷰, 멘토링과 페어 프로그래밍을 통한 지식 전달, 테스트, 디버깅, 협업·소통의 비용에서 발생
- 티켓 관리, 플래닝 회의, 애자일 미팅 등 복잡한 절차가 속도를 더 늦춤
- 품질 보장을 위한 이러한 과정들이 실제로는 코드 작성 자체보다 훨씬 많은 시간과 사고를 요구함
- 그러나 LLM 덕분에 동작하는 코드 생성 비용은 0에 수렴하고 있음
- 하지만 코드 이해, 테스트, 신뢰 확보 비용은 오히려 더 높아짐
- 초기 구현 속도는 빨라졌지만, 더 많은 코드가 리뷰/통합/유지보수 대상이 되어 부담 가중
LLM이 일의 본질을 바꾼다 – 제거하지는 않음
- Claude 같은 LLM 툴은 초기 구현 속도를 높여주지만, 결국 더 많은 코드가 더 짧은 시간에 시스템에 유입되면서 리뷰와 유지보수 담당자에게 더 큰 부담을 줌
- 특히 다음 상황에서 이 부담이 심화됨
- 작성자가 본인이 등록한 코드를 충분히 이해하고 있는지 불확실함
- 생성된 코드가 익숙하지 않은 패턴이거나 기존 컨벤션을 위배함
- 경계 조건 및 의도치 않은 부작용이 명확히 드러나지 않음
- 이로 인해 코드 생산은 쉬워져도, 검증 난이도는 더 높아지고 결과적으로 팀 전체 속도를 높이지 못함
- 원래 개발자들 사이에는 “복사-붙여넣기 엔지니어링” 에 대한 농담이 있었지만, LLM으로 이 현상이 훨씬 증폭됨
코드 이해가 진짜 어려움
“코드의 가장 큰 비용은 작성이 아니라 이해임”
- LLM 덕분에 코드 생산 자체는 빨라지지만, 동작을 추론하거나, 미묘한 버그를 찾거나, 장기 유지보수를 보장하는 작업은 결코 쉬워지지 않음
- 특히 리뷰어가 생성 코드와 직접 작성한 코드를 구분하지 못하거나, 선택한 풀이의 이유를 파악하기 어려울 때 더욱 어려워짐
팀은 여전히 신뢰와 공유 맥락에 의존함
- 소프트웨어 개발은 기본적으로 협업이 전제이며, 공유된 이해와 정렬(Alignment), 멘토링에 전적으로 의존함
- 코드가 논의 및 리뷰 속도보다 빠르게 생성될 때에는, 팀이 실제로는 품질을 확인하지 않았으면서도 품질이 이미 검증된 것처럼 착각하게 됨
- 이로 인해 리뷰어와 멘토의 심리적 부담이 커져 팀 전체의 속도가 새로운 방식으로 느려질 수 있음
LLM은 강력하지만 본질을 해결하지 못함
- 빠른 프로토타이핑, scaffold, 자동화에 LLM이 가치가 크지만 명확한 사고, 신중한 리뷰, 깊이 있는 설계의 필요성을 없애주진 않음
- 코드 작성 비용 자체는 하락했지만, 팀이 코드를 함께 이해하고 의미를 부여하는 비용은 변하지 않음
- 진짜 병목은 여전히 "이해와 협업"에 있음