좋은 코드의 조용한 죽음

발행: (2026년 2월 8일 오전 08:23 GMT+9)
5 분 소요

Source: Hacker News

“Good Code™”란 무엇인가?

Good Code는 읽고 이해하기 쉬운 코드이다.
Good Code는 개발하고 유지보수하기에 즐거운 코드이다.
Good Code는 특정한 이유를 위해 존재하고, 그 이상은 존재하지 않는 코드이다.
Good Code는 재능, 경험, 열정, 그리고 비즈니스에 즉시 도움이 되지 않을 수도 있는 시간 투자의 드문 조합으로 만들어진 산물이다. 그리고 안타깝게도 Good Code는 드물다.

그렇다고 해도, 나는 직업상 소프트웨어 엔지니어일 뿐이며 “컴퓨터 프로그래머”, “코더” 혹은 “좋은 코드를 작성하는 사람”이라는 의미를 내포하는 다른 직함은 아니다. 실제로 내 직함 자체가 코드를 읽거나 작성해야 한다는 것을 요구하지 않는다! 내 일은 실제 문제를 해결하는 유용한 소프트웨어를 만드는 것이다.

실제 사례

최근에 내가 일하는 Modal에서 동료가 Linux 커널과 깊게 통합된 외부 시스템을 다시 작성했다. 최초 재작성은 일부 커스텀 기능 작업을 준비하기 위해 C 코드베이스를 Rust 코드베이스로 단순히 번역한 것이었다. 결과 코드는 나쁘지도 않았고, 비관용적인 Rust도 아니었다. 하지만 Good Code도 아니었다. 읽고 이해하기 어려웠고, 확장·유지보수가 힘들었으며, 왜 우리가 이 추가 시스템을 다시 작성하고 유지해야 하는지조차 명확하지 않았다.

초기 재작성은 코딩 에이전트에 크게 의존했다.

그 동료는 이후 커널 서브시스템을 이해하고, 원래 C 프로그램이 그렇게 작성된 정확한 이유를 파악한 뒤, 직접 Rust 번역을 다시 작성했다. 차이는 밤과 낮을 가를 정도였다; 코드는 자연스럽게 흐르고, 스스로와 기반 서브시스템을 설명했으며, 전체 코드베이스 중 가장 멋진 부분 중 하나가 되었다—원래 C보다도 더 좋다고 생각한다, 비록 이 종류의 프로그램이 C를 Rust보다 사용하는 것이 더 적합하다고 할 수 있긴 하지만.

몇 주, 어쩌면 몇 달 만에 처음으로 일상에서 흔히 느꼈던 감정을 다시 느꼈다: 눈앞에 있는 코드 라인에 대한 흥분감. 나는 대부분의 날에 (대략적인) Good Code를 작성했다. 어느 순간 모든 것이 변했다. 요즘은 내가 커밋하는 대부분의 코드 첫 버전을 직접 쓰지도 않는다. 에이전트가 곁에 있으면 확실히 생산성이 훨씬 높다. 그들은 코딩에 끔찍 한 것은 아니지만, 훌륭하다고 할 정도는 아니다. 결국 그들이 내뱉는 코드는… 허용 수준이다. 작업을 수행하고, 내 리트머스 테스트를 통과하지만, 확실히 Good Code는 아니다.

미래에 대한 성찰

아마도 이러한 코드 라인에 대한 관심의 시대는 끝났을지도 모른다. Good Assembly나 Good Circuits에 열정을 가졌던 사람들도 그 열정이 “예전엔 이렇게 했었다”는 메아리 속에 조용히 사라졌을 것이고, 그들 및 그 분야가 발전하면서 잊혀졌을 것이다. (편향된) 내 관점에서 보면, 소프트웨어 엔지니어링의 변화는 독특하게 급작스럽게 느껴지며, 나는 Good Code의 조용한 사망을 애도하지 않을 수 없다.

Back to Blog

관련 글

더 보기 »

Good Code의 조용한 죽음

‘Good Code™’란 무엇인가? Good Code는 읽고 이해하기 쉬운 코드이다. 개발하고 유지보수하기에 즐겁다. 특정한 이유를 위해 존재한다—그리고 n...