많은 사람들이 스타트업, IT기업에 대해 갖는 이미지 중 하나가 바로 ‘자유로운 분위기’ 일 것이다. 그러나 생각보다 많은 기업이 여러 가지 이유로 팀원들의 자율성을 제한하고 있고, 개중에는 일반적인 기업과 크게 다르지 않은 조직문화를 가진 기업도 있다.
개인의 능력과 권한을 최대한 존중하면서 각 팀원들의 능력을 최대한 이끌어내는, 그야말로 ‘자율과 책임’이란 무엇인지 보여주는 회사, 스퀘어랩의 이우진 HR 매니저, 권영재 개발자, 백재원 개발자를 만나 각자의 이야기를 들어보았다.
안녕하세요! 각자 하시는 일과 간단한 자기소개를 부탁드립니다.
권영재(이하 ‘권’): 안녕하세요, 저는 권영재이고, 스퀘어랩에서는 이런저런 일들을 맡고 있습니다(웃음). 기본적으로는 백엔드 개발자이고, 스퀘어랩에서는 1년 정도 일했습니다. 그 전에는 LINE의 LINE Music 팀에서 개발자로 있었어요.
저는 원래부터 스타트업에 대한 흥미가 있었지만 실제로 일하기에는 부족한 점이 많다고 느껴 큰 기업에서 경험을 쌓고 다시 돌아오게 되었어요. 원래는 다니고있던 LINE을 퇴사해서 디지털 노마드 형태로 돌아다니면서 제 사업을 할 계획이었습니다. 그런데 친한 후배가 만든 카이트라는 앱을 보고 흥미가 생겨서 연락했다가 사무실에 방문하게 되었고 ‘디지털 노마드를 하면서도 일할 수 있을까요?’라고 물었는데 대표님이 흔쾌히 허락해주셔서 팀에 합류하게 되었습니다. 코로나19 때문에 여행이 어려워지기 전에는 미국 서부, 치앙마이, 제주도 등지를 돌아다니며 일을 해왔습니다. 요즘은 한국에 묶여있지만요(웃음).
백재원(이하 ‘백): 저는 백재원이라고 하고요, 저희의 두 서비스인 ‘카이트’와 ‘플레이윙즈’에서 네이티브 앱과 웹 프론트엔드를 주로 맡고 있습니다. 요즘은 개발보다 다른 팀과의 커뮤니케이션을 더 많이 하고 있으며 직접 개발하는 것 보다 팀원들이 짠 코드를 리뷰하는데 더 많은 시간을 쓰고 있는것 같네요(웃음). 원래는 스켈터랩스라는 회사에서 2017년부터 카이트 프로젝트에 참여했었는데요, 이 프로젝트가 스켈터랩스에서 분사되며 지금 회사에 합류하게 된 케이스에요.
스켈터랩스에서 스퀘어랩으로 오시며 달라진 점이 있었나요?
백: 카이트 팀의 기술 스택이나 코드 짜는 법 등은 스켈터랩스에서 거의 그대로 갖고왔어요. 하지만 사내에서 이루어지는 커뮤니케이션이나 문화는 조금 더 캐주얼하게 가고 있습니다. 스켈터랩스와는 지금도 인공지능 관련된 조언을 얻기도 하고, 스켈터랩스 엔지니어들이 카이트 프로젝트에 추천 관련 부분에 참여할 정도로 친밀한 사이를 유지하고 있어요.
두 분이 다른 여행 회사들에 앞서 스퀘어랩을 선택하신 이유는 무엇이었나요?
권: 저는 여행도 좋아하고, 특히나 디지털 노마드로 살아가고 있다보니 항공권을 많이 사는 편입니다. 그 과정에서 불편했던 점, 개선하고 싶었던 점이 상당히 많았는데요, 항상 생각만 해왔던 그 부분을 직접 만들 수 있다는 점에 많이 끌렸습니다. 실제 여러 서비스를 보며 더 잘 하고 있는 점, 더 나은 점들을 직접 저희 앱에 도입하면서 즐겁게 일할 수 있다는 점이라고 할 수 있겠네요. 친한 고등학교 후배의 소개도 있었고요(웃음).
기존의 국내 서비스 같은 경우는 목적지와 날짜를 찍으면 해당 날짜에 대해서만 가격을 검색해서 표시합니다. 그런데 저희 캘린더 같은 경우는 색상을 통해 날짜별 항공권 가격을 쭉 보여주거든요. 구체적으로 말하면 이 기능이 저를 매료시킨 이유라고 볼 수 있을 것 같아요.
백: 저는 자연스럽게 스퀘어랩에 합류하게 된 케이스이지만, 개인적으로도 카이트 서비스가 굉장히 멋있고, 쿨하다고 생각합니다. 다른 기존의 여행 서비스들은 그다지 쓸모 없는 기능들도 붙어있는데, 카이트는 굉장히 심플하게 잘 구현해내고 있거든요.
그리고 저희 대표님이 카이트 프로젝트의 첫 PM이셨어요. 항상 ‘자기발전을 위해서는 스트레스를 받을 수 있지만, 업무와 상관없는 일로 스트레스 받을 필요는 없다’라고 말씀하시곤 하는데, 이런 시원시원한 성격이나 PM으로서의 업무 진행 방식 등에도 매료되었죠.
스퀘어랩 합류 이전의 경력이나 경험에 대해 물어도 될까요? 그것들이 어떻게 지금 도움이 되고 있는지도요.
백: 저는 학부 시절부터 게임 개발을 했었고, 대학원에서는 컴퓨터 비전을 전공했습니다. 졸업하고 나서는 흔히 말하는 ‘피쳐폰’ 시절의 게임이나 앱들을 만들었어요. 그러면서 배운 게, ‘개발에 한계는 없다’라는 것이었습니다. 정말 필요하다면 IF문 1,000개를 써서라도 구현할 수 있는 거니까요. 단지 그것이 필요한지에 대해서만 잘 판단하면 되는 거라고 생각합니다. 그래서 전 자기가 짠 코드에 대해서 문제인식을 잘 하고 있는가, 어떤 힌트가 주어졌을 때 그것을 빨리 파악할 수 있는지가 중요하다고 생각합니다. 그런 커뮤니케이션을 잘 하는 능력이 가장 중요하다는 걸 배웠죠.
권: 위에서 특정한 스펙이 내려오면 그걸 구현하는 것에만 집중하는 것이 아니라, 문제 해결 과정에서 자연스럽게 생기는 질문들을 흘려보내지 않고, 커뮤니케이션을 통해 문제를 특정하고 풀어가려는 모습이 중요하다고 생각합니다.
자연스럽게 궁금해지는데요, 스퀘어랩은 어떤 회사인가요?
권: 저희는 현재 여행에 관한 두 가지 서비스를 제공중입니다. 먼저 ‘플레이윙즈’라는 특가 항공권 푸시 알림 서비스와, ‘카이트’라는 원스톱 항공권 예약 서비스가 있어요. 어느 쪽이든 최저가 항공권의 정보를 받아보고, 원스톱으로 예약과 결제까지 가능한 서비스를 제공하고 있습니다.
이우진(이하 ‘이’): 스퀘어랩은 여행을 떠날 때 필요한 모든 것을 도와주는 회사라고 말씀드릴 수 있을 것 같습니다. 서비스를 이용하시는 유저분들께서 느끼는 경험의 처음부터 마지막까지 서비스하고자 해요. 지금은 카이트로 항공권 예약 및 결제, 플레이윙즈로 항공권 특가 알림 두 가지를 제공하고 있습니다만, 이후로는 좀 더 다양한 여행 관련 서비스를 개발하려고 생각합니다.
카이트와 플레이윙즈의 히스토리가 궁금합니다. 간단하게 소개해주실 수 있을까요?
백: 카이트는 기존 여행 서비스를 이용했을 때, 시작부터 최종 결제까지 도달하는 과정이 너무나도 복잡하고 어렵다는 문제 인식에서부터 시작했습니다. 그래서 항공권 검색부터 결제까지 몇 단계를 밟을 것인지 미리 정해놓고, 그 스텝 안에 모든 걸 끝낼 수 있도록 개발되었죠.
이: 플레이윙즈는 주로 특정 커뮤니티나 특정 정보를 많이 접하시는 분들만 최저가 항공권이나 기타 유용한 정보를 손에 넣을 수 있다는 정보의 비대칭, 불균형에 대한 인식으로부터 시작했어요. 그 정보를 좀 더 대중화해서 더 많은 분들에게 드리고자 하는 마음이었죠. 처음에는 페이스북 페이지 형태로만 런칭을 했는데요, 굉장히 반응이 좋고, 좋아요나 공유도 활발히 이루어져서 사업의 형태로까지 확장이 된 케이스입니다.
그렇군요. 스퀘어랩의 팀원들은 어떻게 구성되어 일하고 있나요?
이: 현재 총 45명이 일하고 있고요, 개발팀이 18명으로 가장 많습니다. 저희가 2019년 5월달에 합병을 하게 되었는데요, 합병 이후에만 25명을 채용하여 끊임없이 규모를 키워나가는 중입니다. 그 중에서도 주력으로는 개발팀을 계속적으로 채용하고 있어요.
개발팀의 구성과 역할은 어떤가요?
백: 개발팀의 서버 개발자는 8명이고요, 4명이 카이트 서비스와 새로 만드는 서비스를, 4명이 플레이윙즈 서비스를 개발하고 있습니다. 클라이언트 개발자는 10명이고, 플레이윙즈가 5명, 카이트가 5명, 그 중 3명은 인턴으로 주로 프론트엔드 파트를 맡아주고 있어요. 그리고 두 프로젝트를 다 맡아서 하시는 분도 있고요.
최근 했던 일 중에 가장 도전적이었거나, 어려웠던 일은 무엇이었나요?
권: 저 같은 경우는 항공사 쪽과의 연계 파트를 주로 다루는데, 항공사랑 연동되는 시스템 자체가 굉장히 오래된 시스템이다보니 레거시들이나 복잡한 용어들이 많습니다. 이 문제를 해결하기 위해 많은 정보를 찾고 공부하는데 시간을 많이 쓰게 될 수 밖에 없는 것이 도전적인 일 중에 하나인데요, 이 과정에서 시간을 허비하는 것은 저 하나로 최소화 해야겠다고 생각했습니다. 그래서 문제를 해결해간 과정에서 알아낸 정보들을 정리해서 위키 형태로 문서화하고, 종종 세미나를 열어 영상으로 기록해놓고 있어요. 그렇게 정보들을 체계화하고 커리큘럼화 해서 새로 개발자가 합류했을 때 3-4달 걸려 적응 할 것을 1달로 줄일 수 있게 하는 것이 목표입니다.
그 외에도 개발자로서 쌓이는 기술 노하우와 스킬들이 있기에, 신기술에 대한 도입 후기나 자료도 최대한 기록을 남겨서 쉽게 습득 할 수 있도록 준비하고있습니다. 이를 통해 새로 합류하는 개발자들과 함께 서비스의 성장 뿐 아니라, 개발자 개개인의 성장도 최대화 하고 싶은 바람이 있습니다.
백: 저는 회사에서 일을 어떻게 하는지에 대해 말씀드리려고 하는데요, 저희는 기획자라는 포지션이 없습니다. PM, 디자이너, 엔지니어 이렇게 구성되어 있거든요. 기획자가 없는 대신, 디자인 팀과 PM이 대표님과 얘기해서 시안을 먼저 잡고, 기획 회의를 개최해 모두의 의견을 받습니다.
기획자가 없는 이 시스템의 장점은, 모두가 아이디어를 낼 수 있고, 다양한 의견을 받을 수 있고, 모두가 기획에 참여하다 보니 프로젝트에 대한 소속감이 굉장히 많이 함양된다는 점입니다. 보통 기획자가 수직적으로 프로젝트를 끌고 나갈 경우는 만들기 싫거나 납득이 안 되어도 개발을 해야 하는 것이 문제인데, 이 경우는 그렇게 될 일은 거의 없어요.
다만 단점도 명확한 게, 명확한 기획서나 기획안 보다는 기획 회의, 디자인 시안 등을 기초로 놓고 하다 보니 업무의 히스토리가 모두에게 바로바로 공유되기는 조금 어려운 면이 있습니다. 하지만 애자일한 면을 중시하기 때문에 더 빠르게, 더 유연하게 하기 위한 방식이라고 생각하고, 아직까지 크게 문제가 된 적은 없습니다.
또 저희가 중요하게 생각하는 것이 코드 리뷰인데, 같은 프로젝트 그룹 내에서 각자의 코드 리뷰를 굉장히 활발하게 합니다. 이렇게 하면 버그도 잘 발견되고, 로직도 잘 보이고, 자기가 코딩하지 않았더라도 리뷰를 한 기억이 남아있기에 나중에 그 코드를 짠 사람이 없어도 바로 수정이 가능하거든요. 그렇게 코드가 한 두 사람에게 귀속되는 것이 아니라, 모든 팀에서 안정성이 더 높게 코딩을 할 수 있도록 노력하고 있습니다.
일하시면서 뿌듯했거나, 다른 사람들과 공유하고 싶은 경험이 있으셨나요?
백: 주니어와 시니어를 떠나서, 처음에는 코드 리뷰를 받는 입장으로 시작해 나중 가면 코드 리뷰를 해주는 입장이 되거든요. 그렇게 발전한 모습을 볼 때 굉장히 기분이 좋죠. 그리고 저희 팀에는 네이티브 앱 경력을 가진 엔지니어가 많았는데요. 그 팀을 앱/웹으로 나누는 것이 아니라, 하이브리드로 가면서 React라는 스택에 잘 적응하고, 성과를 잘 내고 있는 게 굉장히 뿌듯합니다.
권: 서버 쪽 같은 경우는, 기존에 EC2 Instance 기반으로 모든 걸 배포하고 있었는데, 작년 말부터 Kubernetes Cluster로 다 변경을 했어요. 그러면서 개발 속도, 배포 속도도 굉장히 빨라졌고, 새로운 스택을 사용하고 배운다는 것에 다들 굉장히 재밌어했고요. 그리고 플레이윙즈 같은 경우는 푸시 중심의 서비스이다 보니 유기적으로 서버 사용량을 조절해줘야 하거든요. Kubernetes를 쓰면서 그런 부분을 잘 해결하다 보니 다들 신기술 도입에 만족하고 있습니다.
여러분의 업무상 강점은 무엇인가요?
백: 저는 비 개발자한테 개발자들이 하는 일이나 개발자가 해야 하는 일을 이해시키는 일에 강점이 있는 것 같습니다. 그래서 팀 간 커뮤니케이션을 많이 하게 되는 것 같아요.
권: 저는 자동화를 정말 좋아하거든요. 매일 반복되는 업무가 있으면 참지를 못해요. 코드를 짜서 자동화하고, 그걸 보면서 즐거워하고 그런 자동화에 상당히 관심이 많고, 계속해서 진행하는 게 강점이라고 생각합니다.
현재 채용중이신데, 어떤 직군을 찾고 계신가요?
이: 현재 스퀘어랩은 Server Software Engineer와 Client Engineer 포지션에서 최고의 팀원들과 함께 끊임없이 성장하고 다양한 개발 프로젝트에 참여를 원하시는 개발자 분들을 적극적으로 채용하고 있습니다 :)
개발자 직군의 스킬 스택은 어떻게 되나요?
권: 저희 서버는 마이크로서비스 아키텍쳐로 구성되어 있고요, 서비스 간의 통신은 Google Protobuf를 이용한 gRPC 서버를 통해 통신하고 있어요. 마이크로서비스다 보니까 비교적 많은 언어를 사용하는데, 메인은 Node.js와 Kotlin, 그리고 가끔 필요할 때 Python을 사용하고 있습니다.
저희가 개발 첫 단계부터 마이크로서비스 아키텍쳐를 염두에 두고 개발하느라 초기에는 꽤 고생을 했지만, 지금은 그 구조도 잘 갖춰지고 개발 환경도 잘 세팅되었다고 생각해요. 마지막으로 저장소는 MySQL이나 MongoDB, Elastic Search 등을 필요에따라 활용하고 있고 모두 AWS 기반으로 사용하고 있어요.
백: 클라이언트는 처음에는 Swift, kotlin 기반으로 IOS랑 안드로이드를 개발하다가, React와 React Native로 스택을 바꾸어 다들 잘 적응하고 있습니다. 기본적으로는 Typescript를 기반으로 하고 있고요.
어떤 사람과 같이 일했으면 좋겠다고 생각하시나요?
권: 저는 오픈마인드의 소유자를 선호합니다. 어떤 면에서의 오픈마인드인가 하면, 본인이 한 기술 스택만 알고있다고 해서 해당 기술로만 문제를 해결하려고 하지 않고, 다른 방법이 더 효율적인 것이 눈에 보인다면 그 방법을 사용하는 그런 유연한 마인드 입니다. 저희는 항상 프로젝트 킥오프 때 개발자들 끼리 기술 스택을 어떤식으로 정할지에 대해 논의하는데, 여러가지 스킬 스택에 대해 객관적으로 비교 분석 해서 합리적인 결정을 내릴 수 있다고 봅니다.
백: 저는 그냥 서비스 개발 도메인에서 일하는 걸 즐거워하는 분, 일이 재밌어야지 열심히 할 수 있다고 보거든요. 인하우스 개발이다 보니 데드라인에 대해서도 그렇게까지 엄격하지 않은 편이고요. 자율출퇴근제에 리모트 근무까지 도입하다 보니 스스로 일을 즐기지 못하면 팀으로 같이 일할때 어려운 점이 많습니다.
추구하는 팀 문화나 분위기가 있다면 말씀해주세요.
백: 저는 한 마디로 하자면 ‘자율과 책임’이라고 생각합니다.
이: 그 두 가지가 저희 회사의 핵심적인 요소입니다. 출퇴근, 업무 스타일 등 많은 것들을 자율에 맡기고 있거든요. 그래서 책임에 대해서도 많은 것들을 보게 되는데요, 결과 보다는 과정에 대한 책임을 더 보고 있습니다. 누구나 실수를 저지를 수 있기에, 그 실수에 대한 책임을 묻기 보다는 일의 과정에 대한 책임감을 보는 거죠. 열심히 하려고 한 결과 실수를 저질렀다면 그렇게까지 큰 문제가 되는 경우도 거의 없고, 그 실수를 바탕으로 더 성장할 수 있는 경우가 오히려 많아요. 하지만 책임감이 없어 저질러지는 실수는 큰 문제로 발전하는 경우도 많고, 개인의 태도 문제라서 고치기도, 발전하기도 어렵습니다.
그래서 여러 조건이 다 좋더라도, 팀으로서 일할 수 있는 조건을 갖추지 못한 분의 적응이 더 어려운 면이 있습니다.
구직자들이 이것만은 꼭 알아주었으면 좋겠다! 하는 점이 있으신가요?
권: 저희 회사는 본인이 맡고 있는 일 외에 맡고 싶은 일을 찾아서 할 수도 있고, 하게 된다면 거기에 대해 책임지는 문화입니다. 반대로 말하면 내가 맡은 일에 대해 다른 사람들이 간섭하는 경우가 많지 않다는 뜻이죠. 물론 도움과 배려를 위한 조언은 충분히 받을 수 있는 환경입니다. 흔히 말하는 ‘정치’같은 것도 전혀 없고, 순수하게 일에만 집중할 수 있는 분위기라는 뜻이예요.
이: 추가로 말씀드리면, 저희는 직급이 없이 모두가 한 명의 팀원입니다. 그렇기 때문에 업무에 대해 지시하는 일이 전혀 없어요. 본인이 하고 싶은 일이 있다면 가져가서 하면 되는 시스템입니다. 그러다보니 스스로의 성장이나 셀프 모티베이션 면에서 조금 활발하게 움직이시는 분이면 더 편하게, 효율적으로 일하실 수 있을 것이라고 생각합니다.
권: 개발자의 요건 중, 가장 중요한 것은 당연히 개발입니다. 그런데 개발의 분야는 굉장히 다양하죠. 저희처럼 앱과 서비스를 만드는 개발도 있고, 성능 최적화를 위해 복잡한 알고리즘들을 사용하는 DB, OS 같은 개발도 있고요. 저희는 뭔가 고도의 스킬이나 학구적인 전문성 보다는, 전체적인 시스템의 구성을 잘 이해하고 있고 빠르게 필요한 기능을 추가하여 Lean하게 나갈 수 있는 자세가 더 중요하다고 생각합니다. 개발한 내용을 최적화해서 속도를 개선하는 것도 좋지만, 그 속도 개선이 정작 서비스에 도움되지 않는다면 큰 의미가 없어질 때도 있어요. 그러다보니 저는 서비스 개발에 필요한 문제를 잘 정의해서 빠르게 빠르게 풀어나갈 수 있는 분을 좀 더 선호하는 편입니다. 그래서 저희는 코딩테스트를 할 때도 너무 복잡하고 어려운 알고리즘을 이용하여 풀어야 하는 실무와 괴리감이 있는 문제를 내지 않으려 하고 있어요.
백: 저는 앞의 두 분과는 조금 결이 다른 얘기지만, 면접 준비를 잘 하고 오시면 정말 좋겠어요. 저희가 지원자분들께 미리 면접에 대한 가이드를 드리거든요. 심지어는 그 가이드에 ‘이러이러한 문제가 나갈 것이다’라며 코딩 테스트 예제도 같이 보내드려요. 그런데 그 예제도 풀지 않고 오시는 분들이 간혹 있습니다. 그래서 1시간 동안 정말 아무 말도 하지 못했던 적도 있었어요. 그래도 시간 내서 와 주셨으니 뭔가 이야기를 이어가고는 싶은데 화젯거리는 없고, 그렇다고 빨리 마치자니 저희가 무시하고 박대하는 것처럼 느끼실까봐 그렇게는 못 하겠고…
많은 준비를 해 오실 수록 저희와 면접에서 나눌 얘기가 더 많아진다고 생각해주시면 좋을 것 같습니다. 저희는 지원자 한 분 한 분이 다 궁금하고, 더 많이 알고 싶거든요.
회사 자랑을 하나씩만 해주시겠어요?
백: 휴가…?(웃음) 1년 중 연차와 별개로, 해외여행을 갈 때 쓸 수 있는 5일의 휴가가 더 있습니다. 아무래도 여행 서비스를 하는 회사다 보니, 그런 면에서 많은 체험을 하고 더 많은 경험을 하시라는 뜻에서 휴가를 드리는 거죠. 물론 유급휴가입니다(웃음). 실제로 다들 사용하시는 편이고, 연가도 거의 다 소진하시는 편이세요. 거기에서도 자율과 책임이 있는데, 개인의 휴가는 자율적으로 쓰면 되고, 맡은 일에 대한 문제없이 책임질 수만 있다면 아무도 관여하거나 간섭하지 않습니다. 그래서 다들 편하게 연차와 휴가를 사용하고 있어요.
이: 재원님이 말씀해주신 포인트가 가장 핵심이라고 생각합니다. 주어진 책임을 다 하고 잘 달성하시는 분들은 저희 회사만큼 주도적으로, 자율적으로 일해볼 수 있는 회사가 많지 않다고 생각해요. 어차피 책임을 다 해야 한다면, 내가 하고싶은 방식과 방법으로 일 할 수 있는 회사라고 생각하시면 됩니다. 스퀘어랩 모든 팀원들도 그 과정을 즐거워하고 있고요.
권: 주니어로서 굉장히 많이 성장할 수 있는 환경이라고 생각합니다. 모든 코드를 시니어 개발자들이 리뷰해주고, 코멘트도 달아주면서 같이 성장해 나가거든요. 앞서 말씀드렸듯이 수평적인 관계이기 떄문에 일방적으로 리뷰해주는 것은 아니고 서로 리뷰를 해줘야 하다보니, 리뷰를 받는 것 외에 리뷰를 하면서도 많이 배우실 수 있습니다. 그러다보니 빠르게 성장하고 싶다면 저희 회사가 가장 좋지 않을까 싶습니다.
마지막으로 하고싶은 말이 있을까요?
백: 다들 말씀을 많이 하셔서 지치신 것 같은데…제가 총대를 메겠습니다(웃음). 전 빨리 회사가 더 성장하고 커져서, 좀 한적하고 좋은 곳.. 제주도나 강원도 같은데로 이사가고 싶다는 생각이 있습니다. 그러기 위해서는 더 열심히 책임을 다해야겠죠.