Good Code의 조용한 죽음

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

Source: Hacker News

“Good Code™”란 무엇인가?

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

소프트웨어 엔지니어로서의 나의 역할

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

사례 연구: Modal에서 커널 통합 재작성

Modal에서 일하는 동료가 Linux 커널과 깊이 통합된 외부 시스템을 다시 작성했다. 최초 재작성은 C 코드베이스를 Rust로 그대로 옮긴 것이었으며, 맞춤형 기능 작업을 위한 기반을 마련하기 위한 것이었다. 결과 코드는 나쁘지는 않았고, 비관용적인 Rust도 아니었지만 Good Code라고 할 수는 없었다. 읽기 어렵고, 확장·유지보수가 힘들었으며, 재작성 이유도 명확하지 않았다.

그 동료는 이후 커널 서브시스템과 원래 C 구현이 왜 그렇게 되었는지를 이해하는 데 시간을 투자하고, 직접 Rust 번역을 다시 작성했다. 차이는 밤과 낮처럼 뚜렷했다: 코드는 자연스럽게 흐르고, 스스로와 하위 시스템을 설명했으며, 전체 코드베이스 중 가장 깔끔한 부분이 될 수도 있었다. 원래 C보다 더 나은 경우도 있었는데, 이는 일반적으로 C가 더 나은 선택으로 여겨지는 상황에서도 마찬가지였다.

코딩 에이전트의 역할

몇 주, 어쩌면 몇 달 만에 처음으로 눈앞의 코드 라인에 흥미를 느꼈다. 나는 대부분의 날에 Good Code에 근접한 근사치를 작성하곤 했다. 어느 순간 모든 것이 바뀌었다. 요즘은 내가 커밋하는 대부분의 코드 첫 버전을 직접 쓰는 경우가 거의 없다. 옆에 에이전트가 있으면 훨씬 생산적이다. 그들은 코딩에 형편없지는 않지만 훌륭하다고는 할 수 없다. 그들이 만든 코드는 허용 수준이며, 작업을 수행하고 내 리트머스 테스트를 통과하지만, 확실히 Good Code는 아니다.

Good Code의 조용한 사망에 대한 성찰

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

Back to Blog

관련 글

더 보기 »

좋은 코드의 조용한 죽음

저는 경력을 시작하기 전부터, 중학생 시절 어릴 때부터 “Good Code™”를 작성하는 데 열정을 가지고 있습니다. “Good Code”란 무엇인가…

Go의 비밀스러운 삶: ‘defer’ 문

챕터 20: The Stacked Deck Ethan의 데스크탑 PC 팬이 크게 돌고 있었다. 그는 오류 메시지를 끊임없이 뿜어내는 터미널을 마치 부서진 불꽃처럼 바라보고 있었다.