안녕하세요 동민님. 지난번 취중진담 인터뷰, 그리고 EO 영상에 이어 1년만에 인터뷰를 진행해보게 되었네요. 1년 만에 인터뷰를 진행하는 만큼, 최근에 집중하고 있는 업무와 함께 간단한 자기소개 부탁드립니다!
CTO 서동민님
안녕하세요. 오랜만에 인터뷰로 찾아뵙게 된 그리팅 CTO 서동민입니다. 최근에 하고 있는 업무를 말씀드려보자면, 정말 다양해요.
먼저, 기능 개발부터 아키텍쳐 설계까지 실무 과정에 열심히 참여하고 있습니다. 최근에 런칭한 ‘그리팅 TRM’에 필요한 제반 작업들부터 아키텍쳐까지 설계하고 있고, 빠른 속도로 늘어나고 있는 엔터프라이즈 고객 분들이 필요로 하는 SSO 기능을 개발하고 있어요. 그리고 R&D팀이 열심히 준비한 AI파싱 프로젝트를 더 잘 런칭할 수 있게 성능 개선부터 안정성을 위한 작업들까지 함께 준비중입니다.
그 외에 CTO로서 하는 업무를 추가로 말씀드려보자면, 제품/개발팀이 일하는 방식을 고민하고, 개발팀의 다음 방향성이나 스텝을 제시하고 있습니다. 효율적으로 업무하고 협업할 수 있는 방법에 대해서 개발팀의 각 리더분들과 주기적으로 이야기하고 있습니다. 그리고 리더 분들 대상으로 1on1 및 위클리 미팅도 진행하는데, 업무 회고부터 분기별 목표설정까지 함께 논의해보고 있어요.
빠르게 업데이트된만큼, 그리팅 ATS와 함께 새로 나온 그리팅 TRM도 같이 소개 부탁드립니다!
CTO 서동민님
‘그리팅 ATS’는 채용솔루션으로 인사담당자들이 채용을 채용을 ‘빠르게’ 그리고 ‘잘’할 수 있도록 돕고 있습니다. ‘채용을 잘하려면 어떻게 해야 할까’라는 고민을 함께 하며, SaaS (Software as a Service)의 본질인 업무의 효율화를 도와줄 뿐만 아니라 본질적으로 더 나은 가치와 경험을 주려고 하는 서비스에요. 때문에 채용 담당자가 채용을 더 잘할 수 있는 방법을 ‘연동’, ‘채용사이트 빌더’, ‘면접 기능’, ‘채용 데이터 대시보드’ 등의 기능들로 풀며 채용 브랜딩을 더 잘 할 수 있도록, 채용 경쟁력을 더 높일 수 있도록 돕고 있습니다.
‘그리팅 TRM’은 비교적 최근에 나온 새로운 서비스로, 단순히 채용 공고를 열어서 기다리는 것을 넘어서 우리 회사/직무에 더 적합하고 맞는 사람들을 찾고, 인재풀을 관리할 수 있도록 하는 서비스입니다. 지속적인 형성과 유지를 통해 아웃바운드 채용을 끝내 성공으로 이끌 수 있도록 하는 인재 소싱 솔루션이에요.
그리팅 ATS와 TRM은 서비스의 규모도 다르고, 서비스의 성격도 조금 다른 것 같은데요. 해당 서비스마다 개발팀이 풀고자 하는 문제도 다를까요?
CTO 서동민님
맞습니다! TRM의 경우, 초기 프로덕트이다 보니 우리가 생각한 가설과 이 프로덕트가 실제로 고객의 문제를 푸는데 도움을 줄 수 있는지 빠르게 개발하고 검증하는 단계에요. 때문에 ‘그리팅 TRM’은 ‘개발 속도’에 초점이 맞춰져 있고, ‘어떻게 하면 더 빠르게 고객의 문제를 해결할 수 있을까’가 고민 포인트입니다.
ATS의 경우, 어느 정도 커진 프로덕트로 이전보다 훨씬 복잡해졌어요. 굉장히 많은 기능들을 이미 개발했기 때문에 어떻게 하면 이 복잡한 소프트웨어를 고객분들이 쉽게 쓰고 사용할 수 있을지 UX측면서도 고민을 하고 있고, 이 복잡한 소프트웨어를 어떻게 하면 더 잘 만들 수 있을지 ‘복잡도’를 관리하는 것에도 집중하고 있습니다. 초기에는 빠른 개발을 위해 무엇을 해야 할까만 고민했다면 이제는 빠르게 개발하되 안정적인 서비스를 ‘잘’ 만들 수 있는 방법까지 함께 고민하고 있습니다.
개발팀 이야기
이제 개발팀 이야기로 주제를 넘어가면 좋을 것 같은데요. 제품/개발팀이 나아가고자 하는 지향점이나 방향성이 있을까요?
CTO 서동민님
그럼요! 그리팅 개발팀은 B2B SaaS의 표준이 되고자 하는 팀으로 ‘Be the Standarad of SaaS’라는 모토를 갖고 있습니다. 사실 SaaS라는 분야에서 아직 개발 표준이 되고 있는 팀은 없는데, 그리팅 개발팀이 그러한 표준이 되고자 합니다.
B2B SaaS의 표준이라는 목표를 위해 각 팀에서 해결하고 있는 여러가지 숙제나 문제들도 있을 것 같은데요. 각 팀별로 어떤 부분에 주력하고 있는지도 여쭤보고 싶습니다.
CTO 서동민님
먼저 Frontend(FE)팀과 Backend(BE)팀 모두 이전보다 커진 프로덕트의 복잡도를 잘 다룰 수 있는 방법에 집중하고 있습니다.
FE팀의 경우, 그 중에서도 ‘공통 라이브러리화’를 진행하고 있는데 사용하는 코드가 파편화되는 현상을 방지하고자 자체적으로 라이브러리를 만들어서 FE팀에서 쓰는 코드를 최대한 통일시키려고 해요. 공통 라이브러리를 만드는 것은 조금 힘이 들 수 있지만, 일단 만들고 나면 그 안에서 쉽게 뽑아서 사용할 수 있을 것 같습니다.
그리고 ‘테스트 코드’를 시도해보고 있습니다. 시간이 지날수록 당시의 기억은 잊혀지기 마련이기 때문에 코드 자체가 히스토리가 되게 하려고 하고 있습니다. 복잡성을 다루기 위한 방법 중 하나로 만들어진 기능에 쉽게 살을 붙이고, 변경을 자유자재로 할 수 있도록 코드에 대한 기록 관리를 쉽고 편리하게 하려고 시도하는 방법입니다.
BE팀의 경우 결합도를 낮추어 앞으로 만들 기능들을 더 잘 만들 수 있는 방법들을 고민하고 있어요. 아마 다음 질문인 MSA랑 굉장히 많은 연관이 있을거 같아, 자세한 설명은 다음 질문에서 답변을 드려보겠습니다.
우와, 굉장히 재밌네요. 작년 EO 영상에서 백엔드팀에서 풀고자 하는 문제는 ‘MSA’라고 말씀주셨는데 지금도 동일하신가요?
CTO 서동민님
EO를 촬영할 때와 지금의 지향점이 달라지진 않았습니다. 오히려 목표가 조금 더 구체적이게 되었습니다.
처음 서비스를 만들 때부터 저희 팀은 빠르게 커지는 서비스를 예상해서 MSA를 지향하고 있었어요. 지금껏 우리 팀은 만약 새로운 프로젝트를 만들게 될 경우에 가능한 독립된 서버를 만들어서 유지하자 라는 의사 결정을 하여, 이러한 방법으로 MSA라는 기술을 해석하고 실현하고 있었습니다.
그러나 대부분의 기능들은 내부적으로 "지원자 관리"라고 이야기를 하는 영역에 대한 확장들이 주로 이루어지다보니, 작은 마이크로서비스들과 함께 거대한 모놀리스 서비스가 있는 구조로 이어졌습니다.
이제는 백엔드 팀의 관심사가 거대한 모놀리스를 어떻게 하면 잘 분리할 수 있을까?의 관점으로 돌아가고 있는거 같아요.
그렇게 9월부터 시작해서 우리는 어떠한 도메인들이 존재할까? 에 대한 고민을 함께 했었고 어느정도 도메인에 대한 합의가 된 지금 이 시점에서는, 거대한 모놀리스를 또 한번 작은 마이크로서비스로 분리하기 위한 기술적인 도전을 하고자 목표를 잡았습니다.
오는 11월부터는 이러한 작업들에 백엔드 팀이 모두 집중을 할 것 같아요!
자세한 설명 정말 감사합니다! 화이트보드 앞에서 개발팀 분들끼리 열정적으로 토론하는 모습을 꽤 봤는데, 볼 때마다 괜스레 제가 다 뿌듯했습니다! 그 외에 QA, DevOps팀이 집중하고 있는 부분에 대해서도 말씀 부탁드립니다.
CTO 서동민님
QA팀과 DevOps팀 모두 더 빠른 제품 개발 Iteration을 하기 위해 기술적으로 서포팅하는 팀들입니다.
먼저, QA팀은 . 빠른 Iteration이 가능할 수 있도록 ‘자동화’에 집중하고 있어요. 에러 없는 품질 높은 제품을 제공하기 위해 모든 개발과 업데이트에는 개발 의도가 맞는지, 에러는 없는지 확인하는 test가 필요할 수 밖에 없습니다. 이 test에 드는 시간을 ‘QA 자동화’로 줄여나가고 있습니다.
QA팀에서 기능 하나 하나를 모두 뜯어보다보면 병목포인트가 QA에서 발생하고, 그럼 빠르게 제품 개발을 할 수가 없기 때문에 자동화를 시도해보게 되었어요. 새로운 기능들은 자동화가 어렵더라도 ‘이미 했던 기능 개발은 자동화를 통해 빠르게 진행하고, 신경을 덜 쓰게 하자’라는 취지였습니다. 에러가 전혀 발생하지 않을 순 없지만 같은 에러가 두 번 발생하진 않게금 하기 위해 최대한 빠르게 발견하고, 고객이 두 번 다시 같은 불편함을 겪지 않게끔 자동화를 제품 품질과 업무 효율을 함께 높여보고 있습니다.
DevOps팀의 경우, 백/프론트/QA엔지니어들이 개발에 집중하기 위한 모든 인프라를 제공해야 해서 가장 할 일이 많을 수 있고, 또 어려울 수 있다고 생각해요. 특히 그리팅 같은 경우에는 개발 업데이트가 정말 많은데, 그럴 수록 에러나 버그 등의 위험에 노출되긴 쉽습니다.
DevOps팀에서는 에러가 발생한다면 먼저 발견하고, 빠르게 롤 백할 수 있도록 다양한 인프라를 세팅하고 있고, 이를 위해 gitops, argocd를 이용하고 있습니다.
또, terraform을 이용해서 인프라에 대한 관리를 코드로 하며 어떤 것들이 어떻게 변경되었는지 히스토리 관리부터 자동화까지 진행해보고 있어요.
마지막으로 R&D팀이 집중하고 있는 업무들도 소개 부탁드립니다!
CTO 서동민님
R&D팀은 AI 파싱이라는 업무에 집중하고 있습니다. 대략적인 AI컨셉은 비정형의 데이터(Unstructured; 구조가 없는 데이터)에서 식별 가능한 데이터를 뽑아내는 AI를 만들고 있어요. 대부분의 지원자 분들이 노션, 포토셥, 원티드/사람인/잡코리아 등 본인을 표현하기 좋은 여러 양식의 이력서를 활용하곤 하는데, 양식은 다양해도 결국 표현하고자 하는 정보는 동일하거든요. 이러한 정보들을 자동으로 추출해서 채용담당자가 보다 쉽게 데이터를 관리할 수 있도록 돕는 AI를 개발하고 있고, 현재는 정확도를 높이는 추가 튜닝 작업들을 하고 있습니다.
팀마다 집중하고 있는 부분에 대해 상세하게 설명해주셔서 감사드립니다. 사전 질문지를 드린 적도 없는데, 바로 이렇게 팀마다 집중하고 있는 부분을 바로 말씀주시는 게 대단하신 것 같아요! 그럼 이번엔 동민님께 기억에 남는 프로젝트나 경험을 여쭤봐도 될까요?
CTO 서동민님
그리팅은 토론이나 논의하는 것을 굉장히 좋아하는 조직이라 PR이나 코드 리뷰 할때도 많은 갑론을박이 오가곤 해요. 모두가 경험했던 것들이 다르고, 갖고 있는 생각들이 다르기에 당연히 나올 수 있는 건전한 마찰이라고 생각을 해요.
그러나 서로의 생각을 모른채 자신의 의견만 주장하는 것은 무의미하다고 생각해, 백엔드 리더 분과 백엔드 팀을 모아 3시간이 넘도록 갖고 있는 문제점, 해결해야 하는 개발 우선순위에 대해 돌아가며 이야기하고 정리하는 시간을 가졌습니다. 이야기가 끝날 때 쯤에는 우리 모두가 다 같은 방향을 지향하고 있었고, 같은 이야기를 하고 있었다는 것을 서로 깨닫게 되었고, 이 시간 이후로 백엔드팀은 얼라인도 잘 되고 소통도 더 빨라졌어요.
팀이 커지다보니 생겼던 이슈였는데, 이러한 자리가 팀을 더 단단하게 만든다는 것을 깨닫고, 이런 시간도 정말 필요하구나라고 것을 알 수 있었던 뜻 깊은 시간이었습니다. 주기적인 회고 시간이나 팀별 워크샵을 다녀오는 등 서로의 생각을 공유하는 시간을 만들어보고 있습니다.
인터뷰 제목처럼 그리팅 개발팀은 지금도 성장 중이네요! 이번엔 그럼 그리팅 개발팀의 자랑과 개선해야 할 부분을 솔직하게 말씀 주실 수 있을까요?
CTO 서동민님
저 역시도 부족한 점이자 그리팅 개발팀의 부족한 점을 먼저 말씀드려보자면, 팀이 커지다보니 업무 공유가 아직 자연스럽지 못한 편입니다. 업무가 진행 되었을 때, 이전에는 모든 사람이 이 업무의 히스토리나 진행상황을 알았어요. 하지만 요즘엔 본인의 업무 외적으로는 히스토리나 진행상황을 잘 모르거나 공유하지 않는 일이 발생하곤 해요. 때문에 개발팀 타운홀이나 쿠키데이를 통해 개발팀이 하고 있는 업무를 다 모아서 발표를 하기도 했고, 자연스러운 업무 공유가 가능하게끔 시스템을 구축하고 있기도 합니다. 목표가 모두 얼라인 되고, 동일한 정보를 갖고 있을 때 보다 원활하게 협업하고, 발전할 수 있다고 생각해서 다양한 시도를 해보고 있는 중이에요.
이제 자랑을 해볼게요! 그리팅 개발팀은 변화를 두려워하지 않고 즐기는 팀이에요. 일하는 방식을 바꾸거나 방향성을 제시하는 게 사실 CTO 혼자 할 수 있는 일이 아닌데, 그리팅 개발팀은 변화에 대한 거부감 없이 함께 토론하거나 필요한 부분이라면 적극 수용하곤 합니다. 지금 보다 더 잘 할 수 있는 방법에 대해 진심으로 고민하는 팀이기도 하고요. 저마다의 꿈도 있지만, 그리팅의 성공을 진심으로 바라고 깊은 고민부터 빠른 실행까지 하는 분들이이에요. 그냥 하던 방식대로 해도 되지만, 더 좋은 방법을 찾아서 제안하고 누가 시키지 않아도 제품을 개선하고 있고, 최선일지 토론하며 발전을 멈추지 않는 팀입니다.
감사합니다! 말씀주신 것처럼 그리팅은 지금도 성장 중이기 때문에 개발자 분들을 계속 모실 것 같아요. 지원자 분들이 가장 궁금해했던 질문인데, 새로운 개발자 분이 그리팅에 오면 어떤 기회를 잡을 수 있을까요?
CTO 서동민님
말씀드린 것처럼 그리팅 개발팀은 변화를 좋아하고, 더 나은 방향을 끊임 없이 찾아나가는 팀이에요. 개발자라면 본인이 하고 싶은 꿈, MSA나 테스트코드처럼 적용해보고 싶은 것이 있을 텐데 이런 것들이 필요한 것들이라면 그리팅은 얼마든지 수용하고 지원해드릴 준비가 되었습니다.
논리와 근거만 있다면 언제든지 수용하고, 빠르게 시도하면서 배워나가는 것이 그리팅이에요. 다양한 시도를 하며 함께 성장하고 싶은 개발자 분이라면 그리팅에 합류하시는 것을 적극 추천드립니다!
그럼 반대로 지금 그리팅이 원하는 개발자는 어떤 분들이실까요?
CTO 서동민님
그리팅이 다음 스텝으로 나아가기 위해 우리가 경험해보지 못한 분야를 먼저 경험해 보신 분들을 모시고 있습니다.
‘작은 서비스를 큰 서비스가 될 때까지 함께한 경험이 있는 개발자 분’이나 ‘엔지니어들의 협업 환경을 구축 및 개선 하신 경험이 있는 분’이 그리팅이 지금 찾고 있는 분들이에요. 이러한 경험이 있는 분들과 함께 시너지를 내고 싶습니다!
마지막으로 동민님은 어떤 CTO가 되고 싶으신가요?
CTO 서동민님
누구보다 기민하게 변화하고, 발전을 멈추지 않는 CTO가 되고 싶습니다. 그리팅 개발팀은 발전을 멈춘 적이 단 한순간도 없고, 변화에 강한 조직이에요. 조직이 그러려면 리더인 저도 그래야 한다고 생각해서 저부터 먼저 긍정적으로 변하려고 노력하고 있고, 다른 엔지니어 분들이 주도적으로 업무할 수 있는 환경을 만들어드리려고 노력하고 있습니다.