“우리는 어떻게 만들었는가” 패턴

엔지니어는 무언가를 설계하고 구축하는 과정 자체에서 큰 즐거움을 느낍니다. “우리는 어떻게 만들었는가” 패턴은 “우리가 상상했던 것보다 더 훌륭하게 만들어낸 과정”에 대한 기록입니다. 최신 기술의 과감한 도입, 복잡한 대규모 아키텍처 설계, 혹은 혁신적인 알고리즘 구현 등 자랑할 만한 성과를 다룹니다.

목적

개척자

기술 리더십 확보: 새로운 기술적 혁신이나 접근 방식을 가장 먼저 상세히 기록하여 해당 분야의 선구자로 자리매김하고 프로젝트의 인지도를 높입니다.

역량 과시

기술력 증명: 우리 팀의 기술력이 얼마나 뛰어난지, 왜 우리의 솔루션이 최선의 선택이었는지를 설득력 있게 제시하며 기술적 우위를 입증합니다.

자유로운 동료 검토

커뮤니티 피드백: 구축 과정을 투명하게 공개함으로써 전 세계 개발자들로부터 건설적인 비판과 개선을 위한 소중한 제안을 받을 수 있습니다.

독자

  • 유사한 프로젝트를 계획하거나 진행 중인 개발자
  • 최신 기술 동향에 관심이 많은 기술 애호가
  • 업계 동향을 파악하려는 스타트업 창업자 및 투자자
  • 학술적 관심을 가진 연구자 및 학생
  • 제품을 실제로 사용하는 사용자

“우리는 어떻게 만들었는가” 블로그 포스트 사례

주로 대규모 기업에서 엄청난 스케일의 프로젝트를 소개할 때 자주 사용되지만, 개인의 독창적인 사이드 프로젝트에도 충분히 적용할 수 있습니다.

How Prime Video Updates its App for More Than 8,000 Device Types (Alexandru Ene)

8,000개 이상의 기기 유형을 지원하기 위해 WebAssembly를 도입하여 아키텍처를 혁신적으로 개선한 사례를 다룹니다. 압도적인 규모와 매우 구체적인 기술적 세부 사항이 큰 영감을 줍니다.

Twitter’s Recommendation Algorithm (The Twitter Team)

트위터의 추천 알고리즘 작동 방식을 단계별로 설명하고, 관련 논문과 오픈 소스 코드를 투명하게 공개했습니다. 기술 대기업의 내부 핵심 로직을 엿볼 수 있는 귀중한 기회를 제공합니다.

How We Built Notification Rate Limiter… (Akshit Verma, Ayush Gupta)

수억 명의 사용자를 처리하기 위한 알림 속도 제한 시스템의 구축 과정을 다룹니다. 데이터베이스 스키마와 같은 실질적인 구현 내용을 공유하여 독자가 직접 응용해 볼 수 있게 돕습니다.

How We Built Scalable Spatial Data and Spatial Indexing in CockroachDB (Sumeer Bhola)

효과적인 공간 인덱싱 기능을 위해 특정 공간 분할 방식을 선택한 이유와 세부 구현 사항을 설명합니다. 특정 기능에 대한 깊이 있는 기술 입문서 역할을 톡톡히 합니다.

Ship Shape (Kerry Halupka, Rowan Katekar)

Canva가 브라우저 환경에서 실시간 모양 인식 기능을 머신러닝으로 구현한 과정을 시각적으로 매우 매력적으로 풀어냈습니다.

특징

항상 재현 가능한 것은 아님

대규모 리소스나 특정 기업의 비공개 기술 스택에 기반한 경우가 많아 독자가 똑같이 따라 하기는 현실적으로 어려울 수 있습니다. 하지만 그 과정에서 얻은 통찰과 지식은 그 자체로 충분한 가치가 있습니다.

업계의 지식 베이스 역할

프로젝트 과정에서 얻은 보편적인 지식(언어 활용 팁, 도구 선택 기준 등)을 공유함으로써 업계 전체의 기술적 수준을 높이는 데 기여합니다.

존엄한 복수형

개인보다는 팀이나 회사 전체를 대변하여 “우리(We)”라는 표현을 주로 사용하며, 다소 공식적이고 신뢰감을 주는 어조를 사용합니다.

예상 질문 선제 방어 (inb4)

논란이 될 법한 결정이나 의문에 대해 미리 합의된 이유를 설명하고(“왜 X 대신 Y를 선택했나요?”), 이전의 실패 사례를 공개하여 불필요한 소모적 논쟁을 방지합니다.

유의사항

공개 범위 합의하기

회사를 대표하는 공식적인 성격의 글이므로, 법적 혹은 전술적으로 공개 가능한 범위에 대해 유관 부서와 미리 철저히 합의해야 합니다.

시각 자료(그래픽)의 중요성 강조

복잡한 시스템 아키텍처나 알고리즘의 흐름을 설명할 때는 다이어그램과 시각 자료를 일급 시민으로 대우하여 독자의 이해를 적극적으로 도와야 합니다.

충분한 시간을 들여 다듬기

오랜 기간 공들여 완성한 프로젝트인 만큼, 글 작성에도 충분한 시간을 투자하세요. 꼼꼼한 검토를 통해 글의 완성도를 프로젝트 수준만큼 끌어올려야 합니다.

건설적인 비판과 논쟁에 대비하기

글 공개 후 쏟아질 수 있는 다양한 의견에 대비하세요. 예상 질문에 대한 답변을 미리 준비하고, 댓글 섹션을 통해 독자들과 건강하게 소통할 준비를 해야 합니다.