헤어질 결심 a.k.a 퇴사 부검

Image not Found

들어가며

안녕하세요. 버즈빌 생활의 처음과 끝을 함께한 글로리아가 권유해 주신 덕분에 퇴사 부검 글을 작성하게 되었습니다. 넷플릭스에서는 퇴사한 직원이 퇴사 이유, 배운 점과 아쉬운 점 등을 메일로 적어 다른 직원들에게 보내는 문화가 있는데, 이 메일을 퇴사 부검 메일이라고 합니다. 저도 버즈빌 생활을 정리할 겸, 2년간의 세월을 되돌아보며 퇴사 부검 글을 작성해 보았습니다.

1. 왜 떠나는지?

한 문장으로 답하자면, 더 성장하기 위해 떠나게 되었습니다. 자세한 설명을 위해서는 대학원부터 시작되는 장황한 이야기를 해야 할 것 같습니다. 제가 대학원에서 수강한 과목 중에서 이산최적화와 강화학습이 특히 기억에 남습니다. 두 과목은 제게 지식을 제공해 주는 것을 넘어서 인생을 바라보는 관점을 제공해 주었던 과목입니다.

제가 LA 대학원에 있었을 때..

제가 LA 대학원에 있었을 때..
출처: 형이 왜 거기서 나와? (KCC 박찬호편)

최적화 문제로서의 커리어 패스 선택

최적화 의 관점에서 보면, 커리어 패스(Career Path) 선택은 원하는 가치를 최대화하기 위해 가능한 옵션 중에서 가장 적합한 것을 선택하는 문제로 볼 수 있습니다. 사람마다 최대화하고 싶은 가치가 당연히 다를 것입니다. 복지, 연봉, 성장, 적성, 선호하는 분야 등 우선시하는 가치가 다를 것이고, 그중에서 (0.7*연봉 + 0.3*복지)를 최대화하는 등 여러 가치를 한꺼번에 고려하고 있을 것입니다.

다양한 커리어 선택지.

다양한 커리어 선택지
출처: The Importance of Values in Career Decision Making

커리어 패스마다 해당 커리어 패스를 선택하는 데에 걸리는 비용이나 시간, 불확실성 등의 특성이 있을 것입니다. 예를 들어 제가 갑자기 법조인의 커리어를 시작하려고 한다면 적어도 3년 이상의 시간과 학비를 투자해야 할 것이고, 다른 IT 회사에 개발자로 이직한다고 한다면 회사를 알아보고 면접을 준비하는 등의 시간과 노력을 투자해야 할 것입니다. 결국 어떤 선택이든 효용과 비용이 따르고, 이런 요소들을 종합적으로 고려하여 나에게 최적인 결정을 내리는 게 커리어 선택 문제라고 생각해 볼 수 있습니다.

이 문제의 답은 개인이 어떤 가치를 추구하느냐에 따라 달라집니다. 저는 성장을 최대화하는 선택을 추구하고 있습니다. 저라는 사람이 성장할 때 가장 만족한다는 것을 경험적으로 느껴왔기 때문입니다. 지금까지의 경험을 돌이켜보면, 힘든 시간을 보내면서도 성장했다면 그 시간을 의미있게 기억하는 반면, 스트레스 없이 편하게 살아도 성장하지 않았다면 아쉬움이 남았습니다. 그리고 제가 성장할수록 연봉, 근무 조건, 도메인 등을 원하는 수준으로 맞출 수 있는 더 강력한 협상력을 가지게 된다고 생각합니다. 따라서 성장을 추구하면 장기적으로는 성장 외의 다른 가치도 쉽게 추구할 수 있을 것이라고 믿고 있습니다.

어떤 커리어를 선택하면 성장을 최대화할 수 있을까요? 연봉 같은 요소는 오퍼 레터(Offer Letter)에 명시적으로 적혀있기 때문에 비교적 쉽게 파악하고 비교할 수 있기에, 당장 주어진 여러 선택지 중 연봉이 가장 높은 선택지를 선택하는 것은 어렵지 않습니다. 그러나 “이 커리어를 통해 얼마나 성장할 수 있을지"는 실제로 경험하지 않는 한 알기 어렵습니다. 따라서 “이 커리어를 통해 얼마나 성장할 수 있는지”를 정확하게 예측하여 최적의 선택을 내리는 것은 불가능하고, 적당한 아이디어나 휴리스틱에 기반해서 선택을 내려야 합니다.

강화학습의 모험과 탐색

저는 강화학습에서 배운 몇몇 아이디어를 굉장히 좋아합니다. 강화학습에는 모험(Exploration, 탐험)과 활용(Exploitation)이라는 개념이 있습니다. 간단하게 표현하자면, 모험은 아직 모르는 영역으로 나아가서 새로운 정보를 획득하는 것이고, 활용은 이미 알고 있는 정보를 바탕으로 최적의 선택을 하는 것입니다. 활용만을 추구한다면, 우리는 지금까지 알아낸 전략에만 의존하게 됩니다. 장기적으로 더 나은 결과를 얻기 위해서는 적절한 시기와 비율로 모험을 시도하는 것이 필요합니다. 실제로 강화학습 연구에서는 어떻게, 어떤 비율로, 어떤 상황에서 모험을 시도할 것인지를 최적화하는 데에 노력을 기울이기도 합니다.

음식점 선택 문제 - 내가 가보지 않은 음식점이 더 만족스러울지도 모릅니다.

음식점 선택 문제 - 내가 가보지 않은 음식점이 더 만족스러울지도 모릅니다.
출처: https://medium.com/analytics-vidhya/the-epsilon-greedy-algorithm-for-reinforcement-learning-5fe6f96dc870

대학원을 졸업하고 개발자 커리어를 시작한 지 3년이 되어 가는데, 아직 배워야 할 것이 훨씬 많다고 느낍니다. 모르는 게 많을수록 모험의 기댓값이 높습니다. 그래서 저는 제가 활용보다는 모험의 비중을 높여야 하는 시기에 있다고 생각하고 있습니다. 지금의 저에겐 새로운 영역으로의 모험이 장기적인 성장을 최대화하는 선택지일 확률이 높습니다.

장기적인 성장을 위해 모험을 하는 게 좋은 전략이라고 할 때, 무수히 많은 모험 중 어떤 모험을 선택할 것이냐는 문제가 나타납니다. 여러 가지 방법으로 모험을 할 수 있습니다. 예를 들면 제가 최근에 고려할 수 있었던 선택지들은 아래와 같습니다.

  1. (회사 내 팀 변경) 다른 팀에서 새로운 문제를 풀며 경험을 쌓는다.
  2. (회사 내 직무 변경) 다른 직무(PM, DevOps, 데이터 엔지니어 등)로 일하며 경험을 쌓는다.
  3. (이직) 다른 회사로 이직해서 새로운 팀에서 새로운 문제를 풀며 경험을 쌓는다.

3번에 대해서만 조금 더 자세히 이야기를 해보겠습니다. 여러 회사들 중 어떤 회사의 어떤 팀으로 이직해야 가장 많이 성장할 수 있을까요? 정답은 없지만 가장 빠르게 성장하고 있는 회사, 가장 기술력이 좋은 회사, 훌륭한 동료들이 많은 팀 등 여러 가지 아이디어를 떠올려 볼 수 있습니다. 성장이라는 것 자체도 사람마다 다양한 정의가 있을 수 있기에, 다들 나름의 답을 낼 수 있다고 생각합니다. 따라서 저는 저에게 성장이 무엇인지, 그리고 어떤 선택지가 제가 생각하는 성장에 가장 도움이 될 것인지 고민해야 목적에 부합하는 선택을 할 수 있습니다.

호기심이 이끄는 모험

저는 호기심이 굉장히 강합니다. 일례로, 보드게임을 할 때 상대가 거짓말을 하는 것인지 진실을 말하는 것인지 너무 궁금해서 호기심 비용을 지불하고 상대방의 패를 확인하는 비이성적인 행동을 취할 때가 많습니다. 호기심은 제가 모르기 때문에 예측을 잘할 수 없는, 그럼에도 알고 싶은 무언가에 대해 생기는 감정입니다. “어떤 선택을 해야 가장 성장할 것인가?”라는 질문에 답을 내리는 기준으로 호기심을 이용해 볼 수 있습니다. 가장 호기심이 생기는 길을 선택하는 것입니다. 강화학습 분야에는 Curiosity-driven Exploration by Self-supervised Prediction 라는 제목의 논문도 있습니다. 이 논문은 Wall Street Journal, Wired등 다양한 미디어에서 조명받으며 화제가 되었던 논문입니다.

Curiosity-driven Exploration by Self-supervised Prediction.

In many real-world scenarios, rewards extrinsic to the agent are extremely sparse, or absent altogether. In such cases, curiosity can serve as an intrinsic reward signal to enable the agent to explore its environment and learn skills that might be useful later in its life.

실제 세계의 많은 상황에서는 에이전트에게 외부로부터 주어지는 보상이 매우 드물거나 전혀 없을 수 있습니다. 이런 경우에 호기심은 내재된 보상 신호로 작용하여 에이전트가 그 환경을 탐색하고 나중에 유용할 수 있는 기술을 배울 수 있게 도울 수 있습니다.

출처: Curiosity-driven Exploration by Self-supervised Prediction 의 논문 초록

위의 논문에선 별도의 보상 없이 호기심에 기반한 탐색만을 이용하여 슈퍼 마리오 agent를 학습시켰습니다..

위의 논문에선 별도의 보상 없이 호기심에 기반한 탐색만을 이용하여 슈퍼 마리오 agent를 학습시켰습니다.
출처: noreward-rl github

버즈빌에서 광고 추천, 광고 성과 최적화 문제를 풀면서 내가 충분히 잘하고 있는 것일지, 전 세계의 다른 뛰어난 팀들은 어떻게 의사결정을 하고 어떻게 개발하고 있을지 궁금할 때가 많았습니다. 다른 회사의 기술 블로그나 논문을 봐도 채워지지 않는 갈증이 남아있었습니다. 그러던 중 최종합격한 회사의 리드님과 커피챗을 하게 되었습니다. 구글에서 10년 동안 근무하신 리드님이 “제대로 된 개발 문화를 전파하고 있다”, “검색의 End-to-End를 다루며 다양한 문제를 해결하고 있다”고 말씀하시는 걸 듣고 나서 가서 어떤 문제들을 어떻게 풀고 있는지 알아보고 싶다는 호기심이 생겼습니다. 이 호기심을 이기기 힘들어서, 버즈빌을 떠나게 되었습니다.

2. 회사에서 배운 것

좋은 동료가 최고의 복지

“좋은 동료가 최고의 복지”라는 말이 있습니다. 버즈빌에서 정말 그렇다는 걸 많이 느꼈습니다.

입사하기 전에 재직자 리뷰 사이트에서 버즈빌을 검색했을 때, “좋은 동료”가 반복해서 등장하길래 어떤 분들이 계시길래 이런 후기가 많은 건지 궁금했었습니다. 입사하고 나서 2년을 생활하고 나니 1. 선하고 2. 똑똑하고 3. 일에 몰입하는 동료들이 넘쳐난다는 것을 느낄 수 있었습니다. 그러다 보니 일 외적으로 스트레스를 받을 일이 거의 없고, 목표 달성을 위해 팀이 함께 노력한다는 안정감을 항상 느낄 수 있었습니다.

많은 분이 성장을 위한 의지를 가지고 있어 서로에게 좋은 자극을 주고받으며 함께 성장하는 모습을 자주 볼 수 있습니다. 예컨대, 누구나 쉽게 참여할 수 있는 개발 스터디나 지식 공유가 활발히 이루어집니다. 저는 디자인 패턴 스터디와 DDD(Domain Driven Design) 스터디에 참여했고, 회사 내 신규 입사자분들에게 광고 도메인에 대해 설명하는 세미나에서 Dynamic AD에 대해 발표한 경험이 있습니다. 파이콘, 드로이드 나이츠 등 국내 유수의 컨퍼런스에서 발표하는 분들도 계십니다. 그런 분들과 함께하는 환경에 있어서인지, 저도 최근에 2023년 파이콘 연사로 지원하여 발표 기회를 얻을 수 있었습니다. 점심시간에 모여 개발 관련 세미나 영상을 함께 보는 모임 등 소규모 모임도 활발합니다. 굳이 모임이나 스터디가 아니더라도 열심히 살면서 성장하시는 멋진 분들이 많습니다. 그런 분들과 함께하다 보면 좋은 동료가 최고의 복지라는 것을 체감하게 됩니다.

버즈빌 스터디 모집글 예시1. 버즈빌 스터디 모집글 예시2.

스터디 모집글 예시. 많은 분들이 자발적으로 스터디를 모집하고 운영했습니다.

문제 해결과 개선을 위한 회고

버즈빌에서 가장 좋았던 문화는 회고 문화입니다. 실질적으로 문제를 해결하는 회고를 경험하고 나니 개인적인 삶에서도 회고를 하게 될 정도로 회고의 효용성을 느낄 수 있었습니다.

2022년 말에 제가 있던 추천팀은 엔진팀과 통합되었습니다. 광고 할당을 주로 다루던 엔진팀과의 통합으로, 광고 할당과 관련된 맥락을 고려하여 광고 성과 최적화 과제를 더 효과적으로 해결할 수 있게 되었습니다. 하지만 알아야 하는 맥락이 늘어나면서 해결해야 하는 이슈의 종류가 늘어나고 인지 부하도 늘어난다는 단점도 있었습니다. 회의 등 커뮤니케이션의 생산성도 떨어지는 듯 했습니다.

몇 차례의 회고를 거치면서 단점이 점점 부각되자, 저희 팀은 인원을 나누어서 광고 성과 최적화 과제와 안정성 과제를 각각 진행하기로 결정했습니다. 그 결과 안정성 과제를 진행하는 엔지니어들은 광고 성과 최적화 과제에 대해 신경 쓰지 않고 안정성 과제에만 집중하면서 과제에 몰입할 수 있었습니다. 회의 방식이나 과제 진행 방식도 회고를 통해 점진적으로 개선해 나갔습니다. 어느 정도 프로세스가 개선된 이후에는 팀이 합쳐진 초창기와 비교했을 때 생산성과 몰입도가 매우 증가했다는 것을 회고하며, 다시 한번 회고의 중요성을 느꼈습니다.

Ad Engine팀 스프린트 예시1. Ad Engine팀 스프린트 예시2.

회고 예시. 저희 팀은 confluence, figma를 이용해서 주기적으로 회고했습니다.

목적 달성을 위한 커뮤니케이션

커뮤니케이션도 어떤 목적을 위해 이용하는 수단 중 하나입니다. 대화에 몰입하다 보면, 목적 달성에는 도움이 되지 않는 대화를 하게 될 때가 있습니다. 예를 들면 A 문제 해결 방법 구체화를 목표로 대화하고 있었는데, 정신을 차리고 나니 B 문제가 중요한지 아닌지에 대해 대화하고 있는 것입니다. 이런 대화도 도움이 될 때가 있겠지만, 대부분 시간만 소비하고 실질적인 목적을 달성하지 못하는 경우가 많았습니다. 반대로 잘 준비된 형태로 목적을 신경 쓰면서 이야기하면 목적도 달성하고 의미 있는 아이디어를 도출할 때가 많았습니다.

커뮤니케이션에도 여러 방법이 있습니다. 다 같이 모여서 회의를 하는 것보다 문서를 기반으로 비동기적으로 커뮤니케이션 하는 게 목적 달성에 도움이 될 수도 있습니다. 차 한 잔 하면서 그 사람의 이야기를 잘 들어주는 게 목적 달성에 더 도움이 될 수도 있습니다. 굳이 명시적으로 커뮤니케이션 하지 않고 각자가 스스로 학습할 시간을 가지는 게 목적 달성에 도움이 될 수도 있습니다. 따라서 편한 방법이나 익숙한 방법보다 목적 달성에 효과적인 방법을 선택하여 수행하는 것이 더 나은 태도일 수 있습니다.

Ad Engine팀 RFC 예시1. Ad Engine팀 RFC 예시2.

비동기적인 커뮤니케이션의 예시. 저희 팀은 RFC(Request for Comments)라는 이름으로 작업 방향에 대해 논의했습니다.

좋은 커뮤니케이션 태도를 가진 동료들 덕분에 조금 더 나은 커뮤니케이션 태도를 갖게 된 것 같습니다. 구체적으로는

  1. 내가 어떤 목적을 달성하고 싶은 것인지
  2. 목적 달성을 위해서는 어떻게 커뮤니케이션하는 게 좋은지
  3. 현재 내가 목적 달성에 도움이 되는 커뮤니케이션을 하는 게 맞는지

를 더 신경 쓰게 되었습니다. 그 결과 예전 같았으면 바로 미팅을 소집해서 이야기했을 만한 이슈가 발생해도, 문서를 통해 소통하거나 더 시간을 갖고 지켜보거나, 혼자서 더 고민해 본 후 그 결과물을 기반으로 이야기할 수 있게 된 것 같습니다.

3. 회사에 아쉬운 점

넷플릭스의 퇴사 부검 메일에선 “넷플릭스가 이랬다면 떠나지 않았을 것”을 전제로 아쉬운 점을 적는다고 합니다. 앞서 말씀드린 것처럼 저는 지금을 모험의 기댓값이 더 높은 상황이라고 인식하고 있기 때문에, 어떤 환경이 갖추어지던 몇 년 안에 새로운 환경으로 떠났을 것 같습니다. 회사에 아쉬운 점이 있어서 떠나는 것은 아니라서, “버즈빌이 이랬다면 떠나지 않았을 아쉬운 점”은 없습니다.

그래도 개선에 참고할 수 있는 아이디어를 무엇이라도 말씀드리면서 떠나는 것이, 아쉬움이 전혀 없다고 밝히며 떠나는 것보다 회사에 조금이라도 도움이 되겠다고 생각했습니다. 퇴사 면담을 거치며 여러 번 말씀드렸던 내용이 있기에, 이를 정리해보았습니다.

광고 성과 최적화 문제는 많은 ad-tech 회사들이 풀고 있는 문제입니다. Criteo, Linkedin, Google 등의 글로벌 회사들이 어떻게 이 문제를 푸는지 논문이나 기술블로그를 통해 찾아볼 수 있습니다. 많은 시간과 노력을 투자해온 것으로 보이고, 꽤 고도화된 형태로 이 문제를 풀고 있는 것으로 추측됩니다.

버즈빌에서는 이 문제를 올해부터 제대로 풀기 시작했고 의미 있는 성과를 얻었습니다. 모두가 이 문제를 처음 접하다보니, 다양한 아이디어를 기반으로 논의와 실험을 반복하면서 개선해갔습니다. 다만 로드맵과 우선순위 결정 과정에서 명확한 합의가 이루어지지 않았다는 생각이 들 때가 있었습니다. 그래서인지 1~2년 후 솔루션이 어떤 모습이 될지, 어떤 수준으로 이 문제를 풀고 있을지 잘 상상이 되지 않았습니다.

저에게 광고 성과 최적화 문제는 더 잘 풀어서 다른 ad-tech 회사들과 경쟁해보고 싶다는 생각이 들 정도로 재미있는 문제입니다. 로드맵과 우선순위에 대해 충분히 합의된 상태로 1~2년 후에 우리의 솔루션이 어떤 모습이 될지, 그 때의 성과는 어떻게 될지 기대할 수 있었다면 더 남아서 함께 문제를 풀고 성과를 내고 싶었을 것 같습니다.

“따라서 빠르게 로드맵과 우선순위를 확립하고 고도화 방향을 구체화해야 한다”고는 생각하진 않습니다. 인력 부족, 리소스 부족, 시급한 이슈 발생, 새로운 비즈니스 요구사항 발생, 유관 부서와의 합의 등 여러 제약사항 속에서 이미 나름의 최선의 선택을 해왔다고 생각하기 때문입니다. 어차피 흔들릴 수 밖에 없는 로드맵을 구체화하는 데에 리소스를 투자하는 대신, 단기적이고 유연한 접근으로 문제를 차근차근 해결하는 전략이 더 효과적일 수 있다고 생각합니다. 이런 아쉬움을 느낄 때가 있었다, 정도의 가벼운 소회로 이해해주시면 될 것 같습니다.

그 외에 아쉬운 점은 없습니다. 훌륭한 동료들과 재미있게 일할 수 있었고, 많은 분들의 도움 덕분에 성장해서 떠날 수 있게 되어 감사한 마음입니다.

4. 앞으로의 계획

저는 새 회사의 검색팀 개발자로 근무하게 되었습니다. 검색팀은 아래 업무를 수행한다고 합니다.

다양한 Contents를 안정적인 시스템 구성과 다양한 Ranking 모델을 통해 사용자에게 좋은 서비스 품질을 제공하려고 합니다. 이를 위해서 집중하고 있는 부분은 사용자의 검색 경험을 좋게 하기 위한 다양한 Search Function 개발, 품질 향상을 위한 다양한 Ranking모델 실험/적용, 안정적인 서비스를 위해 Search Infrastructure 구축/향상에 대해서 많은 고민을 하고 있습니다.

재미있는 문제가 많을 것으로 예상되고, 새 회사의 업무는 개인 블로그에 올려보도록 하겠습니다. 긴 글 읽어주셔서 감사합니다!

버즈빌 개발자 지원하기 (클릭)

버즈빌 테크 리크루터와 Coffee Chat하기 (클릭)

You May Also Like

버즈빌, 아마도 당신이 원하던 회사!

지원하기