인생 첫 오프라인 세션 발표 회고

GDGoC HUFS Monthly: 패키지 매니저와 모노레포 전략

올해 8월부터 GDG on Campus 한국외국어대학교 24-25 그룹에 참가하고 있는데요, 해당 그룹에 참가하는 인원은 1회 이상 본인의 경험을 공유하는 시간을 갖습니다(여기에서 경험은 개발 경험뿐만 아니라 여행 등 모든 경험을 포함합니다.).

저는 온라인 세션보다 오프라인 세션에서 발표하고 싶은 생각이 있었고, 첫 번째로 열리는 Monthly 세션에서 '프론트엔드 모노레포 구현기(pnpm + Turborepo)' 주제로 발표를 진행했습니다. 이 회고는 준비부터 발표 후 느낀 점까지의 과정을 기록한 것입니다.

주제 선정

발표 주제를 정하는 데 꽤 오래 고민했습니다. 약 40명 규모의 그룹에서 웹 프론트엔드를 공부하는 인원이 5명 내외였고, 대부분은 백엔드나 AI 기술에 관심을 갖고 있었습니다. 여기에서 WebGL과 같은 깊이 있는 주제를 설명한다면 다 잘 것 같았고, 보다 더 폭넓게 공감할 수 있는 프로젝트 구조와 관련된 주제로 정해야겠다는 생각이 들었습니다.

모노레포는 훕치치 프로젝트에서 처음 도입한 이후, 스폼(SFOM)을 비롯한 여러 프로젝트에 활용하면서 장점을 경험했는데요, 이를 오거나이저 김경록님께 공유했을 때, 안드로이드의 멀티모듈 구조와 유사하다는 의견을 주셨습니다. 두 구조 모두 코드 베이스를 효율적으로 관리하려는 목적을 공유한다는 점에서, 모노레포가 특정 기술 분야에 국한되지 않은 개념이라는 생각이 들었고, 멤버들에게 인사이트를 줄 수 있지 않을까? 싶었습니다.

참고 자료

모노레포를 설명하기 위해서는 패키지 매니저에 대한 설명이 필수적입니다. 토스의 박서진 님께서 작성하신 글을 비롯해 여러 블로그 글을 참고하며 내용을 정리하였고, 최종적으로 발표 자료를 작성할 수 있었습니다.

발표

영상을 보시면 아시겠지만, 예상보다 발표가 더 떨렸습니다. 스크립트를 준비했지만 제 랩탑이 아닌 학교 컴퓨터에서 프레젠테이션을 띄우다 보니 프리스타일로 진행하게 되었고, 전달하고자 했던 내용을 100% 말하지는 못한 것 같습니다.

두 개의 질문을 받았는데요, 두 분 모두 데브옵스에 관심이 있는 분들이었습니다. 질문은 아래와 같습니다.

  • 모노레포로 구성하면 하나의 리포지터리에 두 개의 Next.js 프로젝트가 들어가 있는 것인가요?
  • 모노레포로 구성하면 내부에서 패키지를 의존하게 되는데, 빌드 파이프라인은 어떻게 설정하셨나요?

이 질문들을 받으면서 발표 슬라이드가 있었음에도 불구하고 설명을 명확히 전달하지 못했기 때문에 생긴 질문이라는 생각이 들었습니다. 특히 긴장한 탓에 너무 빠르게 말한 것이 문제인 것 같습니다.. (속도가 빨라지면서 내용을 따라가기 어려웠을 수도 있겠다는 생각이 듭니다.)

마치며

최근 FEConf를 비롯해 프론트엔드 챕터 선배님들의 강연 영상을 열심히 보고 있습니다. 어떤 분은 긴 시간 동안도 몰입감을 유지하며 전달하는 기술이 인상적이었고, 반면 긴장한 모습 속에서도 진솔하게 발표를 이어가는 분도 있었습니다. 다양한 스타일을 보며, 저만의 발표 스타일을 어떻게 만들어 가야 할지에 대해 고민하게 되었습니다.

GDG on Campus HUFS는 2025년 7월까지 활동을 이어갈 예정인데요, 많으면 두 번의 발표 기회가 더 있을 것 같습니다. 다음 발표 주제는 인터렉티브 웹을 다루어보고 싶습니다. 짧은 시간, 간편하게 즐길 수 있는 스낵과 같은 느낌의 발표를 목표로 도전해 보겠습니다.

혹시라도 제가 구현한 모노레포 리포지터리를 보고 싶으시다면 훕치치 프로젝트, 잔디 프로젝트를 확인해주세요.