전체 글
-
Magical thinking개발 일지 2026. 5. 17. 14:14
What is magic? I'd define it as the feeling we get when we see an outcome without understanding the mechanism behind it. People are often accused of "magical thinking," which usually means a tendency to fixate on outcomes while ignoring the underlying mechanisms, and we generally assume that understanding the mechanism is what leads to better decisions. But to borrow a line from someone:Magical ..
-
The Second-System Effect개발 일지 2025. 12. 8. 17:31
우리는 디자인하는 것과 실제로 구현하는 것을 아키텍트와 빌더 각각의 관심사로 분리시켰다. 그러면 아키텍트는 더 이상 더 싸고 빠르게 구현하는 것에 대한 책임이 없는데 그들의 invetive enthusiasm은 어디서 올 수 있는가? 그럼에도 아키텍트에게 주어진 제한은 명확하고 이는 지켜야 할 규율로 상호 간의 지켜야 할 것과 스스로 지켜야 할 것으로 존재한다. 첫 번째는 빌더들과 커뮤니케이션할 때 지켜야 할 규율이다. 아키텍트들에게 주어진 제한은 예산이다. 예산에 맞게 디자인이 나와야 하고 여기에는 예측이 들어간다. 이 예측은 실제 빌더들의 구현단계에서 확정되거나 조정된다. 만약 디자인이 예산을 못 맞추게 되면 두 가지 선택지가 있다. i) 디자인을 수정하거나 ii) 더 싼 구현을 요구하는 것이고 이..
-
Aristocracy, Democracy, and System Design개발 일지 2025. 12. 1. 17:02
유럽의 많은 성당 중에 Reims 성당이 아름다운 이유는 특정 부분이 훌륭해서가 아니라 전체적으로 일관된 디자인 때문이다. 이를 이룰 수 있었던 것은 8세대에 걸친 건축가들의 자신의 취향에 대한 희생 덕분이다. 시스템 프로그래밍도 이와 비슷하다. conceptual integrity를 지키기 위해서는 각각의 취향이 희생되어야 한다.시스템 프로그래밍의 목적은 컴퓨터를 쉽게 사용할 수 있게 하기 위함이다. 쉽게 사용할 수 있다는 것은 사용법을 익히는데 드는 시간보다 사용법을 익힘으로써 얻을 수 있는 시간의 크기가 클 때이다. 이를 위해서는 simplicity와 straightforward가 동시에 성취되어한다.conceptual integrity가 지켜지기 위해서는 한명의 똑똑한 사람에 의해서만 디자인이 결..
-
The Surgical Team개발 일지 2025. 11. 27. 13:08
많은 사람들이 똑똑한 사람들로 이루어진 작고 빠른 팀이 더 좋다고 한다. 너무 당연한 이야기이고 요즘 들어 특히 AI의 발전으로 인해 스타트업 업계에서도 많이 돌고 있는 말이다. 하지만 이 나이브한 간과한 문제가 있다. 그렇다면 어떻게 큰 시스템을 정해진 일정 안에 만들 수 있을까? 이것은 작은 팀만으로는 불가능하다. The Problem프로그래머의 생산성은 차이가 심하다. 연봉이 2배차이 나더라도 생산성은 10배까지 차이 날 수 있다. 200명으로 이루어진 팀이 있다고 가정해 보자. 여기에 25명의 매니저 역할을 하는 고급 프로그래머가 있다고 했을 때 우리가 해야 할 일은 175명을 자르고 25명의 매니저를 프로그래머로 바꾸는 것이다. 여전히 25명의 팀은 크다. OS/360을 완성하는데 3년동안 50..