2월이 열렸다. 이번 달의 큰 줄기는 하나로 모인다 — 결정을 굳히지 말라. 한 달 내내 이 한 문장을 여러 각도에서 두드릴 참이다.

이번 주 Signal
「우리는 왜 컴파일을 버렸나」가 문을 열었다. 이번 달 Horizon의 첫 글이 던진 정의가 한 주의 화두를 잡았다 — 컴파일이란 결국 결정을 하나의 단단한 덩어리로 얼리는 일이다. 빌드 버튼을 누르는 순간, 이 화면은 이 버튼, 이 색, 이 배치로 굳는다. 바꾸려면 다시 녹여 다시 굽는 수밖에 없다. 글의 제안은 단순하다. 얼릴 것과 녹일 것을 나누자 — 화면 층은 녹이고, 능력 층은 얼린다. 능력(기기가 무엇을 할 수 있는가)은 단단해야 하지만, 화면(그것을 어떻게 보여 줄까)까지 같이 굳힐 이유는 없다.
칩 위의 화면이 증거로 따라붙었다. Build의 「칩 위에서」가 같은 주에 나오며 비전을 손에 쥐여 줬다. 전용 GUI 한 줄 없는 MCU 평가보드가, 정의 하나로 화면을 얻는다. 비전이 "굽지 말라"고 말할 때, 이 글은 "안 구워도 뜬다"를 실물로 보여 준다. 도발과 증거가 같은 주에 겹치니 첫 주부터 무게가 실린다.
현장 글이 사람으로 시작됐다. 이번 달 Field는 한 농부의 노트로 연다. 추상이 아니라 강원 화천의 비닐하우스에서 출발한다는 신호. "도구를 만든다"가 개발자만의 동사가 아님을, 첫 주부터 분명히 깔고 간다. 비전과 증거가 위에서 내려올 때, 현장은 아래에서 같은 문장을 밀어 올린다 — 만드는 일은 책상이 아니라 밭에서도 일어난다.
도구·패키지 메모
이번 주의 메모는 얼린 것과 녹인 것의 경계에 관한 것. 능력 층 — 센서를 읽고, 값을 쓰고, 명령을 보내는 부분 — 은 한 번 단단히 정의하면 그대로 둔다. 그 위에 얹히는 화면은 정의(definition)로 다룬다. 화면을 바꾸고 싶을 때 다시 빌드하지 않는다. 정의만 고치면 같은 능력 위에 다른 화면이 뜬다. 굽는 비용이 사라진 자리에, 고쳐 보는 자유가 들어온다. 평가보드에서든 비닐하우스에서든 규칙은 같다 — 단단해야 할 것만 굽고, 자주 바뀌는 것은 정의로 남겨 둔다.
짧은 생각
"컴파일을 버린다"는 말은 컴파일러를 미워하자는 뜻이 아니다. 능력을 단단히 굳히는 데 컴파일은 여전히 필요하다. 버리는 건 습관 쪽이다 — 화면까지 매번 같이 굽던 습관. 무엇을 얼리고 무엇을 녹일지 고르는 감각, 그게 이번 달 내내 따라올 주제다.
현장에서
정복산 씨(58)는 강원 화천에서 비닐하우스 8동에 토마토를 키운다. 올해 그가 만들기로 한 건 거창한 시스템이 아니라 재배 노트다. 매일 들여다보는 온도와 물 준 시각을 자기 손에 맞는 화면으로 적는 도구. "남이 만든 앱은 칸이 안 맞아"가 그의 출발점이었다. 시중 앱은 칸이 너무 많거나 정작 필요한 칸이 없거나 둘 중 하나였다고 한다. 칸을 자기 밭에 맞추는 일 — 그게 이번 달이 따라갈 이야기의 씨앗이다. 화면을 굽지 않고 정의로 다룬다는 말의 가장 작은 증거가, 농부의 세 칸짜리 노트일 수 있다.
이번 주 질문 · 다음 주 예고
당신의 일에서 얼려야 할 능력과 녹여 둘 화면은 무엇인가. 그 둘을 종이에 나눠 적어 보라. 다음 주엔 「컴파일을 버리다」가 한 걸음 더 들어가 "그럼 화면은 어디에 사느냐"를 묻고, 정복산 씨가 첫 칸을 손으로 그리는 장면을 가져온다.
makemind.dev 「소식」 — 2월 첫째 주. 새 달의 문을 열며.