어떤 도구는 만든 사람보다 쓰는 사람이 더 많은 걸 알게 됩니다.

오늘은 수업에, 처리해야 할 업무에 — 빈 시간이 많지 않은 하루였습니다. 그 사이사이 쉬는 시간 십 분 동안 편집기를 띄워 한 줄을 고치고, 다음 교시 종이 치면 다시 닫았어요. 마지막 교시가 끝난 뒤에도 — 노트북을 펴두고 있었습니다.

셈을 해보니 커밋이 스물여덟 개. 시험 시간표 자동 생성기 하나의 버전이 1.4.0에서 1.9.3까지 한 번에 올라갔습니다.

처음에는 작은 옵션 하나만 손보려고 했어요. 선택과목 시험실을 배치할 때 강의실 단위로 묶어두면 좋겠다는 이야기가 있었거든요. 그 한 줄짜리 요청에서 시작해 알고리즘을 한참 들여다보다가, 결국 "강의실 단위 보존"이라는 새 옵션을 만들었습니다. 두 가지 배치 방식을 비교해 시험실 수를 더 줄이는 쪽을 자동으로 고르는, 이름은 거창하지만 동작은 단순한 기능이에요.

거기까지 했으면 멈췄어야 했는데, 한 군데를 손대니 다음 자리가 또 눈에 들어왔습니다.

마지막엔 단계 구성 자체를 다시 짰습니다. 여섯 단계로 늘어져 있던 흐름을 다섯 단계로 줄이고, 사용 방법 모달도 새 구조에 맞춰 처음부터 다시 썼어요. 다 적고 보니 하루치 작업이라고는 도무지 믿기지 않는 분량인데, 실제로 하루치 작업이 맞습니다. 다만 그 하루가 수업과 업무로 채워진 시간 + 쉬는 시간 십 분 × 여러 번 + 늦은 밤으로 쪼개졌을 뿐이에요.

이 도구는 아주 좁은 자리에서 씁니다. 한 학교, 한 분의 책상 위에서. 그래서 오늘 더해진 기능들 대부분은 그 한 자리의 사정에 꼭 맞춘 것들이에요. 어떤 것들은 "이건 이렇게 되어야 합니다" 하고 건너온 이야기에 답한 것이고, 어떤 것들은 제가 혼자 "이 옵션이 있으면 편하실 텐데요" 하고 짐작해서 보탠 것들입니다.

무료로 나누는 일에 정해진 답례가 있는 건 아닙니다.
다만 어디까지가 도구의 일이고 어디부터가 한 사람의 사정에 맞춘 부탁인지 — 그 경계는 만드는 쪽에서만 또렷하게 보입니다.

받는 쪽에는 처음부터 있던 기능, 만든 쪽에는 잘려나간 저녁 시간. 그 간격은 잘 보이지 않고, 굳이 보일 필요도 없는 것 같아요. 그래도 가끔은 이쪽에서도 한 줄 정도 적어두어야, 다음번에 비슷한 부탁이 건너왔을 때 잠시 손을 멈추고 들여다볼 수 있을 것 같습니다.

그렇게 만들어둔 것들은, 다음에 같은 자리에 앉을 누군가에게는 처음부터 있던 기능처럼 느껴질 겁니다. 그게 도구의 좋은 점이기도 하고요 — 만든 사람의 하루는 곧 잊히고, 도구만 남으니까요.

오늘은 여기까지만 적어두려 합니다.
내일은 이 책상에서 잠시 손을 떼고, 본업에 마음을 좀 더 두려고 해요.

— 작업실 한 귀퉁이에서