개발자가 말하는 800만 다운로드 화장품 앱 ‘화해’

 

 

안녕하세요. No.1 화장품 정보 플랫폼 화해입니다.

 

화해 블로그는 화해 사용자, 버드뷰 채용에 관심이 있으신 분들 등 다양한 분들께 유용한 정보를 제공하기 위해 노력하고 있어요. 오늘은 특히 그 중에서 개발자 분들께 ‘화해’를 소개해 드리고자 해요. 혹시 화해를 ‘화장품 앱’이라고만 생각하고 있는 개발자 분이 계시다면 오늘 이 콘텐츠에 주목해 주세요.

 

화해는 화장품을 다루는 서비스이면서 동시에 ‘정보’를 다루는 ‘앱’이에요. 그래서 굉장히 많은 제품 및 사용자 관련 데이터들을 보유하고 있어요. 수 많은 데이터로부터 생성되는 정보를 바탕으로 마음껏 ‘개발’을 하고자 하는 개발자 분들을 위해 화해 개발팀을 이끌고 계신 김동한님을 만나 유용한 정보들을 모아봤어요. 그럼, 개발자 분들을 위한 화해와 화해를 만드는 기업, 버드뷰를 소개합니다.

 

 

Q. 화해는 업계 최대 화장품 정보 데이터를 보유한 곳으로 알고 있는데, 관심있는 기술은 어떤 게 있나요? 
화해는 다운로드 수 800만 이상, MAU 130만, 등록된 제품 수 15만 개, 리뷰 수 450만 이상이에요. (2019. 12) 그만큼 보유 데이터도, 생성되는 데이터도 많아요. 이렇게 많은 데이터를 사용자에게 가치 있는 정보로 제공하기 위해서는 많은 기술과 개발이 뒷받침되어야 해요.

 

대표적인 예로 AI 활용 기술을 이용한 리뷰 서비스를 들 수 있는 데요. 리뷰는 사용자 경험을 바탕으로 작성된 글이기 때문에 정성적인 내용의 문장으로 구성되어 있어요. 정성적인 문장을 사람이 일일이 확인하고 판단해 유의미한 정보로 재구성하기란 매우 어려운 일이에요. 그런데 AI를 활용하면, 객관적인 정보로 정리하는 데 많은 도움을 받을 수 있어요.

 

AI는 이미 검증된 기술이고, 시장에서 보편적으로 활용되고 있는 기술인만큼 화해에서도 유저 한 사람 한 사람에게 의미 있는 정보를 제공하는 데 꼭 필요한 기술이라고 생각해요. 앞으로 화해에서도 이와 관련한 기술을 만들고, 역량을 쌓아 나갈 계획입니다.

 

Q. 화해는 유저 활동이 굉장히 활발한 곳인 만큼 데이터나 트래픽 관련 경험도 많이 할 수 있을 것 같은데요?
네, 맞아요. 월간 이용자 수만해도 엄청나죠. 

 

로드 밸런서를 통해 트래픽을 자동 대응하는 시스템이 잘 마련되어 있지만, 일상적이지 않은, 특정한 이벤트에 의해 트래픽이 늘어날 때 대응하는 구조는 더 고도화할 수 있는 여지가 있다고 생각해요. 화해에서는 지금보다 더 유용하게 트래픽에 대응할 수 있는 서버리스 구조, 순간적인 트래픽에 대응하기 위한 캐시 기능, 분산처리를 위한 클러스터링 설계 등을 고도화하기 위한 도전을 할 수 있어요.

 

Q. 최근 중요하게 생각하는 개발 파트 이슈는 무엇인가요?
서버 쪽에서는 테스트 자동화와 장애 처리 고도화에 대한 이슈가 있어요. 테스트 자동화의 경우 리팩토링을 효율적으로 하려면 테스트 자동화가 잘 이뤄져야 해서 중요하게 생각하고 있어요. 장애 처리 고도화는 서비스나 비즈니스의 안정적인 운영을 위해 중요한 문제로 보고 있고요. 그동안 상대적으로 집중을 많이 하지 못한 부분이라, 보완하기 위해 노력하고 있어요.

 

모바일 쪽에서는 테스트 자동화와 기존 코드를 새로운 구조로 바꾸는 작업을 진행하고 있는데, 이 작업을 잘 마무리하는 게 요즘 이슈예요.

 

Q. 버드뷰의 개발 업무 환경은 어떤가요? 특징이 있나요?
버드뷰는 화해 서비스의 발전을 위해 개선해야 할 점이나 서비스의 문제점을 모두 ‘과제’라는 이름으로 부르고 있어요. 각각의 과제를 해결하기 위해 개발팀, 제품기획팀, 제품디자인팀, 데이터팀이 ‘밴드’라는 크로스 펑셔널팀(Cross Functional Team)을 이루어 유기적으로 움직이고 있는데, 이 부분이 가장 큰 특징이 될 것 같아요. 개발자는 개발팀이라는 팀이 있지만, 각자가 담당하는 밴드의 소속으로 일하게 돼요. 이를 통해 효과적인 커뮤니케이션과 원활한 협업을 이끌어 낼 수 있어요.

 

Q. 코드 리뷰는 어떻게 진행하시나요?
같은 직군에 있는 개발자가 함께 코드 리뷰를 할 수 있도록 github를 통해 진행해요. 리뷰 방법이나 규칙은 함께 리뷰하는 개발자들이 자체 회의를 통해 결정하는 데요. 각 플랫폼별로 Best Practice를 통해 방향성을 설정하고, 내부적으로 코드리뷰를 최적화하기 위한 규칙과 비효율을 제거하기 위한 규칙을 결정하고, 그 규칙에 맞게 코드리뷰를 진행해요.

 

 

 

 

Q. 컨벤션 협의는 활발하게 이루어지나요?
디테일에 포커스를 맞추기보다는 개발자 간 업무 협의 과정이라는 것에 포인트를 맞추고 있어요. 서로의 코드를 잘 이해하기 위해 큰 범위에서 정한 규칙을 확인하고, 코드리뷰로 나온 결과물을 컨벤션에 추가하거나 보완하는 방식으로 고도화하고 있어요.

 

Q. 개발자마다 기술적 시각이 다를 텐데, 여기에서 오는 문제(현실적인 문제)를 해결하기 위한 버드뷰 개발팀만의 문화나 커뮤니케이션 방식이 있나요?
이 부분은 버드뷰 기업 문화가 바탕이 되고 있어요. 버드뷰에는 여러 좋은 기업문화가 많은데, 그 중에서도 ‘동반성장’과 연결 지어 말씀드릴 수 있어요. 동반성장은 ‘상호존중 · 피드백 전달과 수용 · 성장 나눔’이라는 세 가지 키워드로 정리할 수 있어요. 개발팀에서는 커뮤니케이션할 때 ‘동반성장에 기반한 중재와 설득을 해야 한다’는 원칙이 있어요. 나와 동료가 함께 성장하기 위한 커뮤니케이션이라면 언제나 상호존중을 기반으로 자유롭게 의견을 나누고, 해결점을 찾아가요.

 

또한, 1년에 2회씩 진행하는 ‘피드백 세션’이 있는데, 피드백 세션을 통해 나와 동료의 업무, 버드뷰에서의 생활을 돌아보고 서로의 성장을 위한 피드백을 공유해요. 버드뷰는 평소에도 자연스럽게 피드백을 하는 문화이지만, 피드백 세션은 성장에 있어 큰 도움이 되는 아주 중요한 시간입니다.

 

Q. 개발자를 위한 사내 스터디도 있나요?
매주 월요일은 개발팀 스터디 시간으로 정해져 있어요. 버드뷰 개발팀에는 안드로이드, iOS, 서버, 프론트엔드 등 4개의 플랫폼이 있는데 월요일을 ‘플랫폼 품질 향상을 위한 시간’으로 정하고 플랫폼별로 모여 자유롭게 스터디를 해요.

 

Q. 채용 과정이 긴 편이라고 들었는데 개발팀의 채용 과정은 어떻게 되나요?
뛰어난 역량 보유는 물론, 버드뷰 문화와 잘 맞는 분을 모시기 위해 채용 과정이 다른 곳에 비해 긴 편이에요. 기본적으로 개발 과제가 있고 1차 면접, 2차 면접이 있는데 면접 시간이 각각 1-2시간으로 다소 길어요. 1차 면접에서는 주로 기술이나 팀 fit에 대해 질문하고, 2차 면접에서는 기업 문화나 일하는 방식이 버드뷰와 잘 맞는 분인지를 알 수 있는 심층 질문을 해요. 특히 개발 과제의 경우, 많은 지원자분들이 ‘재미있었다’, ‘좋은 경험이 되었다’라고 말씀해 주세요.

 

 

 

 

Q. 팀 fit에 대해 언급하셨는데, 팀 fit이란 무엇인가요?
말 그대로 팀원들과 얼마나 잘 맞는 분인가에 대해 확인하는 부분인데요. 기본적으로는 버드뷰 인재상인 ‘버드뷰 DNA’에 맞는 분인지를 확인하고, 그것을 팀 내 여러 역할과 상황에 맞춰 생각해요. 버드뷰 DNA는 다음과 같습니다.

  • 능동적이고 주체적인 사람: 스스로 문제를 정의하고 주변의 자원을 활용하여 문제를 해결하는 사람
  • 러닝 커브가 좋은 사람: 빠르게 학습하고 실행력이 강하고, 새로운 시도를 많이 하는 사람
  • 신뢰할 수 있는 사람: 솔직하게 자신을 드러내며, 스스로에게 부끄럽지 않도록 행동하는 사람
  • 함께 성장하는 사람: 피드백을 적극적으로 전달하고 수용하며, 다른 사람에게 긍정적인 영향을 주는 사람

 

Q. 버드뷰 개발자에게 중요한 역량이 있다면 무엇일까요?
크게 네 가지로 나누어 말씀드릴 수 있어요.

  1. 문제 인식: 각 밴드의 상황에 맞게 문제를 인식하는 것이 중요해요. 사용자에게 의미 있는 가치를 전달하려는 우리의 목표 달성을 위해 현재 어떤 문제가 있는지 파악하고, 파악한 문제 중 핵심 문제를 정의하는 것이 일의 첫 번째니까요. 과제를 잘 해결해야 목표를 향해 나아갈 수 있다고 생각해요.
  2. 기획: 문제를 잘 정의했다면 그 다음으로 문제 해결을 위해 기술적인 관점에서 솔루션을 제시하는 역량이 중요해요. 상황마다 적절한 솔루션을 제안하고, 그 중에서도 가장 효과적인 솔루션을 선정해 실행할 수 있어야 하죠.
  3. 중재/설득: 버드뷰와 버드뷰의 개발팀은 수평적인 조직문화 속에 있고, 특히 문제 해결을 위해 조직된 크로스 펑셔널팀에서는 충분한 논의를 거쳐 의사결정을 하고 있어요. 개발자는 기술적인 관점에서의 의견을 이해관계자가 충분히 이해할 수 있도록 설명하고 설득하거나, 이해관계자의 합당한 의견을 수용하거나 합의점을 찾아낼 수 있어야 해요.
  4. 전문성 향상: 문제를 해결하기 위한 솔루션을 제안하려면 전문성 개발은 필수예요. 전문성 개발을 위해서는 다양한 과제에 직접 도전하면서 경험을 쌓는 방법, 새로운 문제 해결 방법을 학습하는 방법이 있어요. 두 가지 방법을 모두 전략적으로 활용하며 전문성을 향상시킬 수 있는 역량이 필요합니다.

 

Q. 신규 입사 개발자를 위한 프로그램이 따로 있나요?
네. 있습니다. 입사 후 3개월 동안 신규 개발자가 원활하게 적응해 나갈 수 있게 기존 개발자 중 1명이 ‘온보딩 메이트’가 되어 신규 입사자를 적극적으로 도와드려요. 이 외에도 성장관리팀의 온보딩 프로그램이 있어 회사 생활 전반에서 잘 적응하실 수 있도록 돕고 있어요.

 

입사 후, 3개월 정도의 과정을 간략히 말씀드리면, 약 1개월은 서비스의 문제를 파악하고, 다음 1개월은 기술 부채 개선 과제를 선정/개선한 후 마지막 1개월은 서비스 개선 과제를 선정하고, 개선하는 과정으로 진행해요. 특히 이 기간 동안 실무 과제들을 진행할 때, 온보딩메이트는 신규 개발자가 주도적으로 과제를 설정하고 실행하실 수 있게 돕고 있어요.

 

Q. 개발자 채용을 많이 하고 계신데, 채용 계획을 말씀해 주세요.
2020년은 현재 개발팀 규모에서 약 2배 정도 증원을 계획하고 있어요. 서비스가 빠르게 성장하고 있고, 지속적인 성장을 위해 개발자 채용은 매우 중요한 부분이라고 생각해요. 안드로이드, iOS, 서버, 프론트엔드 등 모든 플랫폼에서 우수한 개발자 분들을 모시기 위해 상시 채용을 진행 중이니 많은 관심 부탁드려요.

 

 

 

 

 

 

 

by nc nd