레고의 0.002mm 공차와 완벽한 하위 호환성, 그리고 플랫폼의 변질
우리 소프트웨어 엔지니어들은 종종 5년 전 작성된 코드의 하위 호환성(Backward Compatibility)을 유지하는 데에도 쩔쩔맨다. API 스펙은 수시로 바뀌고, Deprecation 경고는 일상이 되며, 레거시 시스템과의 연동은 언제 터질지 모르는 시한폭탄과 같다.
그런데 물리적인 현실 세계에서 무려 50년이 넘는 시간 동안 완벽한 하위 호환성을 유지하고 있는 제품이 있다. 바로 레고(Lego)다. 최근 Hacker News에서 레고의 0.002mm 제조 공차(Tolerance)와 최근 제품 전략에 대한 뜨거운 논쟁이 벌어졌다. 15년 차 엔지니어의 관점에서, 레고의 제조 정밀도라는 경이로운 엔지니어링 성과와 그 이면에 숨겨진 플랫폼의 변질에 대해 이야기해보고자 한다.
0.002mm API Contract: 물리적 세계의 완벽한 인터페이스
레고의 핵심 경쟁력은 ‘Clutch Power(결합력)‘에서 나온다. 브릭들이 너무 뻑뻑하지도, 너무 헐겁지도 않게 결합되어야 하며, 이 감각은 수십 년간 동일하게 유지되어야 한다. 이를 위해 레고는 금형 사출 성형(Injection Molding) 과정에서 0.002mm 라는 경이로운 공차 스펙을 유지한다.
0.002mm(2 마이크로미터)는 인간 머리카락 두께의 약 30분의 1 수준이다. ABS 플라스틱은 온도가 내려가면서 수축하는 성질이 있는데, 이 수축률까지 완벽하게 계산하여 금형의 온도, 주입 압력, 냉각 시간을 통제해야만 달성할 수 있는 수치다.
엔지니어링 관점에서 레고의 브릭은 물리적 세계에 배포된 API Contract 와 같다. 한 번 생산되어 고객의 손에 들어간 브릭은 패치(Patch)나 업데이트가 불가능하다. 1970년대에 만들어진 2x4 브릭과 2025년에 생산된 최신 브릭이 한 치의 오차도 없이 맞물린다는 것은, 이들이 초기 설계 단계에서 얼마나 완벽한 인터페이스를 구축했는지를 증명한다.
범용 프레임워크에서 단일 목적의 모놀리스(Monolith)로
하지만 HN 커뮤니티의 댓글들을 읽어보면, 최근 레고의 행보에 대한 깊은 아쉬움이 묻어난다. 과거의 레고가 범용적인 ‘표준 라이브러리(Standard Library)‘였다면, 지금의 레고는 고도로 결합된 ‘단일 목적 프레임워크’로 변질된 느낌이다.
- Composability의 상실: 과거의 레고는 단순한 형태의 브릭들을 조합해 상상력을 발휘하는 도구였다. Unix 철학처럼 ‘한 가지 일을 잘하는 작은 도구들의 조합’이었다. 반면, 최근의 스타워즈나 마블 테마 세트들은 오직 그 형태를 만들기 위해 존재하는 일회성 특수 부품들로 가득하다.
- 부품 수 부풀리기(Padding): HN의 한 유저(anon)는 뼈 때리는 지적을 했다. 최근 레고 세트들은 내부 구조를 만들 때 충분히 큰 2x4 브릭 하나로 끝낼 수 있는 공간을 1x1, 1x2 브릭 수십 개로 채워 넣는다는 것이다. 이는 기업이 ‘Price per piece(브릭 당 가격)’ 지표를 방어하고 소비자에게 더 큰 가치를 주는 것처럼 착각하게 만드는 꼼수다. 소프트웨어로 치면 의미 없는 LOC(Lines of Code)를 늘려 프로젝트 규모를 과장하거나, 불필요하게 마이크로서비스를 잘게 쪼개어 아키텍처를 복잡하게 만드는 오버엔지니어링(Over-engineering)과 다를 바 없다.
브랜드 파워와 기술 부채(Technical Debt)
현재 레고는 오픈소스나 서드파티 진영의 거센 추격을 받고 있다. 중국의 호환 브릭(Mould King 등)이나 3D 프린팅 기술은 이미 레고 품질의 99% 수준까지 따라왔다. HN 유저들의 경험담처럼, 3분의 1 가격에 훌륭한 조립 경험을 제공하는 대안들이 넘쳐난다.
레고가 이들과의 경쟁에서 우위를 점하는 것은 더 이상 ‘0.002mm의 정밀도’라는 기술적 해자(Moat) 때문이 아니다. 디즈니, 닌텐도와의 IP 계약, 그리고 어른들의 향수를 자극하는 ‘프리미엄 수집품’이라는 브랜드 포지셔닝 덕분이다.
하지만 핵심 제품의 재사용성(Reusability)을 희생하고 화려한 외관과 IP에만 의존하는 전략은 장기적으로 기술 부채를 쌓는 것과 같다. 조립 설명서가 끝나면 더 이상 상상력을 발휘할 수 없는 일회성 장난감은 결국 진열장에 먼지만 쌓이게 될 뿐이다.
결론: 코어 아키텍처의 중요성
솔직히 말해서, 나는 여전히 레고의 엔지니어링 팀을 존경한다. 수십억 개의 부품을 마이크로미터 단위의 오차로 찍어내는 그들의 인프라는 경이로움 그 자체다.
그러나 비즈니스 로직이 코어 아키텍처의 철학을 훼손하기 시작할 때 어떤 일이 벌어지는지, 레고의 최근 행보는 우리에게 중요한 교훈을 준다. 아무리 완벽한 하위 호환성과 정밀도를 가진 시스템이라 할지라도, 그 위에 올라가는 애플리케이션(세트)이 유연성을 잃고 지나치게 결합(Tightly coupled)된다면 플랫폼 본연의 가치는 퇴색될 수밖에 없다.
레고가 진정한 ‘빌더(Builder)‘들을 위한 범용적인 컴포넌트 제공자로 남을지, 아니면 비싼 IP를 포장해 파는 럭셔리 굿즈 회사로 완전히 굳어질지 지켜볼 일이다.
References