하지만 양털 빗기는 재미있다.

발행: (2026년 6월 16일 PM 11:26 GMT+9)
13 분 소요

출처: 해커 뉴스

스스로 만드는 것의 즐거움 2019.07.31

KO | EN

이 블로그에서는 정적 사이트 생성기나 Jekyll, Hugo, 또는 Gatsby와 같은 프레임워크를 사용하지 않았습니다. 처음엔 몇 가지를 시도해 봤지만 커스터마이징 자유가 너무 적어 자체 블로그를 만들기로 결정했습니다. 초기에는 HTML로 포스트를 썼는데, 불편함이 커서 JSON 파일을 이용한 포스팅 시스템을 만들었습니다. 또 긴 글은 다루기 어려워 마크다운 파일을 HTML로 변환하는 서비스를 만들었습니다. 그리고 resulting files 를 컴파일하고 배포하는 도구를 만들었습니다. 결국 스스로 만든 정적 사이트 생성기가 완성되었습니다.

이러한 식의 일은 양 털 다듬기라고 불립니다. 이 용어는 MIT AI 연구소의 박사 과정 학생인 Carlin Vieri가 처음 사용했으며, 하나의 목표를 위해 연관된 작업들을 연속적으로 수행하다 보면 원래 목적을 완전히 잊어버리고 전혀 다른 일로 전락하게 되는 과정을 의미합니다. LangDev IRC에 나오는 예시를 보면 왜 ‘양 털 다듬기’라고 하는지 명확해집니다.

  • 나무를 베기 위해 도끼를 얻는다.
  • 도끼가 너무 둔해서 이를 갈아줄 돌을 찾으러 나선다.
  • 하지만 특정 마을에 아주 좋은 돌이 있다는 얘기를 듣는다.
  • 그 마을까지 양을 데려간다.
  • 양의 털이 너무 길어, 그걸 면도하기 시작한다.

또한 세스 고딘의 예시도 있다. 그는 기업가이자 마케터이자 저자이다.

  • “오늘 차를 씻어야겠다.”
  • “어, 호스가 망가졌어. 홈데폿에서 새 호스를 사는 게 낫겠어.”
  • “하지만 홈데폿은 탭판 제이브리지 너머에 있어. 통행료를 지나가야 하니 E‑ZPass가 필요해.”
  • “잠깐! 이웃에게 내 E‑ZPass를 빌릴 수 있을 것 같아.”
  • “하지만 밥은 내儿子이 빌린 베개를 돌려준 뒤에만 내 E‑ZPass를 빌려줄 거야.”
  • “베개에서 너무 많은 양 털이 떨어져서 그냥 줄 수는 없어. 양 털로 다시 채워야겠어.”
  • 그래서 차를 씻기 위해서 결국 동물원 가서 양을 면도한다.

이 두 이야기는 양 털 다듬기라는 용어가 만들어진 후에 나온 것이지만, 그 용어 자체는 다른 곳에서 시작되었습니다. Carlin Vieri는 화요일 밤 늦게 아이스하키를 한 뒤, 저녁 시간에 식사를 하면서 TV를 보던 중, The Ren & Stimpy Show의 ‘양 털 다듬기 날’ 에피소드가 방송되고 있었다고 합니다. 플롯은 다음과 같습니다:

‘양 털 다듬기 날’ 은 5일 휴가입니다. 렌과 스티피는 더러운 기저귀를 벽에 걸고, 콜스슬라프를 부츠에 붓습니다. 그리고 샤빙 크림과 면도날을 화장실에 놓고 마법의 카약에 탈면 면도한 양이 날아가와서 선물을 가져다준다고 기도합니다. 그 밤, 양은 욕조 배수구에서 나와 면도하고, sink에 선물을 남긴 뒤 다음과 같이 떠난다: “사용한 크림으로 만든 거품의 잔재”[1]

Carlin Vieri는 이를 이상하게 생각했다. 며칠 뒤, 행정 허가 obtention, DHL 계정 설정, 우체국 찾기와 같은 번거로운 서류 작업을 하느라 밤새우면서 동료에게 ‘양 털 다듬기’ 중이라고 말했다. 그 후 몇 달간 연구실 사람들 사이에서는 이 표현을 계속 사용했고, 용어가 퍼지게 되었다.[2] 이 만화는 매우 이상하고 소프트웨어와 거의 관련이 없기에 그 기원이 널리 알려져 있지는 않다.

엔지니어(또는 엔지니어링 팀을 이끄는 관리자)들이 자주 저지르는 실수는 “처음부터 만들기”입니다. 엔지니어가 기존 솔루션을 충분히 만족스럽지 않게 여기거나, 자신의 능력을 증명하고 싶어 할 수 있습니다. 고객이나 매니저는 기존 솔루션이 실제로 어떤 역할을 하는지에 대한 오해를 가질 수도 있고, 또는 해당 솔루션이 요구사항을 정확히 충족하지 않는다고 생각할 수 있습니다.

생산 프로젝트든 취미 프로젝트든, 대부분의 프로젝트는 예산과 시간 제한이 있습니다. 처음부터 만들면 결국 양을 면도하게 되며, 면도하기 시작하면 어디까지 이어질지 알 수 없습니다. 결국 원래 목표를 포기하게 됩니다. 이런 경우 가장 좋은 방법은 핵심 요구사항을 충족하는 대안을 찾아 작업을 최소화하는 것입니다.

하지만 양 털 다듬기는 재미있다.

양 털 다듬기는 피할 수 없이 재미있다. 존재하지 않았던 것을 만들고 문제를 발견·해결하고, 지식의 사슬을 파고들어 어떻게 동작하는지 이해하는 과정은 엔지니어를 끌어들인다. 스스로 원하는 것을 만들겠다는 아이디어 자체가 매력적이며, 엔지니어가 아니어도 매력적으로 느껴진다. 《신화적 월》에서 프레드릭 P. 브룩스 주니어는 프로그래밍이 재미있는 이유를 다음과 같이 들었다:[3]

  • 스스로 만드는 것의 순수한 즐거움.
  • 남에게 유용한 것을 만드는 기쁨.
  • 연결된 움직이는 부품을 사용해 복잡하고 퍼즐 같은 물체를 제작하고, 그 안에 넣은 규칙이 미묘하게 순환하는 모습을 보는 매력.
  • 끊임없는 학습의 즐거움.
  • 표현할 수 있는 유연하고 다루기 쉬운 매체의 즐거움.

TeX도 양 털 다듬기에서 비롯되었습니다. TeX는 스탠퍼드 대학교 교수인 Donald Knuth가 만든 타입셋팅 시스템으로, 이름에는 프로그램 전체를 포함하는 타입셋팅 언어와 이를 처리하는 컴파일러까지 모두 담겨 있습니다.[4] 수식 입력이 쉬워 사회 과학 및 과학·공학 분야에서 널리 사용됩니다. (LaTeX, TeX를 보다 쉽게 사용하는 매크로 집합이 대부분의 사람들이 이용합니다.)

예를 들어, 다음과 같이 TeX 구문에 입력하세요:

- b \pm \sqrt{b^2 - 4ac} \over 2a

그리고 이렇게 예쁘게 타입셋됩니다: −b±b2−4ac2a -b \pm \sqrt{b^2 - 4ac} \over 2a

1976년, Donald Knuth는 The Art of Computer Programming, Volume 2: Seminumerical Algorithms의 두 번째 판을 준비하고 있었다. 그는 첫 편에서 사용하던 ‘hot type’(즉시 인쇄된 타입)을 사용하고 싶었지만, 더 이상 존재하지 않았다. 대안에 불만이 있었던 그는 Patrick Winston의 새로운 책이 그 시점에 디지털 타입셋팅으로 제작되었다는 사실을 알게 되었고, 이를 보고 자신의 디지털 타입셋팅 시스템을 구축하기로 결심했으며 TeX의 기본 기능을 설계했다.[5]

Knuth은 처음 TeX을 SAIL 언어로 구현한 버전을 만든 뒤, 스스로 만든 WEB 프로그래밍 언어로 개발하고 완성했다.[6] WEB 소스 파일은 문서와 코드가 혼합되어 있으며, Weave와 Tangle이라는 두 프로그램을 사용해 WEB 파일의 문서와 코드를 각각 TeX 파일과 Pascal 파일로 추출할 수 있다. 그는 이 프로그래밍 패러다임을 리터러티 프로그래밍이라고 불렀다.

Michael Plass와 함께 Knuth은 Knuth-Plass 줄 바꿔쓰기 알고리즘을 고안했으며, 이 알고리즘은 단락에서 줄을 끊는 위치를 결정한다.

그에 더해 Knuth은 TeX용 Computer Modern 폰트를 디자인하고, 벡터 그래픽을 정의하는 METAFONT라는 언어를 만들었다. 또한 DVI (Device Independent) 포맷을 개발해 TeX가 특정 장치에 의존하지 않고 출력될 수 있게 했다.[7]

따라서 책을 쓰기 위해 Donald Knuth은 프로그래밍 언어, 패러다임, 알고리즘, 도구, 그리고 글꼴을 만들었다. TeX는 거의 10년이 걸렸으며, 그 뒤에야 책이 출판되었다. 하지만 이는 헛된 노력이 아니었다.

물론 이것은 극단적인 성공 사례이며, 대부분의 양 털 다듬기는 실패한다. 올바른 시점에 중단하는 것이 기대되지만, 면도하기 시작하면 그만두기 어렵다. 왜냐하면 이미 투자한 시간이 아까워서 포기하기 힘들거나, 면도 자체 자체가 재미있기 때문이다. 아니면 정말로 끝까지 지켜봐야 할 상황이지만, “지금 뭐 하고 있는 거지?”라는 생각이 스며들면서 흥미가 사라지거나, 자원이 고갈되어 중단하게 될 수도 있다.

0 조회
Back to Blog

관련 글

더 보기 »