[ ⚠️ ]
이 문서는 토스 메이커스 컨퍼런스 2025 세션 중 토스의 기가막힌 문서 시스템: 실패에서 배운 교훈들 세션을 정리한 것입니다.
토스 프론트엔드팀이 직면했던 가장 큰 문제는 단순했고, 사실 직장인이라면 누구나 겪어보았을 문제였습니다.
새로운 개발자가 입사하면 항상 같은 질문들이 반복되었죠:
- "이 기능은 어떻게 동작하나요?"
- "이 코드는 왜 이렇게 작성했나요?"
- "이 문서가 최신 버전 맞나요?"
- "이건 누가 잘 아시나요?"
Notion, Logseq, Confluence...
여러 도구를 써봤지만 결국 개발자들이 가장 선호하는 방법은 결국 아래와 같았죠.
(옆자리 동료에게) "저기 혹시.. 이거 아세요?"
(슬랙으로) "OO님 이거 써보셨어요?"
네, 결국 수많은 개발자들은 그냥 옆자리 동료에게 물어보는 걸 선호했습니다.
setTimeout(() => {
someUpdateUI();
}, 0);
이런 코드를 보고 "왜 setTimeout을 0으로 설정한거지?"라고 물으면
"아, 그거요? 예전에 IE에서 렌더링 이슈가 있어서..."
이런 대답은 보통 문서에 잘 나와있지 않은 경우가 많죠.
특히 이슈로 인해 급하게 수정된 코드가 문서화에서 누락되는건 흔하게 발생하는 휴먼 에러니까요.
조직이 커질수록 이런 암묵지는 점점 더 큰 문제가 됩니다:
이거 할줄 아는거 OO님인데 지금 장기휴가 중이라서...이런거 물어봐도 되나..? 나 너무 멍청해보이는거 아니야..?해당 세션 내에서 정확히 언급해 주시지는 않았지만, 추정컨데 아무래도 아래와 같은 이유가 아니었을까 싶습니다.
Ownership이 명확하지 않아서, 누가 문서를 관리하는지 모호함이러한 현실은 사실 수많은 개발자들이 겪어본, 그리고 겪고있는 문제죠.
이러한 이유로 개발자들은 여전히 옆자리 동료에게 물어보는 걸 선호한게 아닐까 싶습니다.
토스는 문서관리를 위한 두 가지 핵심 원칙을 세웠다고 합니다. 세션 중에서도 특히나 공감되는 내용이었어요.
박씨(토스 내부 슬랙 봇) 도입으로, 기존 업무환경(슬랙)을 벗어나지 않고 문서에 접근 가능질문의 허들이 극적으로 낮아짐
커뮤니티 지식의 활성화
!학습 커맨드)JSDoc)// 예시: JSDoc을 활용한 자동 문서화
/**
* @description 사용자 주문 내역을 조회합니다
* @param {string} userId - 사용자 ID
* @returns {Promise<Order[]>} 주문 목록
* @throws {UserNotFoundError} 사용자를 찾을 수 없을 때
* @example
* const orders = await getUserOrders('user123');
*/
export async function getUserOrders(userId: string): Promise<Order[]> {
// 구현...
}
세션의 결론으로 말씀하신 내용이 바로, 문서야 말로 회사의 인프라라는 것이었습니다.
매우 중요한 내용이라고 생각합니다.

가장 중요한 것은 "읽기" 단계라고 합니다. 아무리 좋은 문서도 읽히지 않으면 의미가 없으니까요.
"읽어야 뭐라도 한다" - 토스는 이 단계에 집중했습니다.
Technical Writer가 진행하는 글쓰기 교육레퍼런스 문서
JSDoc + Docflow를 통한 자동화CI 통합으로 문서 없으면 코드도 머지 불가가이드 문서
사실, 개인적으로 이번 컨퍼런스에서 기술적인 내용들보다도 더 공감되고, 앞으로 도움이 될 내용들이 많았던 것 같습니다.
지금 회사에서도 문서화와 정보 검색 등에 대한 문제를 해결하기 위해 노력하고 있는데, 이번 세션을 통해 많은 것을 배워 적용 해 볼 수 있을 것 같습니다.
읽어주셔서 감사하고, 도달할 수 있을지는 모르겠지만, 오늘 발표해주신 연사분들께 다시 한 번 감사드립니다!