개발자는 기술을 가지고 무언가를 만들어내는 사람, 'Enabler'이라고 정의 내리고 싶어요.
스테이지랩스는 아티스트와 팬들이 편리하게 소통하는 커뮤니티 기반의 온라인 플랫폼을 만듭니다. 올해 4월 CJ ENM과 함께 온라인 팬덤 플랫폼 Mnet Plus(https://mnetplus.world)를 베타 오픈하였고 전세계 수백만 K-pop 팬들이 서로 소통하며 그들의 아티스트 활동을 응원하기 위해 모이고 있습니다.
스테이지랩스 구성원들은 글로벌 엔터테인먼트 시장에서 최고의 플랫폼 기업이 되기 위해 열심히 달려나가고 있는데요. 구성원 인터뷰를 통해 우리의 이야기를 전해드리려고 합니다. 첫번째 주인공은 스테이지랩스의 CTO로서 기술 개발을 총괄하고 있는 🧑🏻💻Steve 입니다. Steve의 이야기를 통해 개발자의 관점에서 우리 서비스의 매력은 무엇인지, 우리 개발자들은 무슨 일들을 하고 어떤 개발문화를 바탕으로 동료들과 성장하고 있는지 들어보았습니다.
스테이지랩스의 서비스 그리고 개발 문화가 궁금하신 분들 이라면 이 인터뷰를 끝까지 읽어봐주세요!
Q. 안녕하세요 :) 간단한 소개를 해주세요
안녕하세요 스테이지랩스의 CTO로 엔지니어링 파트의 총괄을 맡고 있는 Steve라고 합니다.
Q. 스테이지랩스에서 어떤 일들을 하고 계시나요?
스테이지랩스 기술 개발의 총괄을 맡고 있습니다. 주로 백엔드 쪽을 설계, 구현하고 특히 대용량 트래픽에 대응하는 아키텍쳐를 기획, 설계하는 일을 해왔습니다. 원래 제 주 분야는 백엔드였는데요. 4년동안 스테이지랩스에서 여러가지 일들을 하나하나 해오다보니 자연스럽게 프론트엔드 분야까지 커버할 수 있게 되었습니다. 현재는 CTO로서 우리의 기술적인 이슈에 잘 대응할 수 있는 소방수이자 클로져 역할을 할 수 있도록 노력하고 있습니다.
Q. 스테이지랩스에 합류하게 된 계기가 궁금해요
2018년 8월에 스테이지랩스에 합류했으니 함께한지 만 4년정도 지났네요 저는 약 10년 간 KT의 IT 자회사에서 개발자로 일을 했었습니다. 10년이면 꽤 오랜 기간이죠? 컴퓨터 공학과 졸업 후 자연스럽게 대기업 이동통신사에 취업했고 오랜 기간동안 한 곳에서 근무 했었습니다.
전 직장에서 10년차 되던 해에 대학 당시 같은과 동기이자 스테이지랩스의 대표 백명현님에게 함께 일을 해보자는 제안을 받았어요. 2017~18년도 당시 스타트업들이 블록체인 분야에 많이 뛰어들었고, ICO* 열풍이 불고 있었거든요. 팬덤 플랫폼을 개발하던 스테이지랩스도 블록체인과 결합한 사업과 ICO를 준비하고 있었고 함께 할 개발자를 구하던 중 같은 대학 동기였던 저에게 합류 제안을 해주었습니다.
* ICO(Initial Coin Offering) : 가상화폐 공개, 사업자가 블록체인 기반의 암호화폐 코인을 발행하고 이를 투자자들에게 판매해 자금을 확보하는 방식
백명현 대표의 합류 제안을 받고 이직 결정을 하는데 많이 망설였던 것 같아요. 그때까지만해도 저는 뭔가 선택 해야하는 순간에 남들이 볼 때 좋아보이는 것, 안정적인 것을 우선으로 선택해왔거든요. 대학에 진학할때, 직장을 선택할때도 마찬가지였고요. 그런데 되돌아 생각해보니, 남들의 시선이나 기준보다는 내가 잘할 수 있고 즐길 수 있는 것을 선택하는 것이 중요하다라는 생각이 들더라고요. 안정적인 대기업을 벗어나 스타트업에서 내가 하고 싶었던 개발을 주도적으로 재미있게 해보자라는 생각으로 합류할 결심을 했습니다. 그리고 지금까지 스테이지랩스의 개발자로 재미있게 잘 일하고 있습니다.
(대기업에서 스타트업으로 이직을 하는 과정에서 부모님, 가족 등 주변을 설득하는데 블록체인이라는 키워드는 꽤 좋은 미끼가 되긴 했습니다.)
Q. 개발자의 관점으로 보았을때, 스테이지랩스 그리고 우리 서비스의 매력 포인트는 무엇이라고 생각하시나요?
개발자는 기술을 가지고 무언가를 만들어내는 사람, ‘Enabler’이라고 정의 내리고 싶어요, 그렇기 때문에 개발자는 무언가 새롭게 만들고 구현하는 걸 좋아하는 성향이 있습니다.
그런 관점에서 보았을때 우리의 조직과 서비스가 빠르게 성장하는 초기 단계이기 때문에 만들어진 것보다 만들어 나가야 할 것들이 훨씬 많다는 점이 매력 포인트라고 생각합니다. 개발의 밑바닥부터 끝까지 모든걸 경험해 볼 수 있는 거죠, 개발에 있어서 정말 모든 분야를 다 해볼 수 있습니다.
개발 영역도 프론트엔드, 백엔드, 백엔드 안에서도 프로덕트 개발, 공통 모듈, 인프라, DB 등 세분화된 영역들이 있습니다. 큰 조직에서는 이런 부분들이 팀 단위로 관리되고 있어 자기가 소속된 곳의 개발 업무만 할 수 있는데요 “우리는 프론트엔드, 백엔드로 팀이 나뉘어 있지만 담당 업무에만 갇혀 개발하지 않고 있습니다.
Q. 개발의 밑바닥부터 끝까지 모든걸 경험해 볼 수 있다는 이야기가 결국 모든 일을 다 해야 한다는 것처럼 느껴질 수도 있지 않을까요?
그렇게 생각할수도 있고 그런 부분을 안좋게 느끼실 수도 있을 것 같아요 양날의 검이라고 해야할까요? 다양한 영역을 경험해 볼 수 있지만 결국 다해야해라는 느낌 일수도 있죠
하지만 스테이지랩스는 한 분야에 한정되지 않고 도전해보고 싶은 업무 영역이 있다면 얼마든지 시도하는 것이 가능한 조직입니다.
우리의 두번째 매력은 전세계 몇백만 단위의 사용자가 있는 서비스를 개발하고 경험해 볼 수 있는 환경에 있다고 생각합니다. 소규모 사용자를 가진 서비스와 달리 이 정도 규모가 되면 고려해야할 사항들이 또 달라져요. 동접속자 수가 몇십만명이 되었을 때 생기는 기술적인 문제를 고민하고 해결해나가는 경험 자체가 개발자로서 엄청난 매력이자 성장할 수 있는 큰 기회라고 생각합니다. 나아가 사용자와 트래픽은 계속 늘어날 것이기 때문에 계속해서 서비스를 업그레이드 시켜나가는 과정이 개발자로서는 매력적인 부분이지 않을까요? . 대규모 트래픽 대응, 비용의 효율성을 고려한 개발 등 이런 부분들을 고민할 수 있는 곳은 흔치 않습니다. 하지만 모든 회사들은 이런 경험을 해 본 사람들을 찾고 있어요
Q. 몇백만 단위의 사용자가 있는 서비스를 개발하며 다양한 경험을 해볼 수 있다고 하셨는데, 스테이지랩스에서 어려움을 극복하고 기술적으로 성장했던 경험을 한가지만 이야기해주세요
팬덤 플랫폼(엠넷플러스) 베타 서비스를 올해 4월 런칭, 운영해오고 있는데요. 유저의 특징이 독특해요. 트래픽이 순간적으로 몰리는 경우가 있고 몰리는 시기의 패턴이 일정하지 않습니다. 이용 패턴에 상관없이 매순간 대규모 트래픽을 처리할 수 있게하려면 어마어마한 비용을 감당해야하는 어려움이 있습니다. 이런 문제를 해결해 나가는 과정에서 저 스스로 많이 성장했었던 것 같아요
해결해 나갔던 과정은 참 험난했지만, 짧게 이야기 드리면 불규칙한 대규모 트래픽에 유연하고 비용효율적으로 대응할 수 있는 아키텍쳐를 자체 구축 하여 해결했습니다. 이 기술력은 글로벌리 스테이지랩스만 독보적으로 사용하고 있습니다. 또 앞으로도 없을 것이라고 장담합니다.
좀 더 설명하자면면 go언어를 기반으로 한 api 게이트웨이라고 보면 되는데요. AWS 등 기존의 서비스를 조합해서는 문제를 해결 할 수 없다는 판단을 내리고서 자체 아키텍쳐를 구축하기 위해 지난 10년 간의 개발 내공을 쏟아 부었던 것 같아요. 요즘 핫한 언어이기도 한 go언어를 1주일동안 공부했고 설계하고 개발, 성능테스트를 돌려보는데까지 총 2주정도 걸렸던 것 같아요. 성능테스트를 돌려보고 난 뒤 “유레카!”를 외쳤어요 ㅎㅎ
이후 우리 플랫폼의 기술적인 완성도가 급물살을 탔던 것 같습니다. 기술적인 어려움을 극복하는 과정은 굉장히 복합적이거든요 프론트엔드, 백엔드 나누어 문제를 생각해 볼 수 있지만 결국 하나의 서비스에 다 연결되어있습니다. 앞단의 고민이 해결되고 나니 다음 단계의 문제들을 해결하는게 수월해지더라고요 이 과정을 겪으며 기술적으로 많이 성장했습니다.
Q. 스테이지랩스의 CTO로 일하며 꼭 이루고 싶은 목표가 있다면 무엇인가요?
개발자라면 누구나 공감하겠지만 자기가 개발하고 기여한 서비스를 많은 사람들이 사용해주는 것이 가장 좋습니다. 우리가 만들고 있는 팬덤 플랫폼을 매달 1억명이 사용하는 글로벌 No.1 팬덤 플랫폼을 만드는 것이 목표입니다.
CTO의 역할이라는 것이 딱 떨어지게 무엇이다 라고 정의하기는 어려운 것 같습니다. 그리고 회사의 규모에 따라 다르기도 하고요 현재는 스테이지랩스의 기술적으로 필요한 부분을 매꾸고 구현해 나가는 역할을 하는 것이 중요하다고 생각합니다. 나아가 조직의 규모가 커지면 각각의 개발팀들이 유기적으로 잘 돌아갈 수 있도록 하고 우리의 기술 비전을 제시하고 대내외에 알리는 역할이 중요해질 것 같습니다.
Q. 스테이지랩스에서 좋은 개발자가 되기 위해서는 어떤 역량, 자질이 필요하다고 생각하시나요?
개인의 실력보단 팀에 합류해 팀의 퍼포먼스를 잘 만들어 낼 수 있는 협업 능력이 더 중요합니다. 하나의 팀으로 뭉쳐 서로 잘 협력하면 개개인의 성과를 합친 것 이상의 시너지를 낼 수 있거든요. 프로축구팀에 비유 하자면 선수 혼자 드리블을 화려하게 잘한다고 해서 경기를 무조건 이기는 것은 아니잖아요. 선수간 패스를 잘하고 때론 양보를 해야될 때도 있습니다. 우리도 마찬가지로 서로 잘 협업해야 좋은 결과를 낼 수 있고 이는 좋은 개발자가 되기 위한 중요한 역량이라고 생각합니다.
또 개발자 스스로 자기의 일을 즐길 수 있어야 한다고 생각합니다. 자기 일을 즐기고 성과를 함께 공유함으로써 팀 내에 선한 영향력을 끼칠 수 있도록 노력하는 것이 중요한 자질이라고 볼 수 있을 것 같아요
Q. 스테이지랩스의 개발 문화 중 좋다고 생각하는 부분은 어떤 것인가요?
아직 개발 문화를 만들어가는 중이라 대답하기 어렵기도 한데요 제 생각에 개발 문화가 중요하지만 그렇다고 ‘우리는 앞으로 이렇게 하자!’라고 룰 정하듯이 만드는 건 좋은 문화가 될 수 없다고 생각해요 구성원들의 합의를 바탕으로 진짜 필요한 것들을 적용한 문화가 좋은 개발 문화라고 생각합니다.
스테이지랩스 개발 문화를 이야기 드리면 첫번째로 개발자 구성원들이 새로운 기술을 배우고 도입하는데 적극적인 문화가 형성되어있다는 점입니다. 대표적인 예로 AWS에서 나온 데이터베이스 관리 시스템 중 Aurora serverless v2가 출시된지 1년이 채 되지 않았을 때 우리 서버리스 기술에 바로 도입을 했었습니다. 우리 비용을 절감할 수 있고 용량 관리에 훨씬 효율적이라고 판단했거든요. 새로운 기술이라고 모두 좋은 것은 아니지만 우리에게 좋다고 판단되면 바로바로 적용하려고 노력하는 편입니다. 스테이지랩스 개발자들은 새로운 시도와 변화를 즐거운 마음으로 받아들이고 있습니다.
두번째는 ‘페어 프로그래밍’을 진행하고 있는 것인데요 말 그대로 개발자 둘이 짝이되어 프로그래밍뿐만아니라 서비스 배포, 운영 작업을 같이 하는 방식입니다. 페어 프로그래밍의 목적은 자연스럽게 기술적인 문제를 끄집어내고 물어보고 서로 논의 하는 과정을 거쳐 휴먼에러를 최소화하는 것 입니다. 페어 프로그래밍을 통해 내부 개발자들이 에러들에 대해 서로 더 자유롭게 커뮤니케이션 할 수 있는 분위기가 만들어진 것 같습니다.
Q. 마지막으로 스테이지랩스에 개발자로 입사하고 싶은 분들에게 전하고 싶은 딱 한마디가 있다면?
딱 한마디로 이야기 드리자면 선지원, 후고민! 100마디의 말보다 한번의 경험이 더 강력하다고 이야기드리고 싶어요
스테이지랩스에는 소위 말하는 네카라쿠배당토, 실리콘밸리의 IT기업 그리고 CTO 등 다양한 경험을 가진 시니어 개발자 분들이 많이 계십니다. 개발자는 함께 일하는 동료들이 중요하다고 생각하는데 스테이지랩스에는 주니어 개발자분들을 이끌어주고 함께 성장할 수 있는 훌륭한 선배와 동료들이 많이 있습니다. 그리고 여러분의 지원을 기다리고 있습니다 🙂