데이터 사이언스 자동화의 추세와 전망, 그리고 인간의 역할

최근 CACM에 데이터 사이언스 자동화에 대한 아티클이 나왔다. 최근 쓴 커리어 관련 글에서 비슷한 주제를 언급하기도 했고, 평소에 관심있는 주제라 아티클 내용 소개 및 저의 의견을 적어볼까 한다.

데이터 사이언스 자동화?

분야를 막론하고 자동화는 반복적인 일을 기계에게 맡기고 이를 통해 비용을 아끼고 좀더 생산적인 업무에 집중하는 것을 가능하게 한다. 데이터 사이언스 업무에도 반복되는 부분이 많고, 최근 치솟는 연봉이나 채용의 어려움을 감안하면 분명 자동화에 대한 큰 인센티브가 존재한다.

하지만 자동화가 모든 문제에 적용되는 해결책은 아니다. 자동화를 위한 솔루션이 아예 존재하지 않거나, 자동화에 따른 비용이 효용을 넘어서는 경우도 존재한다. 이처럼 비용 혹은 기타 문제로 자동화가 불가능하거나 구현 범위가 제한되는 경우도 있다. 다음과 같은 조건을 만족해야 자동화가 가능하거나, 자동화에 따른 혜택을 누릴 수 있을 것이다.

일반적인 자동화의 조건

또한 ‘자동화’라는 용어가 인간의 노력을 기계가 100% 대체한다는 의미는 아니다. 데이터 사이언스의 자동화는 가장 루틴한 부분부터 자동화된 알고리즘 및 시스템이 차근차근 개발되고, 이를 통해 데이터 사이언티스트 및 엔지니어의 업무가 더 효율화되는 과정에 가깝다. 따라서 오히려 지루하고 반복되는 작업이 줄어들고, 그 자리를 좀더 창의적인 문제해결이 채울 것이다.

데이터 사이언스 자동화의 영역별 차이

이를 염두에 두고 데이터 사이언스의 각 영역을 살펴보자. 앞서 소개한 아티클에서는 데이터 사이언스를 아래 네가지 축으로 분류하고 있다. (아래 사분면의 X/Y축은 위에서 소개한 기준 1/2에 해당한다.) 그리고 저자의 설명에 따르면 분명한 정답이 (레이블 및 평가 척도) 존재하며 비교적 도메인의 영향을 덜 받는 모델링이 가장 자동화가 쉬운 부분이며, 정답을 정의하기 어려우며 도메인 지식이 필요한 탐색적 분석이 자동화가 어려운 부분이라고 한다.

자동화의 관점에서 살펴본 데이터 사이언스의 네 영역

영역별 자동화에 대한 전망

위에서 소개한 영역별로 자동화의 진행 상황 및 전망을 생각해보자. 먼저 각 분야별로 위 아티클 저자의 전망을 소개한다. (기계번역 결과라 일부 매끄럽지 못한 부분 양해를 구한다)

위 그림에서 우리는 모델 구축 이 자동화가 가장 직접적인 영향을 미칠 것으로 예상할 수 있는 곳임을 알 수 있습니다. 이는 실제로 자동화된 기계 학습(AutoML)의 성공 사례입니다. 그러나 이러한 영향의 대부분은 지도 학습을 기반으로 하는 모델링 접근 방식에서 발생했으며 자동화는 다른 종류의 학습 또는 모델링 작업에 대해 훨씬 덜 개발되었습니다.

데이터 엔지니어링 작업은 일반적인 데이터 분석 프로젝트에서 인간 노력의 80%를 차지하는 것으로 추정됩니다. 결과적으로 자동화가 이러한 인간의 노력을 줄이는 데 중요한 역할을 할 수 있다고 예상하는 것은 당연합니다. 그러나 데이터 엔지니어링 작업을 자동화하려는 노력은 모델 구축 을 자동화하려는 노력에 비해 현재까지 성공률이 낮습니다.

데이터 탐색에는 데이터 세트가 주어진 관련 질문 식별, 데이터 구조 해석, 도메인에서 제공하는 제약 조건과 데이터 분석가의 배경 및 의도 이해, 데이터 윤리, 개인 정보 보호 및 공정성과 관련된 문제 식별이 포함됩니다. 배경 지식과 인간의 판단은 성공의 열쇠입니다. 결과적으로 데이터 탐색이 자동화가 어려운 부분인 것은 놀라운 일이 아닙니다.

마지막으로 리포팅 및 의사결정 (Exploitation) 은 실행 가능한 통찰력과 예측을 결정으로 바꿉니다. 이는 조직에 상당한 영향을 미칠 수 있으므로 일정 수준의 감독과 사람의 개입이 종종 필수적입니다. 예를 들어 새로운 AI 기술은 결과 보고 및 설명을 자동화하는 데 새로운 기회를 제공할 수 있습니다.
Source: Automating Data Science (CACM March 2022)

여러분은 저자의 의견에 동의하는가? 필자는 대체로 동의하지만 의견이 다른 부분도 있다. 아래는 각 영역별 자동화에 대한 필자의 전망이다. 아래 영역명 옆에 ‘자동화 전망’은 자동화의 효용과 비용을 고려했을때 얼마나 자동화가 가능할지에 대한 예측치로 ‘하’에서 ‘상’으로 갈수록 자동화가 용이하고 그 범위도 넓을 것으로 본다는 의미다.

데이터 엔지니어링 (자동화 전망: 하)

기계가 여러 원본 유형의 데이터와 다양한 요구사항을 수합하여 복잡한 데이터 파이프라인을 만들 수 있을까? 세상에 존재하는 다양한 데이터와 조직별로 다른 요구사항을 고려할때, 필자 역시 데이터 엔지니어링이 완전히 자동화되는 세상은 가까운 미래에는 오지 않을 것이라고 생각한다. 또한 데이터 파이프라인은 보통 수년 단위의 수명을 가지며, 망가졌을때 데이터 유실 및 비즈니스 영향이 아주 크다. 자동화해서 싸게 만드는 것 보다는 노력을 들여 제대로 만들어야 하는 부분이다.

따라서 데이터 엔지니어링에서의 자동화는 전체적으로 인간의 개입을 없애는 방향보다는, 부분적으로 반복적이고 루틴한 영역을 자동화하는 방향을 진행될 것으로 보인다. 위 아티클에서는 데이터 병합시 스키마 매칭의 문제를 해결해 주는 FlashExtract라는 연구의 사례를 들고 있는데, 이외에도 원본 데이터 및 처리 결과에서의 오류 발견, 자동화된 메타데이터 생성 등 실무에서 자동화의 효과를 볼 수 있는 다양한 영역을 생각해볼 수 있다.

자동 스키마 추출 사례 (FlashExtract)

탐색적 분석 (자동화 전망: 중)

탐색적 분석은 주어진 데이터셋을 검증하고, 다양한 관점에서 문제에 대한 가설 및 패턴을 추출하는 단계다. 이 영역 역시 세상에 존재하는 데이터셋과 문제만큼이나 다양한 접근 방법이 있으니 완전한 자동화는 힘들것이다. 특히 발견가능한 수많은 패턴 중에 어떤 패턴이 다음 단계에 유용할지는 도메인 지식이 필요한 부분이다. 하지만 데이터의 유형 및 발견 대상이 되는 패턴의 종류에 대한 몇가지 가정을 한다면 상당 부분 자동화가 가능하다.

예를 들어 테이블 형태의 데이터라면 데이터의 검증은 개별 컬럼의 분포 및 이상값을 보는 것으로, 데이터에서의 패턴 발견은 컬럼간의 상관도 계산 및 관계에 대한 시각화를 해보는 것을 시작할 수 있다. 이 부분에 대한 자동화 만으로도 시간과 노력을 절감할 수 있으며, 이미 파이썬 및 R 기반으로 기본적인 EDA를 자동화하는 다양한 솔루션이 있다. 아래 그림은 pandas-profiling 라이브러리에서 자동 생성된 리포트에 대해 다양한 분석을 수행하는 과정을 보여준다. (Source: Medium)

pandas-profiling과 같은 자동 EDA 툴은 분석가의 노력을 많이 줄여준다.

예측 모델링 (자동화 전망: 상)

위 아티클 저자도 밝혔지만 흔히 데이터 사이언스의 가장 ‘섹시한’ 부분으로 생각하는 (따라서 많은 사람들이 하고싶어하는) 예측 모델링은 역설적으로 가장 쉽게 자동화될 수 있는 부분이다. 충분한 양의 클린 데이터와 목적 함수가 주어진다면 가능한 모델 및 하이퍼파라메터를 탐색해서 최적의 예측 모델을 만드는 것은 현재 기술로도 충분히 가능하며, AutoML등의 이름으로 이 과정을 더 효율화하려는 연구도 계속 진행중이기 때문이다.

단 검색 및 추천과 같은 온라인 서비스 환경에 모델을 적용해본 사람이라면 예측 모델을 만드는 것이 생각보다 쉽지 않다는 것을 잘 알고 있을 것이다. ‘충분한 양의 클린 데이터’라는 조건에 부합하는 상황도 생각보다 많지 않고 (보통 사용하는 클릭 데이터는 richness bias / position bias등 상당한 노이즈를 안고 있다), 실무에서 필요한 요구사항을 모두 만족시키는 모델은 특정 목적함수의 최적화로 만들어지지 않는 것이 보통이다. (관련해서 필자의 이전 글 참조)

따라서 많은 경우 개별 요구사항에 맞는 모델을 만들어 이를 조합하는 방식으로 최종 예측결과를 만들게 되며, (관련 LinkedIn Blog Post) 이 과정에서 개별 모델을 어느 단위로 나누고 그 결과를 어떻게 조합할지는 모델러의 영역이며, 실제로는 이 과정에서 다양한 오프라인 (레이블 기반) / 온라인 (실사용자 로그 기반) 평가가 필요하다. (예: 문서 추천 결과에 너무 저품질 (e.g. clickbait) 결과가 많으니 품질 피쳐를 추가하자)

요약하면 실서비스에 들어가는 모델을 만드는 일은 ‘요구사항 수집 >> 모델 개발 >> 오프라인 평가 >> 디버깅 및 조율 >> 온라인 평가’의 사이클이 반복되는 과정이며, 이 과정에서 모델링 팀과 분석 팀이 타이트하게 협업하는 것이 필수적이다. 따라서 모델링의 전 과정이 자동화되기는 어렵겠지만, 이 가운데 실제 ‘모델 개발’은 현재도 오랜 시간이 걸리지 않으며, 앞으로 더 자동화될 여지가 많은 영역이다. (Time Series 모델링의 자동화 사례는 Automatic Statistician이라는 시스템을 참고하자; 아키텍쳐 설명 부분 아래 그림에 발췌)

리포팅 및 의사결정 (자동화 전망: 중)

데이터 사이언스 조직의 결과물은 실 서비스에 직접 반영되어 차질없이 운영되거나 이해당사자의 의사결정에 영향을 줄 수 있도록 대시보드 혹은 리포트 형태로 전달되어야 한다. 이중 리포팅은 많은 분석가들이 업무 시간의 상당 부분을 투자하며, 특히 그 결과를 전달받는 의사결정권자의 위치가 높을수록 더 많은 수고가 들어가는 경향이 있다. (문서 포맷도 더 신경을 쓰고, 결과도 높은 분이 놀라시지 않게 윤색해야 하니 말이다.)

하지만 필자는 이처럼 경영진을 위한 리포팅에 많은 시간과 노력이 들어가는 것은 데이터 기반 조직으로서의 성숙도가 떨어지기 때문이라고 생각한다. 잘 문서화된 대시보드나 사용성이 좋은 분석 도구가 잘 갖추어져 있어 조직의 누구나 제품이나 서비스의 현황에 대해 손쉽게 파악할 수 있다면 정기 리포팅에 많은 노력을 투자할 필요가 있을까? 차트나 수치를 만져서 경영진이 듣고 싶은 이야기만 듣도록 하는 것이 조직의 미래에는 오히려 해가 되지 않을까?

이야기가 잠깐 옆으로 샜는데, 리포팅 업무 가운데 조직 구성원에게 현재 서비스의 현황을 전달하는 업무는 자동화될 수 있을 것이며, 서비스의 건강에 영향을 끼치는 여러 이슈 역시 자동화된 이상탐지 등으로 조기에 발견될 수 있을 것이다. 하지만, 이런 다양한 데이터 소스에서 경영진이 서비스의 개선 및 전략 수립을 위해 알아야 할 방향성을 찾아 설득력 있게 전달하는 일은 먼 미래에도 데이터 사이언티스트 고유의  업무로 남을 것이다.

맺음말

지금까지 데이터사이언스 자동화의 전망과 방향성을 정리해 보았다. 정확한 타임라인을 예측할수는 없지만 데이터 사이언스의 중요성과 전세계적으로 이루어지고 있는 연구개발 투자와 노력을 고려할때 매년 수많은 혁신이 등장하여 업계를 바꿔놓을 것이라는 점은 분명해 보인다. 데이터 사이언스 업계 종사자로서 꾸준히 신기술을 따라잡고 이를 통해 담당 업무를 개선하려는 노력을 기울여야 하는 이유가 여기에 있다.

이외에도 시사점을 몇가지 정리하면 1) 신규 개발 보다는 운영 및 유지보수 업무에서 자동화 기회가 훨씬 많다는 점 2) 종류에 관계없이 데이터 사이언스 업무 자동화에 코딩 및 머신러닝이 필수라는 점 3) 영역을 관계없이 완전 자동화보다는 업무의 부분적인 효율화를 통해 생산성을 높이는 방향으로 진행될 것이라는 점을 들고 싶다. 앞서 소개한 CACM 아티클에는 관련 레퍼런스도 많으니 꼭 읽어보기를 바란다.

주니어 데이터사이언티스트에게 하고 싶은 이야기들

최근에 채용 관련해서 많은 주니어/시니어 데이터 사이언티스트 / 엔지니어를 만나고 있다. 경험상 팀에 지원을 하기 전에 Hiring Manager와 대화를 나누면서 서로 알아가고, 팀과 개인의 fit을 점검하는 과정을 중요시하기 떄문에 채용 후보자와 가급적 면담을 꼭 하려고 한다. 줌으로 30분~1시간 정도를 투자해서 미래의 동료를 더 잘 이해할 수 있다면 이보다 더 중요한 일이 있을까.

이들과 대화하면서 공통적으로 드러나는 몇가지 테마를 엮어서 글로 써두면 좋겠다는 생각을 했다. 비슷한 연차 및 업계 사람들이 하는 고민은 대개 비슷하기 마련이다. 최대한 일반화될 수 있는 주제로 한정했지만, 데이터의 세계는 넓고, 필자의 경험은 제한되어 있으니, 해석은 여러분에게 맡기겠다. (필자가 채용중인 네이버 서치 Data&Analytics팀에 국한된 내용은 팀 블로그의 별도 FAQ에 정리했다.)

어떤 역량을 특화할 것인가?

데이터 사이언티스트에게 요구되는 역량의 종류 만큼이나 다양한 성장 경로가 있다. 필자가 생각하는 주된 성장 경로는 1) 도메인 전문성과 네트워크를 키워 PM 혹은 경영자와 같은 도메인 전문가의 길 2) 통계 및 머신러닝 방법론에 특화된 분석 전문가의 길 3) 개발 및 시스템 역량을 키워 분석 역량을 갖춘 엔지니어로서 성장하는 길 등이다. 여기에 업종 및 기업 규모라는 변수를 더하면 세상에는 정말 다양한 성장의 기회가 존재한다.

개인에 따라 이중 여러가지를 겸할수도 있고, 여러 회사를 거치며 장기적으로는 다양한 역량을 쌓을 수 있지만, 커리어 및 배움의 방향성이라는 측면에서는 한번에 하나씩 선택해서 집중하는 것을 권하고 싶다. 스스로 원하는 성장 경로를 안다면 회사에서 담당 프로젝트를 선택할 때에도, 이직 시기 및 직종을 고민할 때도, 자기 개발을 위해 시간과 노력을 투자할 때도 훨씬 손쉽게 결정할 수 있을 것이기 때문이다. 물론 동시에 여러 기회를 제공하는 포지션도 있을 것이고, 이를 모두 잡는 것은 본인의 역량에 달린 문제다.

이렇게 커리어의 방향성을 결정하면 자신에게 맞는 기회를 찾는 과정이 더 쉬워진다. 예를 들어 데이터 역량을 갖춘 도메인 전문가의 길을 간다면 해당 업종 내에서 다양한 비즈니스 문제를 접하며 좀더 전문성을 쌓을 수 있는 방법을 고민해야 할 것이다. 반면 분석 혹은 엔지니어로서의 성장을 원한다면, 해당 기술의 트렌드를 선도하는 프로젝트를 할 수 있는 환경을 찾아서 전문 역량을 키우는 편이 바람직할 것이다. 여기에는 대규모 데이터와 폭넓은 첨단 기술을 경험할 수 있는 빅테크 기업, 혹은 AI나 시각화 등 특정 분야의 기술 솔루션을 제공하는 기업들이 포함된다.

여기서 추가적으로 고민할 부분이 커리어에서의 깊이와 넓이의 균형인데, 특정 도메인의 전문가가 되기 위해 깊이를 쌓는 노력과 기술 및 시장 트렌드 변화에 대응하기 위해 두루두루 배우고 경험을 쌓는 노력간의 균형이다. 필자의 경우 첫 경력은 웹검색엔진(Microsoft Bing)에서의 품질 평가 기법의 연구, 두번째 경험은  소셜네트워크(Snapchat)에서의 UX 및 추천시스템 성장 및 개선을 위한 프로덕트 데이터 사이언스로, 상당히 다른 문화를 가진 두 회사에서 일을 하면서도 온라인 서비스 개선을 위한 데이터 사이언스라는 테마를 놓지 않았던 점이 지금 생각하면 좋은 결정이었던 것 같다.

어떤 업계/회사/팀에 지원할 것인가?

자신에게 맞는 기회를 찾아야 한다는 상식적인 이야기를 앞서 했으니, 이제 좀더 구체적으로 데이터 사이언티스트가 일하기 좋은 회사에 대해 생각해보자. 필자가 생각하는 가장 중요한 조건은 회사의 미래에 데이터 활용이 얼마나 중요한 전략적 위치를 점하는지다. 요즘 데이터에 관심이 없는 회사는 없겠지만, 업계 및 회사의 사정에 따라 얼마나 큰 투자가 이루어지는지, 이런 투자가 가치를 만들어낼 수 있는지는 다른 문제이기 때문이다. 이를 판별하는 손쉬운 방법은 채용 규모가 어떤지, 혹은 매니저와 팀원을 동시에 뽑는지 등을 확인하는 것이다.

데이터 활용을 중요하게 생각하는 회사라도 가치를 만들기까지는 여러 단계를 거쳐야 한다. 따라서 두번째로 확인할 부분은 내가 조인해서 가치를 만들 수 있는 포지션인지다. 업무를 시작한 후 살펴보니 쓸만한 데이터도 없고 이를 모을 방법도 없다면 데이터 전문가로서 할 수 있는 일이 없을 것이다. 또한 분석 쪽에 특화된 역량을 갖춘 사람이 데이터 파이프라인 버그를 고치는데 대부분의 시간을 써야 한다면, 혹은 엔지니어링 역량을 키우고픈 사람이 인프라를 아웃소싱하는 팀에 조인한다면 가치를 만들기가 더 어려울 것이다. 이를 확인하는 방법은 인터뷰에서 팀의 현재 니즈 및 전략적 방향에 대해 상세히 물어보는 것이다.

마지막으로 회사가 얼마나 기술적인 성장에 초점을 맞추는지도 장기적인 커리어 성장의 관점에서 중요한 문제다. 기껏 어렵게 조인한 회사에서 주어진 업무가 레거시 파이프라인을 유지보수하는 일이거나 매일 수동으로 아무도 읽지 않는 리포트를 작성하는 일이라면, 그리고 이를 새로운 기술 도입이나 자동화를 통해 개선하겠다는 노력도 묵살된다면 회사나 개인이나 밝은 미래를 장담하기 어려울 것이다. 이를 확인하기 위해서는 채용 공고에 나타난 회사의 기술 스택이 어떤지, 혹은 회사의 기술 역량이 외부적으로 공유된 자료가 있는지 보면 된다.

위에서 신기술 도입을 언급했지만 수많은 하입(Hype)이 명멸하는 데이터 업계에서 신기술에 전혀 관심을 기울이지 않는것 만큼이나 위험한 것이 신기술을 무조건 추종하는 것이다. 기술의 도입은 장기적인 비즈니스 가치를 만들기 위한 최적의 수단인지의 관점에서 고민해야 할 부분이며, 유행을 쫒기 위한 위한 기술 도입 혹은 연구를 위한 연구 프로젝트 등은 가치를 파괴하는 일이기 때문이다. 그리고 당연한 이야기지만 지속적인 비즈니스 가치를 만들어내지 못하는 회사나 조직은 장기적인 생존을 보장받지 못한다. 그런 관점에서 지원하는 조직이 회사에 어떤 기여를 하고 있는지, 스타트업이라면 비즈니스 성장 커브 및 건강성은 어떤지 따져볼 일이다.

코딩과 모델링은 얼마나/무엇을/왜 잘 해야 할까?

이제 데이터 사이언티스트의 시장 가치에 대해 논의해보자. 한국이나 미국이나 데이터 분석가와 데이터 사이언티스트를 비슷한 의미로 사용하는 것 같은데, 필자는 일반적으로 ‘분석가’라는 타이틀을 좋아하지 않는다. ‘분석가’라는 단어가 이미 존재하는 데이터 파이프라인 및 인프라에서 SQL등을 사용해서 데이터를 뽑고 리포팅하데 그치는 역할로 들리기 때문이다. 물론 리포팅은 데이터 사이언스 업무의 핵심 중 하나이고, 도메인 지식 및 데이터에 대한 이해가 기반이 된 제대로 된 리포팅을 하는 것은 매우 어렵고 그만큼 많은 가치를 만들어내는 일이다.

하지만 직업이 아니라 커리어라면 시장에서의 자신의 가치를 지속적으로 키울 수 있는 기회를 제공해야 할 것이며, 필자는 특수한 경우를 제외하고 (예: 법률이나 의료와 같이 접근이 제한된 도메인 지식을 필요로 하는 경우) 리포팅이 업무의 거의 100%를 차지하는 포지션은 이런 기회를 제공할 수 없다고 생각한다. 데이터 분석과 관련된 인프라와 툴은 계속 좋아지고 있으며, 최근에는 데이터에서 인사이트를 자동으로 뽑아주는 다양한 기법도 연구 개발되고 있기 때문이다. 따라서 단순 리포팅 업무는 마치 오피스 작업과 같이 고등 교육을 받은 사람이라면 누구나 할 수 있는 업무가 되어가고 있다. (이런 변화는 AutoML 등의 기술이 활발히 연구되는 머신러닝에도 비슷하게 적용될 것이다.)

이런 상황에서 데이터 사이언티스트가 지속적인 가치를 만들어낼 수 있는 방법은 무엇일까? 필자는 분석의 스케일링과 자동화라고 생각한다. 분석의 스케일링은 개발된 분석 기법을 다른 사람들을 쓸 수 있도록 라이브러리 및 템플릿을 만들거나 인프라에 해당 기능을 추가하는 것이다. 이를 통해 데이터팀의 일원이 아니라도 필요에 따라 분석을 수행할 수 있다. 다른 방법은 반복되는 의사결정을 단순화 및 자동화할 수 있는 모델을 만드는 것이다. 예를 들어 지표 이상을 모니터링하고 알람을 주는 알고리즘은 매일 대시보드를 보는 수고를 덜어줄 것이다. 그리고 이런 분석의 스케일링 및 자동화를 위해서는 데이터 사이언티스트의 개발 및 모델링 역량이 필수적이며, 이런 인력들은 사내 모든 구성원이 분석가의 역할을 수행하는 것을 가능하게 한다.

예를 들어 AB테스트의 결과를 제대로 분석하기 위해서는 최소 수십, 수백개의 지표의 움직임을 이해하고, 개별 지표에 대해 전체 혹은 일부 사용자 그룹이 어떻게 반응하는지에 대한 분석을 수행해야 한다. 그리고 AB테스트 도입 초기에는, 혹은 중요한 테스트에 대해서는 이런 분석을 분석가가 직접 수행하는 것이 필수적이다. 하지만 AB테스트 도입이 가속화되어 수많은 실험이 수행되는 환경에서는 비슷한 유형의 실험에 대한 분석은 템플릿화 및 자동화되고, 분석 조직의 역량은 새로운 지표나 좀더 도전적인 분석 기법 개발에 집중되어야 한다. 이처럼 실무에서는 이런 분석가의 노력과 자동화가 유기적으로 결합될 때 최선의 결과가 나온다.

물론 이런 분석의 스케일링과 자동화가 개인의 노력으로 이루어지지는 않는다. 이를 위해서는 신뢰할 수 있는 인프라 및 데이터 파이프라인, 분석 코드의 라이브러리화 및 재사용을 강조하는 문화, 이 모든 것을 뒷받침하는 데이터 엔지니어와 분석가의 협업이 필요하다. 많은 데이터 팀이 엔지니어 혹은 분석가로만 구성된 것을 보는데, 이 경우 기껏 만들어진 인프라가 제대로 활용되지 않거나, 제대로 된 인프라 서포트가 없어 분석가들이  반복되는 데이터 오류 검증 및 리포팅 작업에 지치게 될 것이다.  따라서 이 글의 마지막 조언은 실력있는 엔지니어과 분석가들이 함께 일할 수 있는 환경을 찾으라는 것이다.

인터뷰는 어떻게 준비할 것인가?

마지막으로 인터뷰에 대한 이야기로 이 글을 마무리할까 한다. 우선 필자가 채용 후보자들을 만나면서 놀라는 점은 생각보다 많은 후보자들이 지원하려는 회사와 제품, 팀에 대해서 이해하려는 충분한 노력을 기울이지 않는다는 점이다. 최근에 많은 회사에서 기술 블로그 등에 팀의 기술적 상태와 첼린지에 대해 공유하는 추세인데도 말이다. 예를 들어 최근 채용 인터뷰에서 아래와 같은 질문에 대해서 충분히 생각을 해보고 인터뷰에 임했는지 생각해보자.

  • 이 회사에서 나는 어떤 인프라와 데이터를 사용하게 될 것인가?
  • 지원하는 팀이 당면한 분석 및 엔지니어링 문제는 무엇인가?
  • 이 중 내 스킬셋과 관심사에 부합하는 부분은 무엇일까?
  • 지원 회사/팀/분야에 대한 공개된 자료는 어디서 찾을 수 있을 것인가?
  • 내 성장 목표는 지원 회사/조직의 중장기 목표와 얼라인(align)되는가?

채용 인터뷰는 지원자의 기본 소양과 함께 함께 일하는 동료로서 어떤 모습을 보일지 예측하는 과정이다. 특히 많은 회사의 데이터 사이언스 / 엔지니어링 인터뷰는 가상의 케이스에 대한 문제 해결력을 평가하는 방식으로 이를 예측하려고 한다. 따라서 위와 같은 질문에 대해 생각과 조사를 하고 인터뷰에 임하는 후보자와 그렇지 않은 후보자 사이에는 비슷한 역량을 가정했을 때 인터뷰 퍼포먼스에 큰 차이가 있지 않을까. 이렇게 준비된 후보자가 태도 면에서도 좋은 점수를 받을 확률도 높을 것이다.

또한 이력서 작성의 요령 및 경력 사항에 대한 질문을 준비하는 과정도 다시 한번 짚고 넘어가자. 보통 이력서가 길고 화려할수록 좋다고 생각하는데, 채용하는 입장에서는 지원자의 경험과 역량을 가늠할 수 있는 핵심적인 이력 몇개가 있는지가 더 중요하며, 관련성이 떨어지는 경력 사항이 많이 보일수록 이런 ‘핵심’을 발견하기가 어려워진다. 따라서 이력서는 자신의 경력에 대한 검색 결과 페이지를 만든다고 생각하고, 여기서 Precision을 Recall만큼이나 중요하게 여기는 것을 추천하고 싶다.

또한 이력서에 적은 모든 사항은 심층 탐구를 위한 질문이 들어왔을때 방어할 수 있어야 한다. 본인이 핵심적인 역할을 담당한 개발 및 분석 프로젝트에서 핵심적인 디자인 결정에 대한 답변이 미흡하거나, 머신러닝 프로젝트에서 사용한 모델 및 평가 기법에 대한 답변이 제대로 이루어지지 않으면 해당 경력을 제대로 된 성과로 인정받기 어렵다. 이력서를 최대한 핵심만으로 간결하게 유지하고, 자신이 면접관의 어떤 질문에도 대답할 수 있는 항목만 남겨야 하는 또다른 이유다.

맺음말

오늘은 최근 자주 만나는 주니어 데이터사이언티스트들에게 하고 싶은 이야기를 적어 보았다. 필자의 경험 가운데 일반화가 가능한 부분을 최대한 간결하게 전달하려고 했지만, 이런 이야기의 특성상 필자의 주관이 많이 섞일 수밖에 없으니, 각자 처한 상황에 맞게 해석하시면 좋겠다. 이 글에 적은 ‘좋은 데이터 조직’의 조건을 필자가 이끄는 조직에 최대한 구현하려고 노력하고 있지만 아직도 갈 길이 멀다는 반성도 든다. 그럼 오늘도 데이터 분석과 개발의 현장에서 땀흘리시는 여러분들의 건투를 빈다!

온라인서비스를 위한 데이터사이언스 // DnA@2022

올해 결심으로 매주 글을 쓰겠다고 했는데, 다행히 1월 동안은 잘 지켰습니다. 온라인서비스를 위한 데이터사이언스라는 주제로 현장감있는 글을 써보려고 했는데, 이제 서론은 어느정도 마친 것 같습니다. (지금까지의 글을 잘 읽으셨다면 Like나 Comment부탁드려요!)

https://brunch.co.kr/@lifidea/44 (데이터 조직으로의 변화 시나리오)
https://brunch.co.kr/@lifidea/45 (온라인 서비스 분석이 어려운 이유)
https://brunch.co.kr/@lifidea/46 (데이터 사이언스 현장의 안티패턴들)

작년에 이어 올해도 Data&Analytics 팀에서는 네이버 서치의 개선을 위한 다양한 Data Science & Engineering 프로젝트를 진행하고 있습니다. 작년에 기반 플랫폼 만드는데 집중했다면, 올해는 본격적으로 지표 개발과 데이터 플랫폼 및 분석 방법론 고도화에 노력을 기울이려 합니다.

이를 위해 아직 10명대 초반인 팀을 2–3배로 키우는 채용 목표를 갖고 있습니다. 3000만명이 매일 쓰는 네이버 검색 서비스의 사용 패턴을 분석하고, 이를 개선하기 위한 평가 및 실험 지표를 개발하고, 이 모든 일을 훌륭한 동료들과 빠르게 성장하는 팀에서 함께하실 여러분을 기다립니다!

KDD’21와 SIGIR’21에서 엿보는 검색 및 데이터 사이언스의 최신 연구 개발 트렌드

여름은 무더위의 계절이지만 학회의 계절이기도 합니다. 검색 및 데이터 사이언스 분야의 메이저 학회인 KDD’21와 SIGIR’21이 최근 마무리되었습니다. 온라인 학회라는 특성상 새로운 곳을 방문하고 사람들과 교류하는 경험을 할 수는 없지만 새로운 지식과 연구 성과를 접하는 학회의 본질은 여전합니다.

학회를 최대한 잘 참석하는 방법?

DnA 팀원중 많은 분들이 SIGIR과 KDD에 참석하여 많은 배움을 얻었습니다. 특히 KDD의 경우에는 업무 관련 일정이나 미팅을 조정하여 정참석자들이 일주일동안 학회에 집중하실 수 있도록 하였습니다. 학회가 처음이신 팀원들을 위해 다음과 같은 가이드도 드렸습니다.

이를 요약하면 학회 초보는 튜토리얼 / 중급자는 논문 / 상급자는 워크샵에 집중하는 접근법입니다. 튜토리얼에서 해당 분야의 기초 지식을, 논문에서 최근에 보고된 연구 성과를, 워크샵에서 현재 진행중인 연구 성과를 확인할 수 있기 때문입니다.

키노트: 데이터 사이언스의 변화하는 본질

우선 인상적이었던 키노트는 스탠포드 인포랩의 Jeffrey D. Ullman 교수의 데이터 사이언스의 변화하는 본질에 관한 것이었습니다. 그는 학계의 관점에서 데이터 사이언스를 수학과 통계의 방법론을 기본으로 하는 CS와 기타 과학의 접점으로 설명합니다. 데이터 사이언스의 정의는 항상 논란을 가져오는 주제인데요, 좀 더 관심 있으신 분은 관련 아티클을 참고하시면 될 것 같습니다.

논문: 네트워크 상에서의 온라인(AB) 테스트

이번에는 페이스북에서 나온 네트워크 상에서의 온라인(AB) 테스트에 관한 논문을 소개합니다. 온라인 테스트는 실험 단위(보통 사용자) 간의 독립성을 가정하는데, 페이스북과 같은 소셜 네트워크에서 실험을 하다 보면 이런 전제가 깨지게 됩니다.

따라서 이런 환경 실험을 수행하고 올바른 결과를 얻기 위해서는 구성원간의 연결고리를 최소화해야 하는데, 본 논문에서는 이를 위한 방안으로 클러스터링을 제안하고 있습니다. 사용자간의 연관도를 가지고 클러스터링의 수행하고, 이 결과물을 기준으로 실험군을 구분하면 실험군 간의 간섭을 최소화할 수 있습니다. (아래 그림에 자세히 설명)

튜토리얼: Mixed Method Development of Evaluation Metrics

마지막으로 Spotify의 연구자들이 진행한 온라인 지표 개발에 대한 튜토리얼을 소개합니다. 대부분의 온라인 서비스에서는 지표에 대한 고민을 하게 되고, 보통 성숙한 온라인 테스트 환경에서는 의사결정에 수백~수천개의 지표를 사용하게 되는데, 본 튜토리얼에서는 사용자 연구와 데이터 분석을 결합한 지표 개발의 방법론을 소개하고 있습니다.

이렇게 수많은 지표 가운데 무엇이 서비스의 성공과 직결되는지는 실제로 많은 회사에서 고민하는 부분입니다. 본 튜토리얼에서는 방법론의 사례로 아래와 같이 Spotify에서 사용자의 성공과 연결되는 지표를 개발하고 평가한 과정을 소개하고 있습니다. 단순히 CTR 및 Top Position Click을 보던 방법에서 다양한 성공 지표를 정의하고 이를 통해 제품 개선에 좀더 민감하게 반응하는 성공 지표를 정의하였습니다.

결론: 학회는 성장하는 데이터 사이언티스트 / 엔지니어의 친구!

이번 포스팅에서는 최근 있었던 학회에서 DnA 팀의 주 연구 개발 분야에 관련된 컨텐츠를 살펴 보았습니다. 온라인 학회의 특성상 현장의 느낌을 살리기는 힘들지만, 더 많은 사람들이 학회 컨텐츠를 접할 수 있다는 장점이 있습니다.

성장을 원하는 데이터 사이언티스트 / 엔지니어분이라면 학회에 직접 참석하거나 홈페이지에 공개된 발표 내용을 온라인으로 보시는 것을 추천합니다. 그리고 조만간 DnA 팀의 연구 개발 성과를 이런 학회에서 공유하기를 기대해 봅니다!

(네이버 검색 DnA팀의 여정에 함께할 분께서는 DnA 팀블로그의 소개 페이지를 참조 바랍니다.)

스냅(Snap Inc.)에서의 1년

스냅(Snap Inc)으로 회사를 옮겨 스토리 검색 기능을 런치하고 글을 썼던 것이 엇그제같은데, 어제부로 입사 1년을 맞이했다. 개인적으로는 이사 3번에, 첫아이 출산에 정신없는 한해였고, 입사 1년을 돌이켜보면 항상 즐거운 일만 있었던 것은 아니지만 지금 돌이켜보면 후회없는 선택을 했다는 확신이 든다. 오늘은 입사 1년을 통해 배우고 느낀 점을 정리해볼까 한다.

스냅이라는 회사

생긴지 5년도 안되었지만 항상 화제의 중심에 있는 젋은 회사에서 일하는 것은 롤러코스터를 타는 듯한 경험이었다. 입사 직후였지만 IPO의 흥분도 맛보았고, 곧이어 경쟁사의 압박과 회사를 전통적인 SNS의 잣대로 평가하는 언론의 영향으로 회사의 평판이 바닥까지 떨어지는 것도 경험했다. 최근에는 다시 월가의 기대를 뛰어넘은 실적을 발표해서 주가가 한참 올랐다가, 다시 디자인 개편에 대한 비판이 쏟아지면서 여론의 뭇매를 맞고 있다.

IPO 직후 보낸 메일에서 스냅의 창업자이자 CEO 에반 스피겔은 ‘우리의 여행은 이제 시작이다’리고 했는데, 그 말은 농담이 아니었다. 에반으로 말할것같으면 졸업을 3학점 앞두고 스탠포드에서 중퇴를 선택한 인물이다. 이런 창업자의 정신은 스냅의 여러 제품에 잘 나타나 있는데, 텍스트 중심의 기존 SNS와 달리 ‘카메라가 곧 키보드’라며 지워지는 영상과 비디오를 중심으로 하는 스냅챗의 출발, 그리고 타임라인과 반대로 시간순으로 재생되는 스토리 기능 등 스냅의 현재를 만든 제품은 대부분 기존 SNS의 공식을 뒤집은 결과물이다.

이런 스냅의 혁신은 현재진행형이다. 최근에 발표한 스냅챗의 디자인은 초기 화면인 카메라 왼쪽에 친구들의 대화와 스토리를 볼 수 있는 프랜드피드, 그리고 카메라 오른쪽에 각종 매체 및 인플루엔서들의 공유한 스토리 등을 보여주는 디스커버피드가 있다. 친구들의 근황과 각종 링크 및 뉴스를 한곳에 보여주는 기존의 SNS에 또다시 반기를 든 것이다. 시도 때도 없이 갖가지 알람을 보내서 사용자를 유혹하고, 클릭을 유도하는 가짜 뉴스가 범람하는 SNS 공해의 시대에, 스냅은 개인적인 소통과 뉴스 및 매체 소비를 분리하는 것이 바람직하다는 방향을 세운 것이다.

스냅에서의 데이터 과학

필자가 회사를 옮길때 가장 중요한 고려사항중 하나는 ‘흥미로운 데이터를 가진 회사인가?’였다. 그만큼 데이터 과학자에게 좋은 데이터는 중요한 고려사항이다. 그런 의미에서 하루에 평균 30개 이상의 스냅(사진 및 비디오)을 보내는 2억명의 열성적인 유저들의 삶에 필수적인 스냅챗의 데이터는 분명 매력적인 것이었다. 사용자들의 삶에 가장 소중한 순간들이 스냅으로 가장 친한 친구들과 교환되기 때문이다. 스냅챗 사용자들이 공유하는 일상이 궁금하다면 스냅 맵의 웹버전을 사용해보자.

스냅챗의 사용자들은 자신의 스냅을 선택적으로 공개할 수 있는데, 많은 유명인이나 인플루엔서들은 그렇게 자신의 팬들에게 친밀한 일상을 전하고 있다. 여기에 작년부터 필자가 속한 SF오피스에서 개발하기 시작한 검색 및 추천 기능이 들어가면 스냅챗은 세상 곳곳에서 지금 일어나는 일을 사진과 비디오로 생생하게 알 수 있는 플랫폼이 된다. 유튜브의 실시간 버전이라고나 할까. 여기에 WSJ, Wired 등 유수 언론사에서 스냅챗 전용으로 만들어 매일 공개하는 뉴스까지 더하면 스냅챗은 모바일 시대의 TV가 된다.

구글과 페이스북이 온라인 광고 시장을 장악하고 있지만 아직도 가장 파이가 큰 대형 브랜드 광고는 TV의 영역이다. 하지만 전세계의 젊은이들은 TV 대신 모바일폰에서 대부분의 시간을 보낸다. 스냅챗은 주 사용자층인 10대-20대들의 감성과 라이프스타일에 최적화된 모바일 매체 경험을 제공할 수 있는 위치에 있다. 페이스북이 처음에 타임라인을 도입했을때 여론의 뭇매를 맞았지만 결국 성공했듯이, 최근의 대대적인 디자인 개편은 이런 스냅챗의 비전을 실현하기 위한 초석이 될 것이다.

스냅의 CEO 에반이 제품 디자이너 출신인만큼 스냅은 디자인 중심의 회사였다. 하지만 회사와 팀이 성장하면서 데이터를 활용해서 제품 개선을 이끌어내려는 노력도 활발하게 이루어지고 있다. 특히 엔지니어들이 주축이 되어 만들어진 SF오피스는 실리콘 벨리의 데이터중심 문화를 제품 디자인에 강한 LA 본사의 문화와 접목시키려는 시도를 꾸준히 해왔고, 실제로 지금은 스냅에서 데이터과 디자인이 혁신의 두 축으로 확고히 자리잡았다.

스냅과 같이 젊은 회사의 데이터과학자로 일하는 것은 바쁜 일이다. 업무 영역도 넓고 제품 자체도 끊임없이 진화하기 때문이다. 하지만 필자가 일하는 SF 오피스의 동료들은 스냅챗 사용자들 만큼이나 열정적인 사람들이다. 지난번 글에서도 밝혔지만 열정적인 사람들 곁에서 일하다보면 자연스럽게 열심히 일하게 된다. 하지만 실리콘밸리의 많은 회사들처럼 회사의 문화는 매우 자유로운 편이라 언제 어디서 일을 하던지 별로 신경쓰지 않는 편이다. 출퇴근 거리가 긴 필자의 경우 일주일에 하루 이틀은 집에서 일하고 있다.

스냅의 SF오피스는 만들어진지 2년이 채 안되었고 검색 및 추천 등 스냅의 핵심 데이터 프로덕트를 담당하는 많큼 구글, 페이스북 등 더 크고 안정적인 회사에 있다가 새로운 도전을 찾아 스냅챗에 조인한 엔지니어들이 많다. 검색 및 추천과 관련된 프론트엔드 개발 및 머신러닝도 SF오피스에서 담당하고 있다. 스냅의 SF오피스에서는 올해도 계속 규모를 키울 계획으로 꾸준히 개발자 및 데이터 과학자를 채용하고 있으니 관심있는 분들은 필자에게 연락 바란다! (jink at snap dot com)

맺음말

1년 전 MS에서 입사 5년을 앞둔 필자의 삶은 참으로 편안했다. 익숙한 환경에서 연구자로서 보람있는 일을 하면서 논문도 쓰고, 남는 시간에 시애틀 주변의 아름다운 자연을 즐기며 편안하게 사는 삶도 나쁘지 않았을 것이다. 하지만 필자는 도전을 선택했고, 지금은 그 결과에 만족한다. 같이 MS에서 일하던 필자의 아내도 출산을 마치고 회사를 옮겨 지금은 넷플릭스에 국제화 담당 PM으로 일하고 있다. 게다가 이제 9개월이 된 필자의 딸 애린이도 무럭무럭 자라고 있으니 감사할 일이 많은 한해였다.

회사일만 하기에도 바쁜 일상이지만, 필자는 데이터를 통해 몸담은 회사 뿐만 아니라 세상에 공헌하는 활동을 꾸준히 실천하려고 한다. 이런 이유로 MS에 근무하고 있을 때는 밤마다 글을 써서 헬로 데이터 과학을 출간했지만, 지금은 그런 사치는 허락되지 않는다. 대신 주말마다 동종 업계의 전문가 분들과 데이터 지능 팟캐스트를 녹음하는 것으로 소통의 욕구를 충족시키고 있다. 필자와 여러 데이터 전문가들이 들려주는 데이터 과학과 인공지능 이야기가 궁금한 분들은 데이터 지능 팟캐스트를 꼭 듣기 바란다.

추신: 본 글은 필자 개인의 의견으로 Snap Inc.의 의견을 대변하지는 않습니다.