People

성장하는 조직의 엔지니어들은 어떻게 일할까?

숨고 백엔드 엔지니어들의 생각이 궁금하다면

2022-09-12 Glenn Lim

고수와 고객이 숨고에서 경험할 수 있는 서비스는 무려 1002개인데요. 늘어난 서비스에 따라 고수와 고객이 만나기 위한 첫 걸음인 요청서와 견적서의 발송량도 작년의 같은 기간 대비 약 50% 증가했습니다. 이렇게 유저의 요청이 많아짐에 따라 안정성은 물론, 더욱 빠르고 쉽게 고수와 고객이 만날 수 있도록 돕는 것이 중요해졌습니다.

이러한 숨고의 성장속도에 맞춰 서비스의 안정적인 운영에서부터 새로운 기능의 성공적인 안착을 책임지고 있는 조직이 바로 숨고의 Tech Team인데요. 빠르게 성장하는 숨고만큼이나 성장에 누구보다 진심인 숨고 Tech Team의 Back-end Engineer 세 분을 만나 이야기를 나누어보았습니다.


안녕하세요. 세 분 각자 자기소개를 부탁드려요.

Terry: 안녕하세요. X Squad에서 숨고페이와 같은 고수 사이드에서의 숨고 프로덕트 사용성 개선 전반을 맡고 있는 Back-end Engineer Terry입니다.

James: 저는 온보딩 이후 US Squad로 옮긴지 약 3주 된 Back-end Engineer James입니다. 주로 숨고 메인 화면 및 요청서 개선을 담당하고 있습니다.

Lucas: 안녕하세요. Back-end Engineer Lucas입니다. 이전에는 CT Squad에서 구글 인앱결제를 진행하다가 얼마 전에 Terry가 계신 X Squad로 옮기게 되었고요. 지금은 고수 프로필 개선 작업을 진행하고 있습니다.

세 분의 경력과 배경이 모두 다른데, 숨고에 합류하시게 된 계기가 궁금해요.

Terry: 저 같은 경우는 이전 회사에서는 패션 관련 플랫폼에서 인공지능을 활용해 착장 사진의 의류를 segmentation하고, 이와 비슷한 의류를 추천해주는 시스템과 이를 위한 API 서버를 개발했었어요. 인공지능이라는 분야가 매력이 있고 전망도 좋다고 생각했지만 기술의 특성 상 전문 지식을 갖춘 분들에게 더 어울리는 일이고 저에게는 맞지 않는 일이라는 생각이 들었어요.

인공지능이라는 기술이 가진 장래성에 대한 욕심보다는 Python 개발자로서 더 큰 규모의 서비스를 다루는 회사에서 성장하고 싶은 마음이 훨씬 컸어요. 당시에는 많은 분들이 정말 괜찮겠냐고 물어보셨는데(웃음) 꽤 시간이 지난 지금까지도 이 선택은 전혀 후회하지 않습니다.

Python 개발자로서 제가 숨고를 선택한 이유는 이직을 고민하던 그 당시만해도 숨고처럼 큰 규모의 프로덕트에서 Python을 무리없이 사용하는 회사가 우리나라에는 그리 많지 않았어요. 아무래도 Python을 백엔드 언어로 사용하는 회사들은 초기 스테이지인 경우가 많았다보니, 숨고 정도의 회사라면 내가 잘 할 수 있고 많이 성장할 수 있겠다는 생각에 합류를 결심했습니다.

Lucas: 저는 제일 처음 개발을 시작한 곳이 평범한 솔루션 구축 기업이었어요. 업체 특성상 C#이나 Node.js, Java, Python을 모두 사용했었는데요. 다양한 언어들을 사용해봤지만 Python이 제일 재미있게 느껴져서 그 다음 직장으로 Django 기반의 공공지역 배달대행 관련 업무를 선택했었습니다. 하지만 새로 옮긴 곳은 제게는 수직적이고 딱딱한 곳으로 느껴졌어요. 그러다보니 파이썬을 계속 하면서도 팀원 간의 분위기가 좋고 서로 배울 수 있는 ‘개발 문화가 좋은 곳’을 찾다가 숨고를 알게 되었습니다.

숨고에 오기 전 많은 회사들과 인터뷰를 했는데, 겉으로 보이는 모습과 인터뷰에서의 모습이 약간 다르기도 해서 아쉬웠어요. 하지만 숨고는 겉으로 보이는 모습만큼이나 인터뷰 때 화기애애하면서도 프로답게 소통하는 모습이 너무 좋았고, 오피스 분위기도 소통을 중시하고 있다는 느낌을 많이 받았어요. 합류 후에는 제가 기대했던 것처럼 Python을 깊이 있게 다루고 있기도 하고, 동료로서 경험하는 모습도 인터뷰때 느꼈던 것과 크게 다르지 않아서 더욱 만족스러워요.

James: 저는 이전에는 온라인 강의 플랫폼 회사에서 일했었어요. 저도 Lucas처럼 PHP, Node.js 등 다양한 언어를 사용하는 환경이었는데, 마침 제가 맡은 프로젝트가 Python으로 진행이 되다보니 꽤 오랜 기간 Python을 사용했었습니다. 그러다보니 자연스럽게 이직을 고려할 때도 Python으로 개발을 하는 회사를 우선 고민했는데, 숨고는 이직 희망 회사 리스트에서 별을 꽤 많이 붙여둔 회사였어요(웃음).

이직을 준비할 당시에 우선순위가 높은 회사는 나중에 지원해야겠다고 마음 먹었었는데, 마침 Tech 리크루팅을 담당하신 Glenn께서 먼저 저에게 커피챗 제안을 주셨어요. 커피챗을 통해 숨고에 긍정적인 인상을 갖게 되었지만, 다른 곳으로의 합류가 어느 정도 결정된 상황이어서 지원이 어려울 것 같다고 연락을 드렸었어요.

하지만 문득 지금 지원을 하지 않는다면 나중에 후회할 것 같다는 생각이 들었어요. 만약 떨어지게 되더라도 좋은 경험이 될 것 같다는 생각도 있었고요. 민망한 상황이긴 했지만 열흘 정도 뒤에 다시 지원해보고 싶다고 연락을 드렸고, 감사하게도 숨고에서도 저를 좋게 봐주셔서 프로세스가 잘 진행되었습니다.

커피챗부터 인터뷰까지 경험하면서 느꼈던 숨고의 개발 문화가 인상적이었고, 개발 조직이 어느 정도 세팅된 곳에서 많은 트래픽을 경험하면서 엔지니어로서 성장하고 싶다는 생각에 숨고에 합류하게 되었어요.

세 분 모두 디테일은 다르지만 합류하신 이유에 성장이라는 키워드가 눈에 띄는 것 같아요. 성장에 대해 더 이야기해보면 좋을 것 같은데, Lucas는 얼마 전에 인앱 결제 기능 구현을 통해 많은 성장을 하셨다고 들었어요.

Lucas: 구글 인앱 결제라는 기능은 새로 생긴 기능은 아니지만, 이전까지 숨고 서비스에는 포함되어 있지 않았어요. 그런데 올해 구글 스토어 규정이 바뀌면서 인앱 결제를 특정 시점까지 반드시 서비스 안에 추가해야 하는 급한 상황이었어요. 아무래도 기한이 정해져 있는 개발 이슈였다보니 결제에서부터 환불까지의 전체 백엔드 기능 구현에만 한 달을 꽉 채웠고, 여기에 서비스 구조 일부도 함께 개선하는 꽤 규모가 있는 작업이었습니다.

서비스 구조 일부 개선은 처음에는 예상하지 못했는데, 개발을 마쳤는데 플랫폼에서 지원을 하지 않는 경우나 엣지 케이스가 발생하는 경우가 많아 쉽지 않았던 기억이 나네요. 이런 문제들을 해결하기 위해 구글 공식 문서도 많이 참고했는데 예상보다 내용이 충실하지 않아서(웃음) 당황하기도 했고요.

개발 과정에서는 챕터 내의 다른 팀원들이 코드 리뷰를 해주신게 큰 도움이 되었어요. Pull Request 리뷰를 매번 정성스럽게 작성해주셔서 리팩토링 기간으로 잡은 1주일 동안 코드가 많이 깔끔해진건 물론, 기능을 개발하는 시간만큼이나 많이 배울 수 있었어요.

한편으로 제품을 개발하는 구성원의 입장으로는 저희가 스쿼드를 중심으로 애자일하게 일하는 곳이다보니 PO나 프론트엔드, 모바일 챕터에서 적극적으로 도움을 많이 받을 수 있었어요. 특히 매일 아침마다 10분에서 15분 정도씩 데일리 스크럼을 하는데, 이때 서로 일감을 확인하면서 궁금하거나 도움이 필요한 사항을 편하게 공유할 수 있었던게 큰 도움이 되었어요. 개발 역량과 커뮤니케이션 역량 두 가지 측면에서 많이 성장할 수 있는 계기였던 것 같습니다.

Terry는 입사한지 3개월 만에 프로젝트에 참여하시려고 자원까지 하셨다고 들었어요. 자세한 이야기를 들어보고 싶어요.

Terry: 제가 입사했을 당시만 해도 숨고에는 서비스 내에 자체 결제 기능이 없었어요. 가상 계좌에 입금해주는 에스크로 방식의 ‘안전거래’라는 기능은 있었지만 기능 자체가 불편하고 버그도 많았죠. 이 문제를 해결하기 위해 기획한 기능이 ‘숨고페이’인데, ‘위클리 업데이트*’에서 ‘앞으로 우리가 이런걸 만들거다’라는 내용을 PO께서 발표하시는 걸 들었을 때 꼭 해보고 싶었어요.

서비스에 있어서 굉장히 크고 중요한 프로젝트이기도 했지만 그만큼 제 스스로 많이 성장할 수 있을 것 같다는 느낌이 있었거든요. 말씀하신 것처럼 그때가 입사 3개월 차였는데, 제가 직접 담당 PO를 찾아가서 자원을 했어요. 나중에 들어보니 마침 당시 숨고 페이 개발을 맡은 스쿼드에서 인원 구성을 어떻게 해야하나 백엔드 챕터 리드님과 함께 고민하고 계셨다고 하더라고요. 지금 생각해보면 운이 좋았던것 같아요.

* 위클리 업데이트(Weekly Update): 매 주 월요일마다 진행되어 숨고의 다양한 소식을 나누는 전사 타운홀 미팅

그렇게 송금 요청과 정산에 필요한 계좌 번호와 사업자 등록번호 같은 정보를 확인하고 등록하는 기능 개발에서 시작해서 약 6개월 정도를 몰입했는데, 이직 후 얼마 되지 않아 서비스 개발에 참여했다보니 예상하지도 못했던 어려움이 많았어요.

예를 들면, 그 당시 송금 요청에 필요한 암호화 규격에 대한 실제 레퍼런스는 대부분 Java 기반이었어요. 만약 제가 이걸 Python으로 구현하지 못한다면 암호화만 담당하는 서버를 Java로 따로 개발해야하는 상황이었죠. Java는 레퍼런스가 많기 때문에 기능을 빠르게 구현할 수 있겠지만 추후 유지보수 측면에서 좋지 않다고 판단해서 구성원들과 논의 끝에 Python으로 개발을 시도했어요. 예상했던대로 Python으로 된 레퍼런스가 없었기 때문에, Java 레퍼런스를 참고해서 Python 암호화 모듈 정보를 일일히 찾아가며 어렵사리 구현할 수 있었어요.

어찌보면 쉬운 방법을 두고 어려운 방법을 선택한 것이라고 볼 수도 있지만, 장기적인 관점에서 구성원들간의 협업과 서비스에 도움이 될지를 고민해야했기 때문에 더욱 많이 성장할 수 있었던 것 같아요.

다른 두 분에 비해서 James는 입사하신지 얼마 되시지 않으셨는데, 성장이라는 측면에서 숨고의 Back-end Engineer 온보딩은 어떠셨나요?

James: 우선 저는 온보딩이라는 것을 업무 세팅만 간단하게 도와주거나, 다른 동료가 문서를 전달하면서 ‘이런게 있으니까 알아서 찾아서 하세요’ 느낌이라고 생각했는데, 숨고에서는 온보딩때 편하게 물어볼 수 있는 짝꿍이 지정되어 있었던 점이 좋았어요. 온보딩 안에 프로젝트는 어떻게 작업하는지, 다른 사람들과 어떻게 협업하는지 같은 것들에 대해 궁금한 점을 그때그때 물어보면서 해결할 수 있어서 빠르게 구성원으로 녹아들 수 있도록 케어받고 있다고 느낄 수 있었습니다.

엔지니어로서는 일감의 할당부터 배포까지의 전체 플로우를 굉장히 빠르게 경험해볼 수 있었던 점도 인상깊었어요. 주변의 다른 개발자들에게 물어보았을 때 새로 들어간 회사에서 한 달 안에 배포까지 해보는 경험은 해보기 쉽지 않다고 들었거든요. 아직은 많이 성장하고 싶은 주니어의 입장에서 온보딩 기간임에도 한 명의 엔지니어로서 유의미한 역할을 경험해볼 수 있었다는 점이 너무 좋았어요.

제가 맡은 기능이 특정 서비스에서 일정 금액 이상의 견적서가 발송되는 경우, 해당 카테고리에 대한 면허의 유무를 체크하고 이에 대한 시스템 메시지를 채팅창에 발송하는 기능이었는데, 이 기능의 특성 상 자주 발생하지는 않고 제가 직접 확인하기도 어려운 기능이에요. 하지만 합류한지 얼마 되지 않은 시점에 숨고처럼 규모가 있는 서비스에 제가 개발한 것이 반영되는 경험을 할 수 있다는게 굉장히 인상적이었어요. 괜히 로그도 들여다보고 문제 없이 잘 동작하고 있는지 한참 보게 되더라고요. (웃음)

image

세 분 모두 굉장히 제품 중심의 개발 문화를 경험하고 계시고, 이에 대해 긍정적으로 말씀해주셨어요. 그렇다면 빠르게 성장하는 스타트업의 개발자로서 세 분께서 가장 중요하게 생각하시는 점이 무엇인지도 궁금해요.

James: 제가 지금 하고 있는 일이 얼마나 임팩트가 있을지 고민해요. 임팩트는 여러 의미가 있을텐데, 저는 우리가 하고 있는 비즈니스에 얼마나 많이 기여할 수 있는지를 생각하는 편이에요. 우리가 가진 자원은 한정적이기 때문에 얼마나 효율이 좋을까를 고민하는게 중요하다고 생각해요. 그렇기 위해서는 제품을 만드는 다른 사람들과 더 많이 소통하면서 의견을 나누면서 함께 해야하고요. 숨고에서는 대부분의 사람들이 이렇게 생각하기 때문에 더 건강한 문화로 나아가고 있지 않나라고 느껴요.

Terry: 저는 커뮤니케이션과 책임감을 꼽고 싶어요. 커뮤니케이션은 당연히 다른 사람과 함께 일할 때 제일 중요한 요소 중에 하나라고 생각해요. 특히 숨고처럼 다른 사람들과의 소통이 활발한 곳에서는 커뮤니케이션이 중요하다고 느낄 때가 정말 많거든요. 책임감은 내가 지금 맡은 일에 대해서만 책임을 진다라는 것에서 더 나아가서, 개발이 완료된 이후에도 제품을 꾸준히 들여다보고 혹시 더 개선할 점이 없는지 고민하는 태도에서 드러나는 것 같아요. 저도 단순히 유지보수라고 생각하지 않고 제가 만든 것들에 대해 책임감을 가지려고 항상 노력하고 있어요.

Lucas : 저는 함께 일하는 사람들이 같은 목표를 공유하는게 중요하다고 생각해요. 저희 뿐만 아니라 많은 스타트업들이 자신의 성장과 회사의 성장, 서비스의 성장을 최대한 맞추려고 노력하고 있는 것을 보면 스타트업에서 이게 얼마나 중요한지 새삼 느껴요. 저희는 여러 스쿼드의 목표가 굉장히 뚜렷해서 각자 목표를 달성하기 위해 구성원들이 집중하고 있어요. 그러면서도 스쿼드와 상관없이 모든 사람들이 숨고라는 프로덕트를 진심으로 잘 되게 하려고 노력하고 있거든요. 이런 점이 다른 조직에 비해 숨고가 건강하면서도 빠르게 성장한 비결이 아닌가 생각해요.

저희가 작년부터 올해까지 많은 분들을 모시고 있는데, 세 분께서는 어떤 분이 숨고에 합류했으면 하시나요?

Terry: 자신이 맡은 역할에 주도적으로 일하며 성장하고 싶은 분이면 좋을 것 같아요. 의도한 건 아니지만 계속 성장이라는 키워드가 나오는데(웃음), 저는 성장이라는 단어에 다양한 의미를 부여하고 싶어요. 저 또한 개발자이기 때문에 엔지니어로서의 성장은 당연히 중요하게 생각하고, 여기에 공감하시는 분이 합류하시길 바랍니다. 여기에 조금 더 욕심을 내보자면, 기술을 바탕으로 비즈니스를 풀어내는것도 중요하기 때문에, 사람들이 많이 사용하는 제품을 만들기 위해 함께 고민하며 성장할 수 있는 분이면 더 좋을 것 같아요.

James: 저는 앞서 Terry가 말씀해주신 것과 비슷한 결인데, 최근에 읽은 책에서 ‘자기계발을 주기적으로 하면 그 결과물이 복리로 온다’는 이야기가 굉장히 인상깊었어요. 저는 이 자기계발의 범위에 개발 지식에 대한 학습 뿐만 아니라 동료와의 협업과 소통도 포함시키고 싶어요. 숨고에서의 협업은 엔지니어들끼리 하는것보다 다양한 업무를 하는 동료들과 하는 경우가 훨씬 많아요. 그러다보니 사람 간의 커뮤니케이션에 대한 고민이나 비즈니스에 대한 고민을 하고 서로 이야기 하는 과정에서 많이 성장할 수 있다고 생각해요. 이 과정에서 자신의 의견이나 아이디어를 다른 사람에게 잘 이야기하는 역량이 있으시다면 더욱 좋을 것 같습니다.

Lucas: 저는 오너십(Ownership)이라는 말의 의미를 이 곳에서 새삼 다시 깨달았는데, 이게 책임감이라는 단어보다 숨고의 업무 분위기를 잘 설명해준다고 생각해요. 숨고는 아직 해야할 것이 많기 때문에, 자신의 결과물에 욕심을 갖고 일하는 분이라면 많은 성취감을 느끼시고 동기부여도 충분히 되실 수 있을 거라고 생각해요. 다만 일을 찾아서 하시는 분들이 많다보니, 수동적으로 일하시는 성향을 가진 분이라면 숨고가 약간은 낯선 환경이실 수도 있겠다는 생각도 들어요. 하지만 그런 분들이 오시더라도 충분히 잘 적응하실 수 있도록 도와드리고 있기 때문에 큰 불편은 없으실 거라 생각해요.

세 분께서 생각하시는 숨고에서의, 혹은 개발자로서의 목표나 계획도 들어보고 싶어요.

Lucas: 저는 서비스가 더욱 성장해서 지금보다 더 많은 사람들이 숨고를 쓸 수 있도록 만들고 싶어요. 아직까지도 저희 서비스가 이름답게 ‘숨은 고수’같은 서비스라고 생각해요. 물론 올해 TV 광고도 했고 사용자도 적지 않은 서비스이지만 아직 숨고를 만나보지 못한 수많은 분들에게도 숨고가 유의미한 도움을 드릴 수 있기 때문에, 더 많은 분들이 숨고를 사용할 수 있도록 하는데에 기여하고 싶어요.

Terry: 저는 커리어에 있어서 함께 일하는 동료들의 성장에 기여하는 개발자이자 함께 일할 때 도움이 되는 개발자가 되는게 목표에요. 단순히 코드를 잘 짜는 엔지니어를 넘어서 제가 생각하는 다양한 의미의 성장을 도울 수 있는 사람이 되려고 항상 고민하고 있어요. 당연히 이 모든 것들을 숨고에서 경험할 수 있다면 더할 나위 없이 좋을 것 같네요.

James: 저는 두 분과는 달리 조금 개인적인 목표인데, 엔지니어로서 작게나마 재능 기부를 해보고 싶어요. 처음 개발을 시작할 때 몸이 불편하신 분들이나 어린이, 청소년들이 유독 눈에 들어왔어요. 시간이 지나서 제가 충분한 역량을 갖추게 된다면 사회적 약자에게 도움이 되는 다양한 활동, 사이드프로젝트가 될 수도 있고, 코딩 교육 봉사 같은 것들을 해보고 싶어요.

image

마지막 질문입니다. 숨고를 한 단어로 표현하자면?

Terry: 참 좋은데 뭐라고 표현할 방법이 없네요(웃음). 두 분께 넘기겠습니다.

James: 음, 저는 평양냉면으로 할게요. 예전에 비해 많이 유명해져서 이젠 많은 분들이 알아봐주시잖아요? 제가 처음 숨고를 알게 되었을때와 처음 합류했을때, 그리고 지금을 비교해보면 숨고가 참 많이 유명해졌구나 라고 느껴요. 또, 평양냉면이라는 음식이 자극적으로 맛있는 음식은 아니지만 먹다보면 정말 맛있거든요. 저희가 아주 크고 화려한 회사는 아니지만 시간이 지날수록 좋은 회사라고 느낄 때가 많다는 점도 비슷한 것 같아요.

Lucas: 숨고에 합류하기 전에 저희 숨고 뿐만 아니라 다른 곳의 여러 콘텐츠를 보면서 ‘이 이야기들이 진짜일까?’ 라고 생각했는데, 막상 제가 이 자리에서 이야기하니 똑같이 말씀드리게 되네요. 저는 숨고를 맑은 시냇물로 표현하고 싶어요. 속이 비치도록 투명하면서도 고여있지 않고 계속 흐르는 모습이 숨고 팀원들이 서로 협업하면서 서로 발전해나가는 모습과 되게 닮아있는 것 같거든요.

Glenn Lim Talent Acquisition Lead
좋은 사람들로 북적이는 숨고를 만들기 위해 노력합니다.