개인회원 메뉴

개인회원 정보

이력서 사진
이력서 사진 없음
로그인 링크
로그인
회원가입 링크
아직 회원이 아니세요?

개인회원 서비스

JOBKOREA

직무인터뷰

직무인터뷰 상세

빅데이터/AI

(주)우아한형제들

우아한형제들 데이터 엔지니어

등록일자
2021.02.24
조회수
1,263

우아한형제들

강선구
데이터 엔지니어

 

 

소속 조직의 구성과 선구님께서 맡고 있는 역할에 대해 소개해 주세요.

안녕하세요, 데이터플랫폼팀의 데이터 엔지니어 강선구입니다. 우아한형제들이 서비스를 만들고 개선하는데 필요한 데이터를 분석하고 활용할 수 있는 환경을 개발하고 있습니다.

데이터 엔지니어는 회사에 ‘데이터’라는 세 글자만 들려도 출동한다고 표현할 수 있을 정도로 데이터와 관련된 다양한 일을 하고 있지만, 아래의 세 가지 역할을 주로 맡고 있다고 보시면 될 것 같습니다.

첫째는 배달의민족 서비스 데이터를 수집하고 분석할 수 있는 빅데이터 인프라를 구축합니다. 둘째는 수집된 데이터를 쉽게 분석할 수 있는 환경을 개발하고 제공합니다. 마지막으로 사내의 데이터 분석가, 과학자들과 협업하여 우아한형제들에 필요한 데이터를 직접 개발합니다.

그리고 현재 데이터플랫폼팀의 리더 역할을 맡으며, 회사에 더 나은 데이터 환경을 제공하기 위한 프로젝트를 제안하고 관리하는 역할을 겸하고 있습니다.

Interview 01

담당업무 및 협업과정

 

 

데이터를 관리하고 활용하시는 방법과 타 부서와의 협업 과정이 궁금합니다.

우아한형제들은 서비스를 만들고 개선하는 과정에서 다양한 방법으로 데이터를 분석하고 활용하기 때문에, 데이터와 서비스의 중심에 데이터 엔지니어의 역할이 큰데요. 이전 질문에서 답변한 3가지 업무 역할을 토대로 소개 드리겠습니다.

가장 먼저는 데이터의 수집과 관리입니다. 데이터 엔지니어들은 분석 활용이 가능한 모든 서비스 데이터를 수집하고 관리합니다. 주문이나 음식 메뉴 정보 같은 데이터 외에도, 배민 앱에서 발생하는 버튼 클릭, 페이지 이동 등 다양한 사용자 행동 기록을 실시간으로 수집하고 활용합니다.

배민 서버들이 대용량 트래픽을 처리하는 만큼, 저희 데이터 엔지니어들은 그 이상의 대용량 데이터를 견뎌내고 분석할 수 있는 시스템을 만들어야 합니다. 매년 서비스가 성장하는 만큼 더욱 높은 수준의 기술력이 요구되고 있어요. 데이터 수집, 관리 과정에서 담당 개발팀과 소통하여 서비스 부하를 만들지 않도록 신경 쓰고 있고, 정보보안팀과 소통하여 안전한 데이터와 환경을 제공하는 노력을 하고 있습니다.

두번째로는 데이터 분석 환경을 제공하는 일인데, 저희가 제공하는 분석 환경의 사내 고객은 다양합니다. 일반적으로 데이터 분석가나 개발직으로 한정되는 회사들이 많지만 저희는 사업, 서비스기획, 영업, 디자이너 등 거의 모든 직군의 구성원들이 데이터 기반으로 업무를 진행하고 있어요.

다양한 고객과 데이터를 대상으로 하는 만큼, 손쉽게 데이터를 접근하고 분석할 수 있도록 지원합니다. 예를 들어, Hadoop 시스템에 저장된 파일들을 SQL로 조회하거나 대시보드를 직접 생성할 수 있는 다양한 툴들을 제공합니다.

개발 직군 구성원들에게는 직접 빅데이터 통계나 머신러닝 등을 개발할 수 있는 환경도 제공하고요. 오픈소스를 많이 활용하지만, 사내 니즈에 맞춰서 직접 개발하는 경우도 흔합니다. 또한, 구성원들이 데이터를 잘 이해할 수 있도록 돕는 웹 어드민도 같이 개발하거나, 복잡한 시스템의 데이터 구조를 분석에 용이하게 데이터 마트를 생성하여 제공하는 역할도 하고 있어요.

세번째로 데이터를 활용한 고객의 경험 개선입니다. 배민의 데이터는 실제 고객 경험 개선을 위한 기능들로 재생산되어 서비스에 활용되고 있습니다. 배민 앱 고객에게 제공되는 배달 예상시간, 맛집 랭킹, 상품 추천 등의 기능들이 있으며, 사장님 고객들을 위한 각종 리포트와 AI 기반의 챗봇까지 정말 다양하게 활용되고 있어요.

서비스에 직접 활용되는 데이터인 만큼 기획자들과 함께 기능을 설계하며, 실제 개발 작업은 같은 데이터서비스실에 속한 데이터 분석가, 과학자 동료들과 함께 합니다.

데이터 엔지니어들은 담당 분석가, 과학자들이 설계한 로직이나 모델링 코드가 실제 서비스에서 안전하게 동작할 수준으로 구현 가능한지 검토하고, 이를 성능적으로 가장 최적화된 형태로의 데이터 파이프라인을 구현하는 역할을 맡습니다.

또한 생산된 데이터를 저희 팀에서 개발한 플랫폼을 통해 서비스 노출 시스템이 받아 가도록 안내하거나, 직접 실시간 API를 개발해서 서빙하기도 합니다. 이렇게 만들어진 기능들은 다시 저희 시스템을 통해 데이터가 수집되고 분석되며, 이후 기능 개선으로 이어지는 순환 구조를 가지게 됩니다.

Interview 02

성장에 관한 경험

 

 

우아한형제들에서 경험했던 것 중에서 가장 기억에 남는 에피소드를 이야기 해주세요.

‘배민장부’ 서비스에는 사장님들에게 매일 리뷰 감성분석 통계를 제공하는 기능이 있습니다. 저희 실 데이터 과학자 동료가 오랜 기간 딥러닝을 활용한 자연어처리 모델을 개발하여 사용자 리뷰의 긍정/부정 여부를 예측할 수 있게 되었고, 이를 서비스에 통계로 제공하여 바쁘신 사장님들이 고객을 더욱 잘 이해할 수 있도록 돕고자 과제를 진행하게 되었어요.

당시에는 딥러닝이란 기술을 사내에서 처음 서비스로 도입하는 사례였기 때문에 정말 많은 고민과 준비를 했습니다. 시스템 구조, 모델의 예측 속도, 시스템 확장성 등 기술적인 요소들 외에도 예측한 데이터에 대한 검증 프로세스나 불확실한 결과가 나올 경우에는 어떻게 서비스에 노출할 건지 등 다양한 고민을 함께 하며 만들었습니다.

지금 돌이켜보면 부족했던 점도 많았지만, 유사 프로젝트들이 사내에서 빠르게 진행될 수 있는 좋은 밑거름이 되었고, 무엇보다 기존에는 제공하지 못했던 유형의 가치를 고객들에게 새로 제공했다는 점에서 가장 기억에 남습니다.

Interview 03

역량에 대한 생각

 

 

우아한형제들의 데이터 엔지니어가 되기 위해서는 어떤 역량이 필요할까요?

데이터 엔지니어의 채용 과정에도 참여하고 있어서, 고민해 본 질문인데요. 현재 데이터서비스실 내의 여러 팀이나 파트 내에서 분업화되어 운영되고 있어 맡은 업무 유형에 따라서 필요한 역량도 조금은 달라질 수 있겠지만, 공통적으로 데이터 엔지니어 직군으로써 필요한 역량들을 말씀드리겠습니다.

첫째로, 데이터의 특성과 흐름을 명확하게 이해할 수 있어야 합니다. 저희 서비스는 배달이라는 고유한 도메인을 가지고 있고, 모든 서버 시스템이 MSA로 구성된 만큼 복잡도가 다소 높습니다. 데이터를 잘 이해할수록 최적화된 데이터 파이프라인을 개발할 수 있고, 특히 불필요한 개발 요소를 쉽게 제거할 수 있습니다.

여기서 면접 팁을 드리면, 인터뷰 과정에서도 배달 도메인에 대한 이해보다는 기존에 다뤄온 데이터에 대한 이해도를 보여드렸습니다.

둘째로, 빅데이터 처리 기술에 대한 충분한 이해도가 필요합니다. 다양한 데이터와 이슈를 다루기 위해서는 저희가 활용하는 기술에 대한 이해도와 경험이 중요합니다. 기본적으로는 Hadoop, Spark 환경에 대한 이해도를 기반으로 다양한 데이터와 이슈를 다루는 업무가 많습니다.

그 외에도 Kafka, Presto, Structured Streaming, Airflow, Tensorflow 등 다양한 기술 스택이 업무에 활용되는데요. 꼭 동일한 기술이 아니더라도 유사한 방식의 데이터 인프라 및 파이프라인 개발 경험과 이해도가 요구됩니다. AWS 클라우드를 주력으로 활용하지만, On-premises로 구축한 클러스터도 하이브리드로 운영하기 때문에 관련한 지식도 중요하게 생각하고 있습니다.

마지막으로, 커뮤니케이션 능력이 중요합니다. 어떤 업무를 맡아 진행하든 항상 여러 부서와 소통하고 함께 만들어가는 편입니다. 비개발직군과 소통하는 업무도 많고, 같은 개발직군이라도 빅데이터 처리에 대한 설명이 필요한 경우도 있습니다. 복잡한 영역을 다루는 만큼 쉽고 명확한 의사소통 역량이 필요합니다.

Interview 04

우아한 형제들의 개발문화

 

 

우아한형제들의 개발 문화를 자랑해 주세요!

회사 내에서도 정말 다양한 개발팀이 존재하다 보니 팀마다의 고유문화도 조금은 다를 수 있습니다. 다만 제가 우아한형제들에 합류하고 항상 일관되게 느끼는 점이 있는데요. 우아한형제들의 개발자들은 항상 변화에 적극적으로 대응하고 시스템을 개선하고자 노력합니다.

그리고 이를 위한 학습과 성장에 대한 욕심도 정말 강합니다. 배달의민족은 벌써 오픈한지 10년이 지난 서비스입니다. 하지만 서비스 측면에서도, 기술 측면에서도 정말 많은 변화가 빠르게 이루어지고 있어요.

입사했던 3년 전과 비교하면 가끔 같은 회사의 시스템이 맞는지 의구심이 들 정도입니다. 데이터 조직에 소속되어 있으면 전체적으로 서비스와 시스템들이 어떻게 변하는지, 개발자들이 어떤 고민과 논의를 하는지 직접 보고 듣게 되는데요. 누가 시키지 않아도 늘 열정적으로 함께 고민하고 만들어나가는 동료들의 모습을 쉽게 볼 수 있습니다.

그리고 그 과정에서 학습한 내용들을 전체 기술 조직에 공유하는 노력도 게을리하지 않습니다. 개발자로서의 당연한 모습이라고 이야기할 수도 있겠지만, 수백 명의 개발자들이 함께하는 조직에서 이렇게 한결같은 모습을 유지하는 건 쉽지 않다고 생각합니다.

서비스의 빠른 성장도 개발자들이 이런 문화를 유지할 수 있는 큰 원동력입니다. 코로나 이전에도 저희 서비스는 역대 최고 트래픽을 자주 갱신하고 있었고, 매년 더 높은 수준의 기술력이 요구되고 있습니다.

제가 맡고 있는 시스템도 입사 당시와 비교하면 10배 이상의 처리 성능을 필요로 하는데요. 결국 서비스의 성장이 개발자들의 성장을 요구하기도 합니다. 이런 상호보완적인 관계가 우아한형제들의 개발 문화를 함께 만들어간다고 생각합니다.

 

선구님과 같은 데이터엔지니어로서의 커리어를 계획하는 분들에게 응원의 한 말씀 부탁드립니다.

제가 구직자 입장이었던 시절에도 데이터 엔지니어라는 직군은 각 회사에서 어떠한 일을 어떻게 하는지 정보를 찾기가 어려운 편이었습니다. 회사에서 채용을 하는 입장이 되어서도 채용공고나 짧은 인터뷰 시간에 충분한 설명을 드리지 못하는 점이 늘 아쉬웠는데요.

이번 기회를 통해서 지원자분들에게 조금이나마 도움이 되길 바래봅니다. 종종 업계 후배들에게 이런 질문을 받습니다.

“어느 정도 크기의 데이터를 다뤄봐야 배민에서 데이터 엔지니어로 충분할까요?”

저도 ‘빅데이터’라는 표현을 종종 사용하지만 사실 그 정의에 대해서는 논란의 여지가 많습니다. 업계에는 우아한형제들보다 더 큰 데이터를 다루는 곳도 있고, 적은 곳도 있을 텐데요. 큰 데이터를 다룰수록 자연스럽게 하는 경험이나 고민도 있지만, 데이터 크기와 상관없이 고민하고 해결해야 하는 본질적인 문제들을 다루는 게 더 중요하다고 생각합니다.

특히 우아한형제들처럼 지속적으로 서비스가 성장하는 환경에서는 더욱 그렇습니다. 혹시라도 저와 비슷한 고민을 하시는 분이라면 지원하시면 좋겠습니다.

 

>> 우아한형제들 기업정보 보러가기

>> 지금 채용 중인 IT 직무 보러가기

저작권은 잡코리아(유)에 있으며, 무단전재 및 재배포를 금지 합니다.

‘(주)우아한형제들’ 다른 취업정보