LY Corporation Tech Blog

LY Corporation과 LY Corporation Group(LINE Plus, LINE Taiwan and LINE Vietnam)의 기술과 개발 문화를 알립니다.

LINE 개발자를 위한 오프라인 밋업, Push&Pull

여러분은 주로 어디서 기술 정보를 얻으시나요?

블로그, YouTube 등 다양한 방법이 있지만, 동료에게서 얻는 지식도 많습니다. 잠깐의 티타임, 회식 자리 등 일상적인 교류에서 예상치 못한 WOW 포인트를 마주하기도 하지요. LINE Plus Developer Relations 팀에서는 이런 순간에 주목해 사내 기술 밋업을 기획했습니다. 기술을 바탕으로 주변 개발자와 교류할 수 있는 시간입니다. 사내 개발 조직 구성원의 호응을 받았던 이번 행사를 사내외 독자 여러분께 소개하고자 합니다. 

LINE 개발 조직 구성원의 목소리를 담아

LINE에서는 오피스와 리모트 근무를 넘나들 수 있습니다. 최고의 성과를 위해 최적의 근무 형태를 찾아가는 근무제인 LINE Hybrid Work를 시행하고 있기 때문입니다. 이에 온라인으로 협업하는 방법도 안착되어 있고, 다양한 규모의 온라인 행사도 열립니다. 새로운 방식의 교류가 자리를 잡았지만, 또 다른 교류 의사가 있지는 않을까요?

실제 교류 의사를 확인하기 위해 개발 조직을 대상으로 설문을 진행했습니다. 총 128명이 응답한 설문조사에서는 놀라운 결과가 나왔는데요. 무려 약 97%가 사내 다른 개발자와 교류 의사가 있다고 답변했습니다. 교류 의사로는 '다른 팀에서 어떻게 쓰는지 궁금해서'(61.7%)라는 이유가 가장 많았고, '다른 기술을 배워보고 싶어서'(25%), '친목 도모'(10.9%)라는 이유도 있었습니다. 사내 개발 밋업이 열린다면 선호하는 방식에 대해서는 오프라인(66.4%)이 온라인(30.5%)에 비해 두 배 정도 우세하게 나타났습니다. 

이렇게 LINE 개발 조직 구성원의 목소리를 담아 교류할 수 있는 '밋업'을 '오프라인'으로 기획했습니다. 사내 개발 조직 구성원들의 교류를 증진하고 네크워크를 형성하는 것을 목표로, 이름은 Push&Pull로 정했습니다. 개발자에게 아주 익숙한 Git 명령어 push와 pull을 떠올리게 하며, 밋업에서 교류하면서 서로 밀고 당긴다는 협동의 의미를 담았습니다. 

지금까지 진행한 4개의 기술 주제

그럼 지금까지 Push&Pull에서 어떤 주제로 밋업을 진행했는지 소개합니다. 지난해 12월부터 올해 3월까지 네 번의 밋업을 진행했으며, 밋업의 주제도 사전 설문을 진행해 LINE 개발 조직 구성원들의 요구사항을 담았습니다. 

매 행사 LINE 개발자들이 자발적으로 다양한 세션을 준비했습니다. 많게는 한 행사에서 12개의 세션도 만나볼 수 있어, 다양한 기술 이야기를 들어볼 수 있습니다. 더욱이 이 세션을 준비한 사람은 가장 가까이 있는 전문가라고도 할 수 있는 동료 개발자였기 때문에 특별했습니다.

각 회차 진행한 키워드는 다음과 같은데요, 좀 더 자세히 살펴보겠습니다. 

회차키워드행사 배너 이미지
1쿠버네티스
2CDN과 GSLB
3Python
4Spring

Push&Pull #1: 쿠버네티스

첫 번째 Push&Pull은 쿠버네티스를 주제로 진행했습니다. 사전 설문을 진행했을 때 가장 많은 요청이 있었던 주제입니다. 발표를 원했던 사내 구성원도 많아 사내 CFS(Call for session)을 거쳐 총 12개의 세션을 투 트랙으로 준비했습니다. 

쿠버네티스는 사내에서 광범위하게 쓰이고 있는 기술인만큼 다양한 사례가 공유됐습니다. 다음 세션은 특히 쿠버네티스를 신규로 도입하는 사내 구성원들에게 안정적인 구성에 대해 알 수 있어 도움되었다는 평을 얻은 세션들입니다. 

  • Pay 쿠버네티스의 배포 방식과 방향성 - 유재훈
  • LINE BK 태국 모바일 뱅킹 서비스, 쿠버네티스 도입 스토리 - 김주형
  • LINE NEXT 쿠버네티스 적용 사례 및 운영 노하우 - 이동원
  • 광고 리뷰 시스템, 쿠버네티스로의 여정 - 김병국
  • Words 웹사이트 론칭 이야기 - 전정은

업무에서 쿠버네티스를 유용하게 사용할 수 있는 꿀팁도 다수 접할 수 있었습니다. 이미 쿠버네티스를 활용하던 사용자들의 관심을 끈 세션들입니다.

  • VKS와 Istio를 이용한 Multi-region 쿠버네티스 구축과 활용 - 류충환, 임경수
  • Informer를 사용한 쿠버네티스 Relay API Server 성능 개선 경험 소개 - 이현규
  • Managed Large-scale Multi-tenant K8s cluster for Data Platform 구축 이야기 - 이현재
  • 파드 분산처리를 위한 topologySpreadConstraints 활용 사례 - 문범우
  • 쿠버네티스 1.28에 도입된 네이티브 사이드카 컨테이너 소개 - 임찬식
  • 쿠버네티스로 커스텀 리소스 정의하고 관리하기 (feat. controller-runtime) - 문현균, 강인배
  • 쿠버네티스에서 작동하는 애플리케이션을 위한 Observability - 유동균

수준 높은 강연이 많았던 만큼 청중의 호응도 높았습니다. 세션 평균 50명이 참여했고, 누적 참여자는 604명에 달했습니다. '관심사가 비슷한 다른 부서 직원을 대면으로 만나볼 수 있어 좋았다', '대면으로 관심 있는 스택에 대해 세션을 들을 수 있어서 좋았다', '오랜만에 회사 사람들을 보게 되어 좋았다' 등 오프라인 기술 공유에 대한 긍정적인 반응이 많았습니다. '이런 자리가 계속 있었으면 좋겠다', '다른 주제로도 밋업을 주기적으로 진행했으면 좋겠다' 등 다음 행사에 대한 기대감을 담은 반응도 쏟아졌습니다.

유익한 세션뿐만 아니라 행사 분위기를 즐길 수 있는 이벤트도 준비했습니다. 일찍 도착한 분들께는 이번 행사에서만 만나볼 수 있는 쿠버네티스 마카롱을 증정했습니다. 또 세션을 여러 개 들으면 다양한 LINE DEV 굿즈를 증정하는 추첨 행사도 진행했습니다.

네트워킹 시간에는 동료들과 함께 쿠버네티스 이야기를 이어나갔습니다. 피자와 무알콜 맥주를 먹으면서 자유로운 분위기에서 다양한 이야기를 할 수 있었습니다. '다양한 분야의 직원과 소통할 수 있어 유익했다', '신기하고 좋았던 자리였다'는 평을 얻었습니다. 

Push&Pull #2: Mission Possible

두 번째 주제는 CDN과 GSLB였습니다. 이 밋업은 글로벌 트래픽을 담당하고 있는 Enablement Engineering 조직의 시니어 엔지니어들이 그간의 경험을 함께 나누기 위해 마련되었습니다. LINE의 글로벌 트래픽을 'CDN과 GSLB'로 지켜낸다는 의미에서 밋업 제목은 다소 길지만 '미션 파서블: CDN과 GSLB로 지켜내는 글로벌 트래픽'으로 정하였습니다. 식사와 음료도 행사의 콘셉트에 맞춰 디자인하여 행사 분위기를 만들어 보았습니다.

밋업은 아래와 같이 두 개의 세션으로 구성되었습니다.

  • GSLB, control traffic intelligently - 노승헌
  • Content Delivery Network, Outpost of your service - 박지웅

밋업을 통해 글로벌 대규모 트래픽을 처리하는 데 필수적인 요소인 GSLB와 CDN에 대해서 알아보고 LINE의 사례와 경험을 공유하였습니다. LINE의 글로벌 트래픽과 관련된 생생한 이야기 덕분에 ‘실제 GSLB 사례를 공유해 주셔서 많은 도움이 되었고 흥미로운 내용이었다’는 평도 얻을 수 있었습니다. 

네트워킹 세션은 '피쉬볼'이라는 흥미로운 포맷으로 진행되었습니다. 어항을 닮은 이 구조는 모든 참여자가 대화에 참여할 수 있는 열린 형태가 특징입니다. 참가자들이 동그랗게 둘러앉아 가운데에 위치한 발표자의 이야기에 집중하며, 대화에 참여하고 싶은 사람이라면 누구나 가운데로 나와 이야기를 나눌 수 있습니다. 여러 엔지니어들의 의견을 청취하고 경험을 공유하는 의미에서 새롭게 시도했습니다. 질문이 있는 사람은 가운데로 나오는 구조라 다소 낯설어하는 경우도 있었지만, 보다 가까운 거리에서 깊이 있는 Q&A를 나눌 수 있었습니다.

행사 후 참석자로부터 '사내 밋업이 지속적으로 이루어지면 좋겠다', '덕분에 오랜만에 회사 가서 기분 전환되고 좋았다', '1회, 2회 모두 참석했는데 Developer Relations에서 신선하고 다양한 네트워킹 세션을 준비해 주셔서 좋았다'는 후기가 있었습니다. 

Push&Pull #3: Python in LINE 

세 번째는 'Python in LINE'을 주제로 열렸습니다. Python의 쓰임새가 다양한 만큼 다채로운 주제의 세션이 접수되었습니다. 문법, 서버, 보안, 오픈소스, 웹 프레임워크 분야의 세션을 만날 수 있었습니다. 

  • Python-Man in LINE - 배권한
  • 형! 파이썬에도 형(形, type)이 있다는데? - 이효건
  • Python으로 서버 관리하기: Python script부터 daemon까지 - 좌유수
  • Verda Functions: bottle에서 FastAPI로 리팩터링 - 민성재
  • Python Security Best Practices - 이상민
  • CPython In LINE - 나동희

'이렇게 Python 유저가 많았다니' 싶을 정도로 세션 참여도도 높았습니다. 세션 평균 60명이 참여했고, 누적 참여자는 363명입니다. '각 분야에 등단자를 모집해 세션을 진행하는 게 좋았다'며 주변 동료들이 기술 공유해 주어 뜻깊었다는 반응은 물론, 오프라인 밋업에 대한 긍정적인 반응도 이어졌습니다. '소속감을 위해 주기적으로 이런 행사가 있다면 좋겠다', '회사에서 개발자들과 이런 컨퍼런스를 함께 참여할 수 있다는 것 자체가 정말 좋다'는 후기가 있었습니다.

사내 Python 멤버와 함께하는 네트워킹 시간도 이어졌습니다. 대관한 공간을 꽉 채울 만큼 많은 사내 구성원들이 자리해 주셨는데요. 6개의 세션을 주제로 한 퀴즈를 시작으로 분위기를 띄워보았습니다.

사전에 접수한 Python 관심 분야를 바탕으로 자리를 배정했기 때문에 더 깊은 이야기를 나누었습니다. 각 그룹 별로 'Python 오픈소스 기여', '기본 기능 / 입문', '심화 기능', 'Machine Learning', '업무 자동화 / 효율화'를 주제로 이야기를 나누었습니다. 관심사가 같은 동료와 교류해 '여러모로 인사이트를 얻을 수 있어서 좋았다', '관심 주제별로 모일 수 있어 좋았다'는 소감이 있었습니다.

특히 Python 오픈소스 생태계에 발을 담근 사내 구성원들이 자리해 유익했습니다. 이번 네트워킹에서는 발표자기도 한 Python 소프트웨어 재단 이사인 배권한 님, Python 공식 커미터인 나동희 님과도 교류할 수 있었습니다. 운영자로서 뿌듯했던 점은 이번 교류를 계기로 새로운 시도를 해보는 개발 조직 구성원이 있었다는 점입니다. 네트워킹 자리에서 오픈소스 기여에 대한 용기를 얻고, 한 LINE 개발자는 대규모 오픈소스에 기여를 시작했습니다.

Push&Pull #4: SPRING into action with LINE 

마지막 밋업은 서버 개발자들이 자주 사용하는 기술인 Spring을 주제로 진행되었습니다. 행사명은 'SPRING into action with LINE'이었는데요. Spring을 프레임워크와 동시에 행사가 진행되는 '봄'을 상징하는

 것으로 해석하여, 밋업을 통해 Spring 기술을 탐색하고 소통과 공유하는 과정에서 새로운 동기와 기회를 얻을 수 있다는 의미로 만들고자 하였습니다.

아래와 같이 세 개의 세션을 준비했으며, 각 세션에는 약 50명의 엔지니어가 참여했습니다. 

  • 스프링 컨트리뷰터 도전기: 스프링 컨트리뷰터에게 직접 듣는 스프링 세상 이야기 - 김인제
  • Spring Boot version up 어디까지 해봤니? - 방병현
  • 쉽고 빠른 API 작성 방법 - Spring 6의 HTTP interface VS Retrofit - 엄익훈 

행사 이후 지금까지 다양한 주제로 행사를 진행해온 점에 대한 긍정적인 피드백도 있었는데요. 참석자들은 '다양한 분야에 걸쳐 지속적으로 개최되어 좋다'며, '자신이 사용하는 분야가 아니더라도 관심이 있는 분야에 대해 기술적인 인사이트를 얻을 수 있어 좋다' 등의 반응이 있었습니다.

행사 후에는 같은 장소에서 네트워킹도 이어졌습니다. 참여자들은 치킨과 피자를 먹으며 공통의 관심사에 대해 자유롭게 대화를 나누었는데, 이 시간을 통해 '같은 기술 분야에 관심 있는 다른 팀의 개발자들과 맛있는 음식을 즐기며 편안하게 대화를 나눌 수 있어 매우 즐거운 시간이었다'는 반응이 있었습니다.

다음에 만나요 

Push&Pull을 통해 오랜만에 복작복작하게 교류하는 시간을 가져보았습니다. 지금까지 4회의 행사를 진행하면서 '이런 행사가 필요했다'는 반응이 많았습니다. '오랜만에 회사에서 다른 동료와 교류하고 좋은 인사이트를 얻었다'는 피드백은 전 회차에서 꾸준히 나와, 오프라인 교류가 필요했다는 시점이라는 것을 다시금 느끼게 되었습니다. 

일부 세션은 YouTube 채널 라인개발실록과 지금 보고 계신 이 LY Tech Blog에도 업로드될 예정입니다. 관심 있다면 두 채널을 확인해 주세요. 오프라인으로 참석하지 못한 LINE 개발자를 위해서 사내 교육 플랫폼에 모든 세션 영상을 업로드했으니, LINE 개발자는 사내 교육 플랫폼을 확인해 주세요.

FY24에도 Push&Pull은 계속될 예정입니다. 매회기 접수한 개선점도 꾸준히 타임테이블 구성, 주제 선정, 네트워킹 방식 등 다방면으로 적용하고 있는 만큼, 앞으로 더 좋은 행사로 찾아오겠습니다. 또한 동료와 함께 이야기를 나누고 싶은 기술 주제가 있는 LINE 개발자라면 Developer Relations로 연락 주세요. 마지막으로 매달 행사를 진행한 Developer Relations 팀 멤버들에게 감사를 전합니다.