코드를 쓰는 일은 병목이 아니었다: 진짜 어려운 건 이해와 협업


오랫동안 소프트웨어 엔지니어링에서 코드를 작성하는 일이 병목이라고 느껴본 적이 없었다고 글쓴이는 고백합니다. 실제로 개발 과정에서 시간을 가장 많이 잡아먹는 건 코드 작성이 아니라, 그 이후에 따라오는 여러 과정들이라는 거죠.

진짜 병목은 어디에 있을까? 🤔

코드를 쓰는 것보다 더 많은 시간과 노력이 들어가는 일들은 다음과 같습니다.

  • 코드 리뷰: 다른 사람이 쓴 코드를 꼼꼼히 읽고, 문제나 개선점을 찾는 과정
  • 지식 전달: 멘토링이나 페어 프로그래밍을 통해 서로 배우고 가르치는 일
  • 테스트와 디버깅: 코드가 제대로 동작하는지 확인하고, 버그를 잡는 과정
  • 조율과 소통: 여러 사람이 함께 일할 때 필요한 커뮤니케이션과 협업
  • 티켓 관리, 회의, 애자일 의식: 업무를 관리하고 계획하는 각종 절차들

이런 과정들은 품질을 높이기 위해 꼭 필요하지만, 오히려 코드 작성보다 더 많은 시간과 에너지를 요구합니다.
글쓴이는 이렇게 말합니다.

"이 모든 과정이, 코드 작성 그 자체보다 우리를 더 느리게 만든다. 왜냐하면 이 과정들은 생각, 공유된 이해, 그리고 올바른 판단을 필요로 하기 때문이다."

LLM(대형 언어 모델)이 바꾼 풍경

요즘은 Claude 같은 LLM 덕분에 코드를 훨씬 빠르게 만들 수 있게 됐습니다. 그래서 "이제야 코드 작성의 병목을 해결했다!"는 새로운 이야기가 나오고 있죠. 하지만 글쓴이는 이 주장에 동의하지 않습니다.

"새로운 소프트웨어를 추가하는 한계 비용은 거의 0에 가까워지고 있다. 하지만 그 코드를 이해하고, 테스트하고, 신뢰하는 데 드는 비용은? 그 어느 때보다 높아졌다."

즉, 코드를 만드는 건 쉬워졌지만, 그 코드를 제대로 이해하고 검증하는 일은 오히려 더 어려워졌다는 것입니다.


LLM은 일의 무게만 옮길 뿐, 없애주진 않는다 ⚖️

LLM이 코드를 빠르게 만들어주긴 하지만, 그 결과로 더 많은 코드가 시스템에 쏟아져 들어오고,
이를 검토하고 통합하고 유지보수하는 사람들에게 더 큰 부담이 생깁니다.

특히 이런 상황에서 문제가 두드러집니다.

  1. 작성자가 자신이 제출한 코드를 완전히 이해하지 못한 경우
  2. 생성된 코드가 기존과 다른 낯선 패턴을 도입하거나, 팀의 규칙을 깨는 경우
  3. 예상치 못한 예외 상황이나 부작용이 명확하지 않은 경우

결국, 코드를 만드는 건 쉬워졌지만, 검증하고 신뢰하는 건 더 복잡해진 셈입니다.
이런 현상은 예전부터 농담처럼 불리던 "복사-붙여넣기 엔지니어링"이
LLM 덕분에 훨씬 더 빠르고 대규모로 일어나고 있다는 점에서 심각해졌습니다.


코드를 이해하는 게 진짜 어려운 일 🧠

글쓴이는 이렇게 강조합니다.

"코드의 가장 큰 비용은 그것을 이해하는 데 있다 — 쓰는 데 있는 게 아니다."

LLM이 코드를 만들어주는 속도는 빨라졌지만,
코드의 동작을 논리적으로 파악하고, 미묘한 버그를 찾고,
장기적으로 유지보수할 수 있을지 판단하는 데 드는 노력
은 전혀 줄지 않았습니다.

오히려,

  • 생성된 코드와 사람이 직접 쓴 코드를 구분하기 어려워지고
  • 왜 이런 해결책을 선택했는지 맥락을 파악하기 힘들어지면서

리뷰어와 팀원들이 더 큰 어려움을 겪게 됩니다.


팀워크와 신뢰, 그리고 맥락의 중요성 🤝

소프트웨어 개발은 언제나 협업이 핵심입니다.
공유된 이해, 방향성의 일치, 멘토링이 필수적이죠.

하지만 LLM이 코드를 너무 빨리 만들어내면,
충분한 논의나 리뷰 없이 코드가 쌓이게 되고,
품질이 '보장'된다고 착각하는 위험
이 생깁니다.

이런 상황은 리뷰어와 멘토에게 더 큰 부담을 주고,
겉으로는 빨라진 것 같아도 실제로는
더 느려지거나, 더 많은 문제가 쌓일 수 있습니다.


LLM의 힘과 한계: 기본은 변하지 않는다 ⚡️

LLM 덕분에 프로토타입 만들기, 뼈대 코드 작성, 자동화는 정말 빨라졌습니다.
하지만, 명확한 사고, 꼼꼼한 리뷰, 신중한 설계의 중요성은 오히려 더 커졌습니다.

"코드를 쓰는 비용은 정말로 줄었다. 하지만,
그 코드를 팀이 함께 이해하는 비용은 줄지 않았다."

마지막으로 글쓴이는 이렇게 강조합니다.

"그게 여전히 병목이다. 그 사실을 외면하지 말자."


요약 키워드 ✨

  • 코드 작성의 병목은 환상
  • 진짜 병목: 코드 리뷰, 지식 전달, 테스트, 디버깅, 협업
  • LLM은 코드 생산을 가속하지만, 검증과 이해의 부담을 키움
  • 코드 이해와 팀워크의 중요성은 변하지 않음
  • 기본에 충실해야 진짜 품질이 보장됨

이 글은 코드를 빨리 쓰는 것이 개발의 전부가 아니며,
이해, 검증, 협업이야말로 진짜 어려운 일임을
친절하게, 그리고 현실적으로 짚어줍니다.
LLM 시대에도 기본에 충실한 개발 문화
얼마나 중요한지 다시 한 번 생각하게 해주는 글이네요! 😊

함께 읽으면 좋은 글

함께 읽으면 좋은 글

HarvestAI한국어

에이전트가 ‘코딩’하고, 연구가 ‘루프’를 돌기 시작한 시대: 안드레이 카파시 대담 요약

안드레이 카파시는 최근 몇 달 사이 코딩 에이전트의 도약으로 인해, 사람이 직접 코드를 치기보다 “에이전트에게 의도를 전달하는 일”이 핵심이 됐다고 말합니다. 그는 이 흐름이 오토리서치(AutoResearch)처럼 “실험–학습–최적화”를 사람이 거의 개입하지 않고 굴리는 자율 연구 루프로...

2026년 3월 21일더 읽기
Harvest엔지니어링 리더십한국어

스타트업의 다음 시대정신을 찾아서: Beyond Product 요약

이 글은 AI 시대에 ‘좋은 제품’만으로는 경쟁우위를 지키기 어려워진 현실에서, 스타트업이 만들어야 할 다음 해자(방어력)가 무엇인지 추적합니다. 저자는 이를 제품 너머(Beyond Product)—즉 고객에게 도달하는 방식, 고객을 이해하는 깊이, 이를 조직 시스템으로 축적하는 능력—의...

2026년 3월 17일더 읽기
HarvestAI한국어

Claude 코드 서브 에이전트 vs 에이전트 팀: 무엇이 다를까요?

이 영상은 Shaw Talebi가 Claude 코드의 서브 에이전트와 에이전트 팀 기능을 자세히 설명하고, 실제 작업에 이 두 접근 방식을 비교하는 실험 결과를 공유합니다. 영상은 Claude 코드의 기본 개념부터 시작하여 AI 에이전트가 직면하는 문맥 처리의 한계, 그리고 이를 극복하기...

2026년 3월 16일더 읽기