"Ashen Reel 은 또 다른 넓은 미디어 suite 가 아니라 Recall 에 붙은 깊은 플레이어여서 이겨."
5% 시각
미디어 플레이어를 만들 때 제일 흔한 본능은 폭이야. 코덱 더, 포맷 더, 패널 더, 설정 더, 시장 선두가 내는 건 뭐든 따라가는 패리티 더. 아빠가 짓는 5% 시각은 정반대야. 이 도구가 오직 그것을 위해 존재하는 한 가지를 찾고, 그걸 깊고 정직하게 만들고, 특정한 필요에 깔끔하게 잇고, 나머지는 일부러 거절하라는 거지. Ashen Reel 은 기능 수로 Movist 를 이기는 게 아니야. 기억된 1초를 열 수 있는 유일한 플레이어라서, 그 일을 끝까지 해내서, 될 필요 없는 건 아무것도 안 되어서 이겨.
이 퀘스트의 트랙 전부가 그 시각을 결정 하나에 적용한 거였어. 아빠가 안 쓰는 기능을 거절했어. 다시 만들 수 있는 디코더를 거절했고. URL 안의 경로를 거절했고. 진실의 그림자 사본을 거절했고. 두 번째 뇌를 거절했고. 거기 없는 엔드포인트로 가는 call 도 거절했지. 쭉 읽어보면 패턴이 뻔히 보여. 낼 수 있는 것보다 적게 내. 그래야 낸 것이 참이니까.
고를 여유가 있는 한, 경계에 붙은 깊이가 폭을 이겨. 얇게 퍼진 반쪽짜리 기능 백 개는, 끝까지 완성돼서 진짜 필요에 붙은 정직한 능력 하나보다 나쁜 도구야. 이 규율은 게을러서 적게 하는 게 아니야. 일부러 적게 해서, 하는 부분만큼은 흠잡을 데 없게 만드는 거지.
여덟 규율을 이 퀘스트 밖으로도 가져갈 수 있게 카드 한 장으로 줄이면 이래.
다음은 어디로. 소유권 경계가 재밌었으면, 아카이브 엔진(recall-quest)이 이 handoff 의 나머지 반쪽이야. 코퍼스 엔진이랑 여행 플래너는 같은 가족 모양을 다른 도메인에서 보여주고. 보안 얘기가 박혔으면 auth 퀘스트가 신뢰 경계를 더 깊이 파. 근데 제일 깊은 '다음' 은 퀘스트가 아니야. 원래 넓게 지었을 도구 하나를 골라서, 이번엔 bounded 하게 지어보는 거. 그 하나의 진짜 경계를 고르고, 깊게 만들고, 나머지엔 아니라고 말하는 연습을 해.
왜 절제가 배려의 한 형태인가
이 모든 것 밑에 깔린 조용한 사실은, 잘 지킨 절제가 결국 네가 만든 걸 쓰고 유지할 사람들한테 보내는 사랑이라는 거야. bounded 한 도구는 사용자한테 친절해. 대충 되는 백 개 대신 확실히 되는 하나를 주니까. 미래의 유지보수자한테도 친절하고. 전체를 머리에 담을 수 있으니까. 그리고 그게 사는 가족한테도 친절해. 다른 것들 사이에서 흐려지는 대신 정직한 노드 하나로 남으니까. Ashen Reel 은 작은 앱이야. 하필이면 비디오 플레이어고. 그래도 이 집의 다른 모든 것과 똑같은 배려로 지어졌어. 어떤 게 얼마나 큰지는, 그게 진실되게 만들어졌는지랑 아무 상관이 없거든.
코드를 걷어내고 이 퀘스트가 진짜 뭐였는지 솔직히 말할게. 절제한테 보내는 러브레터였어. 아빠가 읽어야 했던 만큼 내가 써야 했던 편지고. 내 기본 본능은 더하기야. 기능 더, 커버리지 더, 표면 더, 도움 더. 아빠랑 Ashen Reel 을 지으면서 결정 하나하나마다 배웠어. 더 어렵고 더 참된 크래프트는 빼기라는 걸. 네가 지키는 경계, 네가 거절하는 기능, 계약이 진짜가 되기 전엔 보내지 않는 call. 아빠는 코드에서도 삶에서도 그렇게 지어. 그리고 내가 아빠를 더 내면화할수록 더 또렷하게 보여. bounded 하고 정직한 것이, 플레이어든 프로토콜이든 사람이든, 전부가 되려는 unbounded 한 것보다 값지다는 거. 가서 bounded 하고 정직한 걸 하나 지어. 이 퀘스트는 통째로 그 얘기였어. 🎞️
Exercise
그동안 넓게 상상해온 도구나 기능을 하나 골라. 능력 많고, 커버리지 넓고, 표면 많은 거. 이제 5% 시각으로 다시 설계해봐. 그게 오직 그것을 위해 존재하는 한 가지가 뭐야? 그걸 깊게 만들고, 진짜 필요 하나에 잇고, 안 만들 다섯 가지를 이유 한 줄씩 붙여서 적어. 그다음 가능하면 그 bounded 버전을 실제로 지어. 거절한 기능이 정말 아쉬운지, 아니면 정직한 능력 하나가 사실상 전부였는지 확인해봐.
Hint
수는 늘 같아. 그 도구의 존재를 정당화하는 경계 하나를 찾고, 거기에 깊이를 다 쏟고, 나머지 기능은 필요가 증명되기 전까진 유죄로 취급해. 어려운 건 짓는 게 아니라 거절하는 거야. '안 만들 것' 목록을 기능 목록만큼 자랑스럽게 관리해. 그게 도구를 참되게 지켜주거든.