
WOOWACON이란?
올해로 6회째를 맞은 우아콘(WOOWACON)은 배달의 민족을 운영하는 우아한 형제들이 매년 개최하는 기술 컨퍼런스입니다. 실무에서 쌓은 기술과 경험을 개발 커뮤니티와 공유하는 자리로, 매년 천여 명의 개발자들이 참여합니다. 저는 우아한 형제들의 교육 프로그램인 우아한 테크코스 과정 중 진행된 추첨에 당첨되어 참가하게 되었습니다.
기대와 첫 인상
당첨 소식을 받았을 때, 솔직히 우아콘에 대한 기대나 관심이 크지 않았습니다. 최근에야 개발에 관심을 갖기 시작해서인지, 이런 컨퍼런스에서 무엇을 얻을 수 있는지 감이 오지 않았습니다.
대규모 컨퍼런스에 대한 회의감도 있었습니다. '내게 필요한 정보가 있을까?', '나중에 영상으로 보는 게 더 효과적이지 않을까?' 현장에서만 느낄 수 있는 무언가가 있을지 의구심이 컸습니다.
그런데 주변 크루들의 반응이 생각보다 뜨거웠습니다. 개발에 진심인 이들의 희비가 엇갈리는 모습을 보니, 문득 내가 이 기회를 너무 가볍게 여기고 있는 건 아닌가 하는 생각이 들었습니다.
마음가짐을 바꾸고 사전 프로그램을 살펴보기 시작했습니다. 어떤 세션이 내게 도움이 될지, 어떤 주제에서 배울 점이 있을지 고민했습니다. 우아한 형제들이 실무에서 마주한 기술적 도전을 어떻게 해결했는지, 그 과정에서 어떤 인사이트를 얻을 수 있을지 기대하게 되었습니다.
참석한 세션들과 소감
세션들은 시간대마다 6개 트랙(A~F)이 동시에 진행되었고, 각 시간대마다 하나씩 선택할 수 있었습니다.
레거시 시스템 관리 등 관심 있는 주제들도 많았지만, 현재 프로젝트 과제와 연관성이 높은 세션을 우선 선택했습니다.

세션들을 경험하면서 가장 크게 느낀 점은 예상과의 차이였습니다. 사전 프로그램을 보며 '실무에서 마주한 기술적 도전을 어떻게 해결했는지'에 대한 인사이트를 기대했는데, 돌이켜보니 조금 순진한 기대였던 것 같습니다.
대학이나 우테코 기술 특강, 테코톡 같은 교육 세션을 떠올렸지만, 우아콘은 기업 컨퍼런스라는 점에서 차이가 있었습니다. 교육 세션들이 특정 기술 스택이나 아키텍처 설계처럼 깊이 있는 기술 내용 자체를 전달하는 데 집중한다면, 우아콘 세션들은 '우리 팀이 조직 내에서 어떤 역할을 하고, 어떤 성과를 보였는가'를 보여주는 데 무게를 두고 있었습니다.
이런 특징은 다음 두 세션에서 특히 명확했습니다.
고객의 편리함을 완성하는 프로세스, 배민 사용자 경험 관리
UX Management TF팀이 조직 내에서 수행하는 역할을 소개한 세션이었습니다.
배민 클럽 같은 기능 하나를 만들 때도 마케팅, 기획, 개발 등 여러 부서가 참여하는데, 각자 다른 관점에서 요구사항을 제시하다 보니 조율 과정에서 방향성이 엇갈리기 쉽습니다. TF팀은 이 지점에서 중간 다리 역할을 합니다. '고객 관점에서 일관성 있는 경험과 디테일 제공'을 최우선에 두고, 여러 부서가 통합된 환경에서 논의할 수 있도록 돕습니다. 조직 내 피드백 루프를 구축해 빠른 의사결정을 가능하게 하고, 고객 중심의 의사결정 프로세스와 도구를 만들어 전사에 전파하는 것이 이 팀의 목표입니다.
방향성이 엇갈리면 일관된 사용자 경험이 깨지고, 화면마다 다른 UI/UX가 나타나 마치 서로 다른 화면을 억지로 이어붙인 것처럼 느껴집니다.
더 나은 이상 탐지를 위한 여정: 서버부터 서비스, 그리고 문화까지
SRE팀이 시스템 신뢰성을 어떻게 개선해왔는지 공유한 세션이었습니다.
우형에서는 SRE팀이 생기기 전부터 각 부서가 자체 모니터링 시스템을 운영하고 있었습니다. 하지만 이는 각 부서의 필요에 따라 개별적으로 구축된 시스템이었기에, 전사적인 장애 대응에는 한계가 있었습니다.
구체적으로는 다음과 같은 문제들이 있었습니다.
- 지표별로 경보 전달 방식이 제각각이고, 담당자가 대응 중인지 확인할 수단이 없음
- 지표별 담당 조직 정보가 없어 장애 여부 판단이 어렵고, 장애 전파가 지연됨
- 장애 여부를 판단하고 원인과 해결 방안을 확인하는 과정에서 시간이 소요되어 대응이 늦어짐
SRE팀은 이러한 문제를 해결하기 위해 '빠른 장애 전파'와 '신뢰성 있는 경보 시스템 구축'에 집중했습니다. 그 결과 장애 인지 시간과 장애 공지 시간을 단축해 전체적인 장애 대응 속도를 개선할 수 있었습니다.
두 세션 모두 조직 내에서 부서 간 조율을 담당하는 팀을 소개했다는 공통점이 있었습니다.
회사가 커지면서 하나의 서비스에도 여러 부서가 관여하게 되고, 이들 사이를 조율하고 통합하는 역할이 필요해진 것입니다. 어떻게 보면 AOP의 횡단 관심사 같은 개념이라, 무엇을 하려는 팀인지는 쉽게 이해할 수 있었습니다.
다만 전사 규모의 조직을 경험해본 적 없는 저에게는 깊이 있게 다가오지 않았습니다. 우테코에서 이런 역할의 필요성을 배웠고, 작은 규모이지만 현재 프로젝트에서도 비슷한 고민을 하고 있었기 때문입니다. 규모의 차이가 가져오는 복잡도는 비교할 수 없이 크겠지만, 문제의 본질만 놓고 보면 유사해 보였습니다.
그래서인지 세션에서는 '기술적으로 어떻게 해결했는가'보다, '우리 팀이 어떤 성과를 냈는가'가 더 부각되어 보였습니다. 여기서 앞서 기대했던 교육 세션과의 차이를 다시 확인할 수 있었습니다.
이 시점까지는 제가 우아콘을 잘못 이해하고 온 것 같다는 생각이 들었습니다. 각 팀의 성과를 듣는 것이 제게는 크게 의미 있게 느껴지지 않았기 때문입니다. 그런데 다음 세션을 들으면서 생각이 달라졌습니다. 제가 너무 좁은 관점으로 우아콘을 바라보고 있었던 것입니다.
무조건 격리한다고 좋은 테스트일까? MSA 환경에서 구축하는 시나리오 인수 테스트
광고 플랫폼 서버 개발팀과 서버교육팀이 함께 진행한 MSA 환경 인수 테스트 적용 사례였습니다.
개발팀이 QA팀에 검증을 의뢰한 결과, 1800개 가량의 시나리오 테스트가 진행되었습니다. 개발팀도 기존에 인수 테스트를 작성했지만, 이는 개별 서비스 단위 테스트였을 뿐 MSA 전체 흐름을 검증하는 테스트는 아니었습니다.
여기서 두 가지 의문이 생겼습니다. 매번 QA팀에 의존해야만 신뢰할 수 있는 서비스일까? 그리고 독립적인 검증만으로 전체 시브템의 연결성을 보장할 수 있을까? 이러한 문제의식에서 MSA 환경에 적합한 시나리오 인수 테스트 개발이 시작되었습니다
인수테스트는 Cucumber로 직관적인 인수 조건을 작성하고, Docker Compose로 환경을 구성했으며, 외부 의존성은 WireMock으로 관리했습니다. 테스트 계층은 커버리지에 따라 세 단계로 나뉩니다. 먼저 서버가 정상 실행되는지 확인하는 Smoke 테스트, MSA 상에서 개별 서비스 간 연결 상태를 확인하는 E2E 테스트를 작성해 순수한 MSA 환경 상태를 검증합니다. 이후 Acceptance 테스트로 서비스에 대한 본격적인 검증을 진행합니다. MSA 환경의 문제 영역에 맞게 테스트 계층을 분리해 빠른 피드백을 받을 수 있었습니다.
모든 엣지 케이스를 처음부터 작성하는 것은 테스트 도입 부담을 키우기에, 먼저 유저의 해피 케이스 중심으로 인수 조건을 작성했습니다. 해피 케이스가 안정된 이후 배포를 거듭하며 필요한 엣지 케이스를 리그레션 테스트로 추가하는 점진적 도입 방식을 택했습니다.

이러한 시나리오 기반 테스트를 통해 QA 이후에도 QA 수준의 테스트를 반복 수행할 수 있게 되었고, 격리 대신 통합된 테스트 환경을 구축해 MSA 환경에서 서비스 간 연결성을 검증할 수 있었습니다.
이 세션이 인상적이었던 건 단순히 성과를 나열하는 데 그치지 않았다는 점입니다. 발표자는 한 가지 질문을 던졌습니다. "그렇다면 이 테스트 전략은 얼마나 효과적이었을까?" 테스트 성과는 배포 실패율이나 장애 건수처럼 유의미한 수치로 측정하기 어렵습니다. 하지만 발표자는 측정하기 어렵다고 의미가 없는 것은 아니라고 강조했습니다.
발표자는 개발팀 인터뷰 결과를 공유했습니다. 테스트 코드 작성이 번거롭다는 의견도 있었지만, 시스템에 대한 신뢰성을 팀 전체가 공유할 수 있게 되었다는 반응이 더 컸습니다. 팀이 추구하는 가치가 당장의 불편함을 넘어 하나의 문화로 자리 잡았다는 것이 핵심이었습니다. 발표자는 이렇게 작은 시도부터 시작해 점차 팀 문화로 발전시켜나가는 도전을 권유하며 세션을 마무리했습니다.
이 세션을 통해 우아한형제들의 문화를 이해하게 되었습니다. 이전 세션들에서 '성과 위주'라고 느꼈던 발표들도, 사실은 각 부서가 추구하는 목표와 창출한 가치를 공유하는 자리였습니다. 부서가 자신의 가치를 명확히 인식하고 조직에 공유하는 것, 그 자체가 의미 있는 일이었습니다.
각 부서의 가치를 인정하고 공유하는 것, 이것이 우아콘의 목적이자 우아한형제들 조직 문화의 핵심으로 느껴졌습니다. 각 부서가 명확한 가치를 가지고, 그 가치들이 서로 연결되면서 시너지를 만들어냅니다. 앞서 단순한 '횡단 관심사'로만 느껴졌던 UX TF팀이나 SRE팀도, 이렇게 보니 조직의 다른 부서들과 상호작용하며 새로운 가능성을 여는 것 같았습니다.
이런 조직 문화는 우아한형제들을 새롭게 보게 만들었습니다. 배민은 이미 시장을 선도하는 위치에 올랐고, 성장기는 지났다고 생각했습니다. 하지만 우아콘에서 본 모습은 달랐습니다. 각 부서는 여전히 살아 움직이며 새로운 가치를 만들어내기 위해 끊임없이 시도하고 있었습니다. 안정기에 접어든 대기업에서 이런 내부 활력을 유지한다는 것이 얼마나 어려운 일인지 생각하니, 더욱 인상적이었습니다. 이런 문화가 배민의 폭발적 성장을 가능하게 했고, 지금도 그 문화를 이어간다는 것을 우아콘을 통해 느낄 수 있었습니다.
마치며
우아콘에 대한 처음의 회의감은 완전히 사라졌습니다. 기술 컨퍼런스를 단순히 '새로운 기술을 배우는 곳'으로만 생각했던 제 시야가 얼마나 좁았는지 깨달았습니다. 우아콘은 기술을 넘어 문화를 보여줬습니다. 조직이 어떻게 움직이는지, 각 팀이 어떤 가치를 만들어내는지, 그리고 그 가치들이 어떻게 연결되어 더 큰 성과를 만드는지 배울 수 있었습니다.
우아한테크코스 크루로서 이런 기회를 얻게 되어 감사합니다. 언젠가 저도 무대에 서서 우리 팀이 만들어낸 가치를 공유할 수 있는 날이 오길 기대합니다.