아마존과 쿠팡을 거쳐 클래스101의 Sr.Engineering Manager로 함께하게된 이안을 만나봤습니다.
글로벌 IT회사들을 거쳐온 이안이 왜 클래스101에 오셨고, 클래스101 테크팀을 어떻게 느끼시는지 궁금하지 않나요? 💃
🤸♀️안녕하세요~이안:) 적응은 잘 하고 계시나요? 새로운 도전을 하게 되셨는데, 소감 한마디 부탁드립니다 ㅎㅎ
🕵️Ian: 네네. 에너지가 넘치는 클래스101에 와서 즐겁게 많은 분들을 만나며 잘 적응하고 있습니다. 젊은 엔지니어들을 만나면서 저도 에너지를 많이 얻었고 모두 마음을 합쳐서 열심히 클래스101 플랫폼을 만들고 계신 모습이 참 인상적이었습니다.
🌸클래스101로 오기 전에 다양한 곳을 거쳐 멋진 커리어를 쌓아오신 걸로 알고 있습니다. 짧게 소개해 주실 수 있을까요?
🕵️Ian: 벌써 오래전이네요. 저는 게임 개발자로 커리어를 시작했습니다. 3D 클라이언트를 만들었었고 무엇인가 화면에 결과가 보이는 게 참 재미있었어요. 일이 재미있었던만큼 좀 더 깊게 컴퓨터공학을 배우고 싶어서 석사를 받고 우연한 기회에 박사까지 하게 되었습니다.
박사 졸업 후 2013~2015년에는 삼성전자 소프트웨어센터에서 빅데이터 관련 연구 개발을 했습니다. 그 후 시애틀의 아마존으로 건너가게 되었어요. 저는 거기에서 아마존 내부 AB testing platform을 만드는 팀에서 일했습니다. 기술적으로도 많이 배운것은 물론이고 무엇보다 아마존의 leadership principles를 실천하기 위해 모든 엔지니어들이 열심히 일하시는 모습을 보면서 정말 많은 것들을 배웠고 그것을 통해 제가 일하는 방식 자체를 완전히 바꾸게 되었어요.
2017년에는 아마존을 떠나서 쿠팡 시애틀에 합류해 쿠팡의 프로모션 서비스를 새롭게 만들게 되었습니다. 빠르게 성장하는 쿠팡에서 대규모 트래픽을 받아서 처리하는 회사의 핵심 서비스 중 하나를 제로베이스에서 완전히 리빌딩하는 프로젝트가 매우 재미있었어요.
쿠팡 시애틀, 서울을 거쳐 한동안 한 회사의 CTO로 일을 했고 이번에 클래스101에 Head of Foundation Engineering으로 합류하게 되어 엔지니어링 매니저 역할을 하고 있습니다.
🌿Engineering Manager(EM)라는 용어가 생소한 분들도 있을 거 같아요. 혹시 클래스101에서 Engineering Manager가 어떤 역할인지 설명해 주실 수 있나요?
🕵️Ian: EM의 역할에 대해서 회사마다 다소 다르게 설정할 수 있을 것 같은데, 저는 대략 5가지 영역이 EM의 업무 영역이 될 수 있다고 생각합니다.
- 회사 비지니스 목표의 효율적 달성을 위한 엔지니어링 팀 managing,
- 엔지니어링 팀이 담당하는 플랫폼의 중장기 개발 방향 수립,
- 효과적인 DevOps 시스템 및 프로세스에 대한 기여,
- 코드 리뷰, 학습, 디자인 리뷰 등 엔지니어링 문화에 대한 기여,
- 1:1 mentoring을 통한 엔지니어 성장 지원.
이와 같이 다양한 일을 한다고 할 수 있는데요, 요약하면 엔지니어링 팀의 훌륭한 리더, 멘토, 코치 역할을 할 수 있도록 노력해야 하는 포지션이라고 생각합니다.
✨원초적인 질문일 수 있는데, 좋은 Engineering Manager란 무엇일까요? 혹시 과거 커리어를 밟아오시며 만났던 분들 중, 기억에 남는 분이 있으세요?
🕵️Ian: 가장 쉽게 생각할 수 있는 EM의 모습은 정말 관리자로서의 매니저 입니다. 회사의 비즈니스 목표를 제때에 delivery 하도록 팀을 관리하는 것이지요. 물론 이것은 기본적으로 중요한 업무인 것이 사실입니다. 그러나 그것을 달성하는 방식에 있어서는 EM의 역량에 따라서 어마어마한 차이가 날 수 있어요. 좋은 EM은 중장기적으로 팀 전체를 발전시키며 그것을 통해 장기적으로 회사와 엔지니어들의 발전에 기여하는 사람입니다. 안타깝지만 이렇게 일하지 않고 엔지니어들을 소모시키며 결과만 뽑아내는 매니저들이 존재하는 회사가 있는 것도 현실입니다. 직장인은 회사를 떠나는 것이 아니라 상사를 떠나는 것이라는 말이 이런 경우에 나오게 됩니다.
쿠팡 프로모션 팀에서 저를 이끌어 주셨던 매니저가 제 커리어에서는 가장 기억이 납니다. 이 분은 본인이 훌륭한 엔지니어링 역량을 가지고 있지만 항상 엔지니어들이 최대한 스스로 답을 찾아나가며 성장할 수 있도록 때로는 독려해 주고 가끔은 강하게 푸시하기도 했습니다. 좋은 코치와 유사했던 것이죠.
생각해 보면 정말 좋은 매니저가 되는 것은 절대 쉬운 일이 아닙니다. 저도 노력하고 있습니다.
🧇엔지니어들의 성장을 위해서 팀의 생산성을 향상시키거나 개인 동기부여를 하는 것도 중요한데, 이런 것들을 어떻게 가꿔나가실 건지도 궁금합니다.
🕵️Ian: 팀의 생산성을 향상시키는 것은 두 가지 측면에서 생각할 수 있을 것입니다.
우선 개별적인 발전 계획입니다. 마치 운동선수의 코치와 같이 각 엔지니어의 장단점을 파악하고 그들이 퍼포먼스를 지속적으로 끌어올리고 발전할 수 있도록 만들어 나가는 과정을 생각할 수 있습니다. 1:1 멘토링을 통해 이런 일들이 이루어져야 하겠지요. 그 다음에는 팀플레이 차원에서 생각합니다. 전체 팀이 전략적으로 어떤 업무에 집중해 결과를 내고 다음 목표지점을 찾아서 타격하고 있는지, 팀원을 어디에 배치하고 어떤 팀원들이 일을 함께 할건지 이런 것들을 생각할 수 있습니다.
개인의 동기부여는 앞에서 이야기한 개별 커리어 성장 계획과 함께 팀 전체적으로 성취하고 발전해 나가는 기술적 방향성이 잘 제시되어야 합니다. 비즈니스 측면에서 성취하는 일들과 그런 비즈니스 목표를 더욱 잘 달성하기 위한 중장기 플랫폼 개발 로드맵이 중요하죠.
정리하자면 적절한 목표가 주어지고 그것을 달성하기 위해 각 엔지니어가 자기 역할을 더 잘 할 수 있도록 조언을 하는 것이 필요합니다.
🏓피플 매니징이나 구성원분들의 업무 효율을 높이는데 집중하다 보면 기술자로서 고민할 수 있는 시간은 상대적으로 줄어들 것 같아요.
🕵️Ian: 그럴 수 있죠. 가능할지는 모르지만 시간이 남는다면 저는 매니저가 보조적으로 작은 과제를 맡아서 해결하는 것(일반적이지는 않지만)도 기술자로서의 역량 보존을 위해 나쁘지 않다고 생각합니다. 일상적으로 할 수 있는 일은 시스템 디자인 리뷰 및 코드 리뷰에 지속적으로 참여하는 것입니다. 시스템 설계 및 코딩에 대해 이야기하며 계속 실력을 유지하는 데 도움이 될 것입니다.
체력이 넘치는 매니저라면 밤에 사이드 프로젝트를 할 수도 있습니다. ㅎㅎ 사실 코딩 실력은 코딩을 할 때 향상됩니다. 그래서 저도 사이드 프로젝트나 자료구조, 알고리즘 코딩 연습을 자주는 못하지만 꾸준히 유지하려고 노력하고 있습니다.
좋은 개발자를 모시기 위한 과정인 코딩 인터뷰를 준비하면서 부수적으로 이런 효과를 얻을 수도 있습니다. 저희도 후보자분들이 역량을 잘 발휘하실 수 있도록 여러 인터뷰 문제를 준비합니다. 이렇게 코딩 인터뷰를 준비하는 과정에서 부수적으로 매니저들의 코딩 스킬도 녹슬지 않는 효과를 볼 수 있습니다.
🕹테크 회사로써 클래스101은 어떤가요?
🕵️Ian: 발사 직전의 로켓이라고 생각합니다. ㅎㅎ 조금만 더 노력하면 로켓처럼 날아갈 수 있어요. 그렇게 날아가려면 기술을 더더욱 갈고닦아야 합니다. 지금까지 젊은 엔지니어분들께서 시니어 엔지니어가 많이 없음에도 불구하고 정말 잘 해주셨어요. 이제 여기에서 중장기적으로 세계 속으로 뻗어 나가는 클래스101을 꿈꾸면서 글로벌 테크 컴퍼니로 올라가기 위한 플랫폼 기술의 기반을 쌓아 나갈 시점에 있습니다. 기술적으로 매우 도전적이고 재미있는 단계입니다.
📀클래스101이 기술적으로 어떤 단계에 있다고 생각하시나요? 앞으로 어떤 부분을 채워야 최고의 기술력을 갖출 수 있을까요?
🕵️Ian: 우선 클래스101의 현재 기술력은 결코 만만하지 않습니다. 지금까지 클래스101에서 일하셨던 엔지니어분들께서 업계 1위의 온라인 클래스 플랫폼을 만들어 놓으셨고, 많은 글로벌 이용자들에게 서비스를 제공하고 있습니다. 즉, 필요한 기능들은 전반적으로 잘 구현을 해놓으셨어요.
이제 필요한 것은 기술을 탁월한 수준으로 올리는 것입니다. 제 경험을 하나 나누려고 해요. 미국에 있을 때였죠. 블랙프라이데이 기간에 어딘가로 여행을 가던 중 TV를 좋은 가격에 온라인 구매하려고 했어요. 한 온라인몰에서 가장 좋은 조건으로 사려고 했는데 쇼핑몰이 응답하지 않고 몇십 분 동안 구매 자체가 불가능했죠. 결국 포기하고 아마존에 가서 약간 더 내고 구매를 했습니다. 아마존에서는 평소와 같이 몇 분 안에 쇼핑을 끝낼 수 있었어요.
말하자면 이런 측면입니다. 고객이 얼마나 몰리던, 우리의 서비스가 얼마나 복잡해지던 관계없이 언제나 동일하게 최상의 고객 경험을 제공할 수 있는 높은 수준의 플랫폼으로 발전해 나가야 합니다. 그래서 더 많은 고객분들이 클래스101에서 최상의 교육 경험을 누리실 수 있도록 플랫폼의 많은 부분을 지속적으로 고도화 시켜 나가야 합니다.
📖클래스101에 와서 잘하고 있다고 느꼈던 개발 문화가 있을까요? 또 클래스101의 개발문화를 어떻게 발전시킬 계획이세요?
🕵️Ian: 많은 국내 회사들, 특히 작은 회사의 경우에는 대부분 코드 리뷰 문화 자체가 생소한 경우가 많습니다. 하지만 클래스101은 이미 최선을 다해 철저하게 코드 리뷰를 하고 있어요. 테스트 커버리지 역시 많은 보통 회사들이 챙기지 않는 부분인데 클래스101은 점점 더 높은 테스트 커버리지를 달성하기 위해 매우 바쁜 가운데도 지속적으로 노력하고 있어요.
애자일 문화는 일상입니다. 프로덕트 조직 및 엔지니어링 조직은 애자일 문화가 표준이고 스프린트 단위로 신속하게 프로덕트를 만들어 내고 있습니다. 기본적인 선진 개발 문화는 이미 참 잘하고 계신 수준입니다.
다만 시니어 엔지니어들이 부족한 관계로 신규 플랫폼을 만들 때 깊고 수준 있는 아키텍처에 대한 고민을 충분히 하지 못했던 것 같아요. 다양한 관점에서 엔지니어링 tradeoff를 논하면서 비즈니스 요구사항에 맞는 훌륭한 시스템 설계를 하는 과정이 정착되고 그런 것을 통하여 전체 엔지니어의 설계 능력을 압도적인 수준으로 올려나갈 수 있도록 도와드리려고 합니다.
🎠클래스101을 선택하기 전에 고민이 됐던 지점이 있으셨을까요? 있었다면 그럼에도 불구하고 클래스101을 선택한 이유는 무엇인가요?
🕵️Ian: 많은 스타트업들이 문화적인 위기를 겪습니다. 클래스101도 예외는 아니었어요. 그런 부분들에 대해 걱정하는 주변 분들도 계셨습니다. 하지만 커피챗을 통해 현재 클래스101에서 일하고 계신 개발자들과 시니어 리더들과 깊이 있는 대화를 나눌 수 있었고 그런 많은 어려움들이 구현서 CTO가 오시고 1년이 지난 현시점에서 거의 다 해결이 되었다고 느끼고 조인하게 되었습니다. 그리고 와서 일해보니 정말 그런 문제들은 완전히 해결되었다고 느끼고 있습니다.
그런 어려웠던 과거를 제외하면 클래스101은 스스로 독특한 크리에이터 이코노미 시장을 개척하고 정의해 나가고 있습니다. 이렇게 없는 길을 만드는 것은 대단히 어려운 법입니다. 하지만 그 길을 성공적으로 만든다면 위대한 회사가 될 수 있습니다. 클래스101에는 그런 가능성이 있습니다.
🎡어떤 분들이 클래스101에 오면 재밌게 일할 수 있을까요?
🕵️Ian: 클래스101 엔지니어링팀에는 소프트웨어 엔지니어링을 사랑하는 분이 오시면 너무너무 즐겁고 신나게 일하실 수 있습니다. 저희는 고객을 위한 최상의 엔지니어링 프로덕트를 어떻게 잘 만들 수 있을지만 생각하고 그것을 더 잘하기 위해 어떻게 성장할지만 생각하는 사람들입니다.
🎨이안은 사랑하는 일을 하며 살고 계시나요?
🕵️Ian: 네네 저는 정말 개발을 좋아하고 이 길을 택한 것도 100% 개발이 좋아서입니다. 앞으로도 쭉 이 일을 할 거에요. 취미도 개발이고요. ㅎㅎㅎ. (그렇지만 사족으로 탱자 탱자 노는 것이 저도 더 즐겁다는 것은 고백하고 갑니다. ㅎㅎ)
이안과 함께 클래스101 테크 이야기를 만들어가고 싶은 분들을 기다립니다.
“우리, 함께해요”
Tech Recruiting Team
클래스101 테크팀이 더 궁금해졌고 성장하는 서비스와 조직에 기여하고 싶은 분이라면, 아래 링크를 확인해 주세요. 테크 리크루터들과의 캐주얼 티타임 및 채용 문의도 언제든 환영입니다. 😃