Sendbird

실리콘 밸리의 엔지니어링 매니저(리더)들은 대체 무엇을 하는가? (1편)

Eunchang Lee Head of Engineering, Chat & Data Platform
Share

Get Started!

Sign up for a full-featured 30 day free trial. No credit card required.

Free Trial

소개 및 글을 쓴 동기

안녕하세요~ 센드버드에서 Chat & Data Platform 조직들을 리딩하고 있는 이은창입니다. 회사에 조인한 것이 바로 엊그제 같은데, 벌써 1년 4개월이 지났네요. 그 동안 참 많은 일들을 겪었고, 여러모로 유의미한 변화를 만들어 가면서 팀과 함께, 회사와 함께 열심히 성장해가고 있습니다.

그간의 경험 중에 가장 힘들었던 챌린지를 고르자면 바로 한국에서 저희가 추구하는 엔지니어링 리더십의 역할에 부합하는 엔지니어링 매니저를 찾는 일이었습니다. 그리하여, 살면서 블로그에 글 한 번 써본 적이 없는 제가, “센드버드에서 찾는 엔지니어링 매니저는 도대체 어떤 사람인가?” 에 대한 이야기를 풀어보려고 합니다.

지난 1년간 많은 분들을 찾고 면접하다보니, 한국에서 엔지니어링 매니저에게 기대하는 바가 모든 회사, 그리고 조직마다 너무나도 다르며, 그 역할에 대한 기대치나 엔지니어링 리더로서의 커리어에 대하여 명확하지 않은 부분이 많다고 느꼈습니다. 그래서 제가 8년여간 Facebook 에서 엔지니어로 그리고 엔지니어링 매니저로 있으면서 느꼈던, 센드버드에 조인한 후로 경험하고 있는, 그리고 회사 및 업계 동료분들과 이야기하면서 생각해본 엔지니어링 매니저(리더)에 대한 생각들을 정리해보려고 합니다.

엔지니어링 매니저(리더)의 역할

puzzle pieces - team achievement, people management, collaboration, organizational impact

회사는 엔지니어링 매니저들에게 무슨 역할을 기대하는 걸까요?

저는 이 질문이 “엔지니어링 매니저의 성과는 어떻게 평가되는 것일까”와 결부된다고 생각합니다. 사실, 엔지니어링 매니저의 역할은 각 회사의 문화와 프로세스, 그리고 심지어는 같은 회사 안에서도 조직 및 팀에 따라 다양할 수 있습니다. 저는 그 중에서도 보편적으로 기대되는 역할들, 그리고 매니저들의 성과를 평가하는 주요 항목에 대해서 이야기해보려고 합니다.

Team Achievement

가장 중요한 첫번째 항목은 내가 리딩하고 있는 팀 또는 조직이 일궈 낸 임팩트와 성과입니다.

이 때, 표면적인 성과보다도 그 성과 자체의 좋고 나쁨에 엔지니어링 매니저가 어떤 역할을 했는지가 더 중요합니다. 그렇기 때문에 이를 평가할 때 절대 빼놓을 수 없는 부분이 바로 그 팀과 조직이 처한 상황 및 맥락 입니다. 예를 들어, 매니저 A의 팀에는 알아서 수많은 일을 잘해내는 5명의 능동적인 슈퍼 엔지니어들이 있습니다. 그래서 자연스럽게 팀의 성과와 임팩트도 좋게 나왔고요. 그런데 그 과정에서 A 의 매니징 없이도 동일한 성과가 나왔을 것이라면, 실질적으로 A가 이 팀에 기여한 밸류는 0 입니다. 그에 비해 매니저 B가 맡은 새로운 팀은 개개인의 역량은 좋지만 함께 일 하는 프로세스 및 신뢰 관계가 자리잡지 못해서 성과가 저조했습니다. 하지만 B가 팀 내 협업 효율을 높일 방법을 찾고, 그것을 위한 프로세스 또는 팀 내의 신뢰 관계를 쌓는데 지대한 영향을 미쳤고, 덕분에 팀의 성과가 기존보다 2 – 3배 향상 되었다면, 이 팀에서 B 가 기여한 밸류는 기존 대비 2 – 3배 성과를 만든 부분입니다.

People Management

두번째 항목은 사람, 즉 팀원 개개인의 성장 및 건강한 조직 문화를 이끄는 역량입니다.

직원과 회사의 관계에서 가장 이상적인 상황은 “직원이 회사에게서 원하는 것 (연봉 / 값진 경험 / 성장 / 명예 등)” 과 “회사가 직원에게서 원하는 것 (특정 프로젝트의 성과, 리더십 등)” 이 잘 맞아 떨어져서 서로가 윈윈인 상황에서 엔지니어가 본인의 성장과 부합된 일을 하면서 회사가 필요로 하는 성과를 내는 경우입니다. 하지만 현실에서는 직원과 회사의 니즈 사이에 갭이 있을 수 밖에 없으므로, 매니저가 개인과 팀 또는 조직 단위에서 그 갭을 최소화할 방법을 찾고 alignment를 끌어내는 것이 중요합니다.

그 일환으로 팀원의 성장을 도모하는 것도 매니저의 역할입니다. 효율적으로 일하는 법을 전수하고, 퀄리티 있는 코드와 좋은 기술적인 결정들을 잘 해 나갈 수 있도록 멘토링해주고, 직접 피드백을 제공해 주거나 다른 선임자에게 피드백을 받을 수 있는 환경 및 프로세스를 형성해주어야 합니다. 우스갯소리로 엔지니어가 코드를 디버깅한다면, 엔지니어링 매니저는 사람을 디버깅한다는 말을 종종 하곤 합니다. 팀원들이 힘들어할 때, 충돌이 발생하거나 무언가에 막혀서 업무를 진행하지 못하게 되었을 때, 이를 빠르게 캐치하고 그런 상황에서 벗어날 수 있도록 도와주는 것도 매니저의 역할입니다.

또 예를 들어봅시다. 매니저 A가 첫번째 항목인 Team Achievement 에서 눈에 보이는 엄청난 성과를 냈지만, 그것이 팀원들에게 야근을 강요하고, 특히 탑다운으로 alignment가 이루어지지 않은 상황에서 번아웃을 일으키면서 이루어낸 것이라면 지속가능하고 건강한 성과가 아닙니다. 그런 경우, 아무리 임팩트가 빛나더라도 매니저는 좋은 성과 평가를 받기가 힘듭니다.

간혹 예외적으로 회사의 중요한 비즈니스 니즈에 따라서 (리더십의 지지 하에) 첫번째 항목에 올인을 하는 경우도 있습니다. 이 때는 매니저가 그러한 맥락을 팀원들에게 얼마나 충분히 설명하고 내부적인 지지를 이끌어 냈는지가 중요한 평가의 기준이 됩니다.

Collaboration

세번째 항목은 대외 협력에 대한 매니징입니다. 회사에서 일을 진행하다 보면 다른 팀 또는 조직과 협력을 하는 경우가 많은데, 이러한 프로젝트를 잘 서포트하고 있는지, 또는 기대 관리를 명확하게 함으로써 막히거나 충돌되는 부분이 없도록 잘 커뮤니케이트하고 있는지 등의 부분에서 엔지니어링 매니저가 중요한 역할을 맡게 됩니다.

예를 들어 팀 내부의 일을 너무 우선시 한 나머지 다른 팀들과의 협력 과정에서 합리적이지 못하거나, 텃세를 부리는 식으로 일을 진행한다면, 팀의 성과가 좋더라도 회사 내의 다른 중요한 일들에 부정적인 영향을 미치거나 진행이 안될 수도 있습니다. 이런 경우 내 팀과 협력 팀 서로 간의 우선 순위에 대해 먼저 이해하고, 이를 바탕으로 좋은 결정을 내린 후 팀 내외에 효과적으로 커뮤니케이트하는 것이 회사가 매니저에게 기대하는 역할입니다.

Organizational Impact

마지막 항목은 Org Impact 라고 해서, 매니저가 맡은 팀 내에서 뿐만 아니라 팀이 속한 조직, 그리고 회사 전체에 좋은 임팩트를 가져오는 부분 입니다. 리크루팅 프로세스 개선하는데 기여하거나, 다른 팀의 면접 프로세스에 면접관으로서 참여해서 도움을 준다든지, 고객과의 미팅에서 회사 또는 조직을 대표하여 의사 결정 및 인터페이스를 하는 것, 그리고 조직 또는 회사 내의 중요한 이니셔티브를 이끌거나, 비효율적인 커뮤니케이션이나 프로세스를 포착하고 능동적으로 해결해 나가는 것 등이 여기에 해당합니다. 이는 단순히 한 팀의 매니저일 때 보다도, 조직이 확장하고 매니저가 여러 팀의 리더로 성장하면서 담당하는 업무 스콥이 커지면 더욱 중요해지는 부분이기도 합니다.

엔지니어링 매니저는 어떻게 팀에 기여(Value adding)할까요?

여기까지 읽으셨다면, 아마 “아니, 뭐 이렇게 기대되는 것도 많고 할 일이 많아…” 라는 생각이 드실 수도 있습니다.

여기까지는 제가 생각하기에 보편적으로 엔지니어링 매니저들에게 기대되는 다양한 역할을 총괄적으로 정리했다고 보시면 될 듯 하고요, 실질적으로는 회사와 조직, 그리고 팀의 상황에 따라서 특정 지표에 집중하고, 그에 맞는 역할을 진행하는 경우가 많습니다. 위에서도 몇 가지 예시가 있었지만, 좀 더 구체적으로 엔지니어링 매니저가 팀에 기여하는 방법들에 대해서 나열해보려고 합니다.

예를 들어, 팀에 시니어 엔지니어가 있다면 테크니컬한 의사 결정과 디자인 아키텍쳐에 대한 부분은 위임을 하게 됩니다. 반면에 Tech Lead Manager 라고 해서, 엔지니어링 매니저가 기술적인 의사 결정 뿐만 아니라 코딩이나 코드 리뷰까지 직접 하는 경우도 많습니다. 이 경우, 그런 부분에 더 집중할 수 있도록 팀 사이즈가 작아야 병행이 가능합니다. 팀이 더 커질 경우에는 시니어를 키우고 위임해서 매니저의 시간을 다른 부분에 투자할 수 있도록 지속가능한 형태로 팀을 구축해 나가야 합니다.

그리고 앞서 언급했듯이, 팀 내의 프로세스나 비효율성을 발견하고 해결하는 것 또한 매니저가 팀에 기여하는 대표적인 방법인데요, 필요에 따라서는 리더로서 의사 결정을 내려주거나, 기존의 프로세스 및 구조들을 개선해나가는 일을 합니다. 그래서 이 미팅이 정말 필요한가? 미팅 후에 명확한 액션 아이템이 있나? 지금 멤버 모두가 반드시 미팅에 참여해야 하나? 등에 대한 고민을 끊임없이 해야 하죠.

반면에 제가 느끼기에 People Management 와 관련한 엔지니어링 매니저의 역할은 한국에서 상대적으로 덜 중요시되는 부분입니다. 이 역할을 수행하기 위해서는 먼저 팀원들에 대한 이해가 필수적입니다. 그러기 위해서는 1주일 또는 2주일에 한 번씩은 30분 정도 면담을 하는 것이 이상적인데요, 이러한 대화를 통해서 팀원들을 더 많이 이해해야 그들이 잘 성장하고, 회사에도 윈이 될 수 있는 방향으로 이끌어줄 수 있습니다. 이렇게 장점은 키우고 단점을 보완해가며 각 팀원의 성과를 높여준다면, 그만큼 빠른 성장으로 인해 생겨난 더 많은 임팩트들이 매니저가 팀에 실질적으로 기여한 부분이라고 볼 수 있습니다.

이런 측면에서 엔지니어들이 겪는 전형적인 성장 곡선을 보다 빠르게 빠져나올 수 있도록 도와주는 것 또한 매니저의 역할입니다. 예를 들어:

a) 특정 문제를 파고 들다가 너무 깊게 파고 들어서 본연의 문제에서 너무 벗어나버리거나, 중간에 잘못된 가정으로 인해 잘못된 방향으로 진행되고 있을 때, 그것을 서로 의논하며 빠져나올 수 있도록 해야 하는 경우

b) 프로젝트 초반에 설계 문서나 edge case에 대한 깊은 고민 없이 시작해서 계속 수정해야 해서, 먼저 큰 그림과 대략적인 접근 방식을 문서화해서 피드백을 받은 후 시작하도록 해야 하는 경우

c) 해결하기 어려운 문제의 완벽한 해결책을 찾으려고 하다보니 계속 일이 미뤄지고 진행이 안되서, 마일스톤을 지정해가며 iterate 하라는 피드백이 필요한 경우

d) 시니어 엔지니어가 본인의 역량과 깊이 있는 고민 없이는 해결되지 않을 문제에 집중할 수 있도록 주니어들에게 적절히 업무를 위임해야 하고, 이 때 주니어들의 역량에 적합한 업무 스콥과 챌린지를 함께 줄 수 있도록 이끌어줘야 하는 경우

e) 모든 엔지니어들이 각자 잘하는 것과 못하는 것이 있는데, 우리는 못하는 것을 고치고 보완하는 것에 집중하기 마련입니다. 하지만 가끔은 팀원들의 장점을 더욱 세심히 챙기고, 단점은 이를 보완해 줄 만한 프로세스나 파트너를 제공하는 방향으로 더 큰 효과를 얻을 수 있습니다.

매니저는 이러한 팀의 전체적인 성장에 대한 방향성을 제시해야 할 경우도 많습니다. 위와 같은 피드백들을 적절한 순간에 잘 전달함으로써, 엔지니어링 매니저는 팀과 회사에 장기적으로 정말 큰 기여를 할 수 있습니다. 단기적으로는 눈에 보이지 않더라도 말이죠.

한국에서는 문화적으로 남에게 싫은 소리를 하지 않는 것이 예의라고 생각하기도 하며, 충돌을 일으키지 않고 무난하게 큰 사고 없이 팀을 잘 이끄는 것, 팀원들을 기쁘게(?) 해주는 것이 매니저의 역할이라고 느끼기도 한다고 생각합니다. 반대로 탑다운으로 찍어누르며 의사 결정을 내려야 한다고 생각하기도 하죠. 하지만 엔지니어링 매니저의 역할은 그것보다 훨씬 더 중요하고 의미있는 것이라고 생각합니다.

정답은 없지만, 한 발자국 물러서서 나는 어떠한 방식으로 팀에 기여하고 있는지를 고민해보고, 팀원들과 팀, 그리고 회사에 가장 필요한 역할을 할 수 있도록 서로가 함께 균형잡힌 다양한 노력들을 해가는 것이 무엇보다 중요합니다.

1편 정리 및 2편 소개

처음에는 블로그 하나 정도에 커버를 할 생각이었는데, 구체적인 예시들과 함께 쓰다보니 글이 많이 길어졌습니다. 이쯤에서 1편을 마무리 짓고, 2편에서는 엔지니어링 매니저의 장기적인 커리어 패스는 어떻게 되는지, 엔지니어링 매니저 vs 엔지니어가 고민될 때 어떻게 해야 하는지, 그리고 엔지니어링 매니저의 채용 프로세스 및 센드버드에서 찾고 있는 엔지니어링 매니저에 대해서 계속 이야기를 풀어나가보도록 하겠습니다. (2편으로 바로가기)

 

Categories: Sendbird