기타 Lobsters · 14시간 전

"잘못 짠 코드는 냄새부터 난다"… 빵 공장 알바 출신 개발자의 뼈 때리는 조언

핵심 요약
  • 빵 공장의 겉모습 대신 진짜 위생 기준을 깨달았던 경험처럼, 프로그래밍도 겉치레 스타일을 넘어 잠재적 결함을 꿰뚫어 보는 감각이 필요하다고 설명합니다.
  • 초보자는 들여쓰기나 중괄호 논쟁 같은 표면적인 규칙에 매달리지만, 숙련자는 겉보기에 멀쩡해도 버그를 부르는 '코드의 악취'를 감지합니다.
  • 궁극적인 목표는 잘못된 코드가 작성되었을 때 화면상에서 직관적으로 어색해 보이도록 코딩 규칙을 설계하는 수준에 도달하는 것입니다.
요약 조엘 온 소프트웨어(Joel on Software)의 조엘 스폴스키가 과거 대형 제빵 공장에서 일했던 경험을 빗대어 좋은 코드와 나쁜 코드를 구별하는 감각에 대해 설명한 고전 에세이입니다. 1983년 대형 빵 공장에서 첫 직장 생활을 시작했던 저자는 처음 공장에 들어섰을 때 변색된 오븐과 기름때를 보고 엉망진창이라고 생각했지만, 숙련된 제빵사들에게 '청결'이란 페인트칠 상태가 아니라 반죽이 기계나 바닥에 눌어붙지 않고 쓰레기통에서 발효되지 않는 실질적인 위생 상태를 의미했습니다. 기계에 발라진 깨끗한 기름층은 오히려 방금 청소를 끝마쳤다는 증거이기도 했습니다. 겉모습만 보는 외부인은 알 수 없지만, 두 달 정도 매일 청소를 해봐야 비로소 진짜 '깨끗함'을 볼 줄 아는 눈이 트인다는 것입니다. 저자는 프로그래밍 역시 이와 완전히 같다고 설명합니다. 초보 프로그래머는 단순 들여쓰기나 변수 대문자 표기 같은 '겉모습(코딩 스타일)'에 집착하며 며칠씩 중괄호 위치를 두고 싸우지만, 숙련될수록 겉으로는 정상 작동하고 문법적으로 완벽해도 '어딘가 위험한 냄새가 나는 코드'를 본능적으로 감지하게 됩니다. 예를 들어 C언어에서 포인터 선언 실수(`char* dest, src;`)나 단일 if문 블록에 중괄호를 생략하는 습관처럼 사소하지만 버그를 유발할 수 있는 흔적을 읽어내는 능력입니다. 결국 프로그래머의 성장은 단순 문법 습득(1단계)과 표면적 코딩 규칙 준수(2단계), 잠재적 냄새 감지(3단계)를 넘어, 잘못된 코드가 작성되었을 때 화면에서 즉각 이상해 보이도록 규칙 자체를 설계하는 '4단계'에 도달하는 것이 핵심이라고 강조합니다.
Sponsored · 광고