DRAFT작업 노트입니다. 출간된 글이 아니며, 자유롭게 갱신·재구성됩니다.
CodePoet / Essay
부산물들4 / 6

되돌릴 수 있게 짓는다

초기 구간의 유일한 상수는 내가 틀린다는 것. 그래서 설계 기준은 확장이 아니라 되돌리기다. 표면적을 줄이고, fork보다 교체를 택해 매몰비용을 만들지 않는다. 시리즈 '부산물들' 4편.
2026-06-20
설계피보팅표면적되돌리기시리즈4편

갈아엎어야 하면?

아무렇게나 지으면 커지는 날 다 뜯어야 하지 않나. 맞는 걱정이다. 그런데 그 걱정은 한 가지를 전제하고 있다 — 지금 지은 게 그대로 간다는 것.

초기 구간에선 그게 틀렸다.

초기의 유일한 상수

초기에 변하지 않는 건 하나뿐이다. 내가 틀린다는 것.

니즈를 잘못 읽고, 방향을 바꾸고, 피보팅한다. 그러니 지금 지은 게 그대로 갈 일은 거의 없다. 어차피 바뀐다.

그래서 못 박지 않는다

크게 못 박지 않는다. 되돌릴 수 있게, 갈아끼울 수 있게 짓는다.

기준은 확장이 아니라 되돌리기다. "이걸 버릴 때 얼마나 가벼운가"를 먼저 묻는다.

표면적을 줄인다

운영할 면이 작을수록 갈아엎기 쉽다. 단일 바이너리 하나가 흩어진 서비스 열보다 되돌리기 쉽다.

fork보다 교체. 통째 가져와 필요 없는 걸 떼어내면, 끌고 온 코드가 다 매몰비용이 된다. 필요한 것만 새로 끼우면 버릴 때 가볍다.

되돌릴 수 있게 짓는다.

말은 쉽다. 실제로 그렇게 지어 봤냐고? 마침, 며칠 전에. 다음 편.

이 글에 남긴 포스트잇0

아직 포스트잇이 없어요. 첫 자리를 남겨보세요.

이어 읽을 글
감정은 신호였다될지 안 될지 모르는 일을 기한 안에 해내야 하는 요즘, 가장 고약한 건 모르는 걸 모르는 상태였다. 사람에게는 AI에 없는 센서가 있다 — 감정이다. 화남·슬픔·억울함·감동은 내가 모르던 무언가가 근처에 있다는 신호이고, 모델이 loss로 배우듯 사람은 감정으로 모름을 감지한다. 감정을 신호로 읽기 시작하자 마음의 힘듦과 해야 할 일·해야 할 말이 갈라졌다 — 재촉하는 사람의 불안도 같은 신호였다. 그리고 사람도 환각한다 — 모른다는 걸 모른 채 아는 해법으로 문제의 본질을 덮는다. 부딪혀야 신호가 온다.무한 루프는 버그가 아니었다팀과 팀 사이에서 매일 일을 나누다 발견한 조직의 작동 원리. 팀마다 목적이 하나씩 뚜렷할 때 서로의 견제는 상승효과가 되고, 이 루프가 멈추지 않는 것이 목표다 — 옳은 말이 일이 되어 돌아오면 루프는 멈추고, 새 일은 언제나 R&R의 회색지대에서 태어난다. 회색지대의 일에 필요한 것은 끌어안는 사람, 아니면 빠른 지정이다.머릿속에서 MSA는 그려지는데 고양이는 안 그려진다MSA라는 말엔 설계도가 펼쳐지는데, 고양이라는 말엔 색도 질감도 없는 흐릿한 형체 하나만 뜬다는 걸 알아챈 날의 기록. 딸은 오만가지 고양이를 재잘거리는데, 나는 언제부턴가 세상을 요약만 하고 있었다 — 좋아한다는 게임조차 뜯어본 적 없이 심볼로 봤다. 설계도가 선명하고 고양이가 흐릿한 건 재능의 배치가 아니라 시간의 배치였다. 개발을 배우던 방식을 그대로 옮긴다 — 많이 보고, 역기획서로 뜯어보고, 직접 그린다. 끝그림은 나만의 그림체로 내 것을 만드는 것. 시리즈 '프로그래머가 그림을 배우는 방법' 1편.
dev · 2026. 9. 20.