스타일쉐어 5년 차 개발자의 회고

ㅣ들어가며

나는 2014년 6월 10일에 스타일쉐어 압구정 사무실에 처음 출근했던 iOS 개발자 전수열이다. 그때만 해도 서른 평 남짓했던 공간에 열 명 정도의 직원이 고양이 두 마리와 함께 일을 하고 있었다. 누가 봐도 대학교 동아리 같던 회사는 어느덧 5년이라는 시간이 흘러, 이제 백 명이 넘는 직원이 일하는 회사가 되었다.

지난 5년간 많은 변화가 있었다. 열 명의 직원이 백 명이 되었으며, 나 혼자였던 iOS 개발자는 어느덧 다섯 명이 되었다. 투자금으로 근근이 버티던 시절도 있었는데, 어느새 업계 선두를 다툴 만큼의 매출을 내고 있고 얼마 전에는 꿈만 같던 100만 MAU를 달성했다.

 

스타일쉐어에서는 매달 ‘월간정보좀요’라는 타운홀 미팅을 진행한다. 그중 그 달에 입사 기념일이 있는 직원들을 축하하고 격려하는 시간이 있는데, 마침 오늘이 월간정보좀요 날이어서, 그동안 미뤄왔던 5주년 회고를 써본다. 지난 5년 간 제품 개발과 팀을 바라보는 관점이 어떻게 변했는가에 대해 주로 기록했다.

ㅣ제품 개발

학창 시절에 디자이너가 되고 싶었던 저는 제품의 디테일과 마감에 많은 시간을 할애했다. 사용자가 별로 방문하지 않는 화면에도 깨알 같은 애니메이션을 넣고, 버튼 하나면 충분할 기능에 제스쳐를 추가로 만들기까지 했다. 어릴 적부터 웹과 플래시를 많이 다뤄봤기에 대부분의 UI 작업들은 굉장히 익숙했다. 그래서인지 디테일을 챙기면서도 손이 빠르다는 피드백을 많이 들었다.

하지만 시간이 지나면서 중요하게 생각하는 것들이 바뀌기 시작했다. 커머스를 추가하면서 프로젝트 복잡도가 높아졌기 때문이다. 예컨대 기존에는 그냥 사진과 글이 있는 포스트였다면, 이제는 상품이 연결된 쇼핑 후기를 보여줘야 했다. 원래 있던 기능에 커머스를 녹여내야 했기에 기존 코드를 수정할 일도 많아졌다. 하지만 빠르게만 작성하던 기존 코드베이스에서는 기능의 추가나 수정이 크게 고려되어 있지 않았다. 그냥 그 상태로만 존재해야 하는 기능들이었던 것이다.

그 시기부터는 개별 기능을 개발하는 속도가 아니라 ‘기민함’에 중점을 두기 시작했다. 모든 기능은 얼마 지나지 않아 바뀌거나 제거된다. 완성된 제품이 아니라, 서비스를 만드는 회사의 가장 큰 특징이다. 이런 반복을 얼마나 더 빠르고 유연하게 할 수 있는지가 곧 회사의 경쟁력이 된다. 이를 가능하게 하는 것은 결국 탄탄하면서도 유연한 설계라고 생각했다. 더 나은 설계를 위해 고민했고, 안정적인 코드베이스를 위해 자동화 테스트를 작성하기 시작했다.

최근에는 확장성과 복잡도에 대해 고민하고 있다. iOS 개발자가 다섯 명으로 늘어나면서 하게 된 고민이다. 사람은 더하기로 늘어나지만 복잡도는 곱하기로 늘어나게 된다. 한 명이 하루에 100줄을 짠다면 5명의 팀에서는 하루에 500줄을 쓰기 때문이다. 달에 20일을 일한다고 가정하면 매달 10,000줄이 새롭게 쓰인다. 매달 새롭게 쓰이는 10,000줄이 어떤 코드베이스에 기반하는지에 따라 앞으로의 비즈니스 속도에 큰 영향을 미치게 된다. 도메인별로 프로젝트를 분리하고 의존 관계를 명확히 하는 것을 첫 시작점으로 생각하고 있다.

ㅣ팀

3년이 넘는 기간 동안 iOS 개발을 혼자서 했다. 구성원의 자율성을 극도로 보장해주는 회사였기에 사용하고 싶은 기술을 모두 사용할 수 있었다. 검증되지 않은 알파 버전이어도 제품에 문제가 없다면 큰 상관이 없었다. 새로운 기술을 도입해서 실패도 해보고, 개인 시간까지 투자해서 기능을 완전히 재작성하기도 했다. 이런 자유로운 환경 안에서 많은 시도와 실패를 경험하며 성장할 수 있었다.

하지만 두 번째 iOS 개발자 동료가 들어오고 나서부터는 사소하게 제약을 거는 내 모습을 발견하게 됐다. 나는 자유로운 환경에서 성장했는데 동료 개발자가 그렇지 못하게 만드는 것은 위선이라고 생각했다. 그 뒤로는 코드에 대한 오너십을 최대한 내려놓고 동료의 자율에 많은 것을 맡기려고 했다. 내가 그랬던 것처럼 동료들도 자유로운 환경에서 더 많이 성장할 거라고 믿었기 때문이다.

그러면서 자연스럽게 구성원의 장점이 더 부각되었다. 그리고 단점을 보완하는 것도 중요하지만 장점을 부각해서 팀에 기여하도록 만드는 게 더 옳은 방향이라고 믿게 됐다. 당연히 당장 눈앞에 보이는 단점이 신경 쓰일 수 있지만, 잠재력을 보이기만 한다면 역량을 발휘할 수 있는 시점이 올 때까지 최대한 믿음을 가지려고 노력하게 되었다.

얼마 전부터는 어떻게 해야 구성원들의 역량이 최대한으로 발휘될 수 있을지를 고민하고 있다. 기능별로 팀을 구성하여 프로젝트를 독립적으로 진행하는 방식으로 조직 구조를 개편하고 있기 때문이다. 각자 다르게 가지고 있는 장점을 잘 활용할 수 있는 프로젝트를 진행하는 것이 팀과 개인이 모두 성장할 수 있는 길이라고 믿는다.

ㅣ앞으로

지난 몇 년보다 최근 몇 달 동안 회사가 더 빠르게 바뀌고 있다는 느낌을 받고 있다. 앞으로는 회사가 커지면서 생기는 제품의 복잡도에 대처하는 역량을 기르고 싶다. 이제는 저도 모르게 진행되는 일들이 굉장히 많아지고, 배경지식이 없는 상태로 코드 리뷰를 해야 하는 상황이 생길 것이다.

또한 개별적인 기능들이 유기적으로 모여 제품을 구성하는 이러한 과정에서 협업 역량도 더 중요해질 것이다. 그 과정에서 팀을 성장시키고 더 나은 방향으로 가는 데 기여하려고 한다. 지금껏 해본 적 없는 고민이기 때문에 앞으로 몇 달간 가장 도전적인 일이 될 것 같다.

스타일쉐어에서는 연말마다 피어 피드백을 주고받는다. 감사하게도 지난 5년 동안 꾸준히 나왔던 좋은 피드백 중 하나는, 어려운 과제에 적극적으로 도전한다는 점이다. 그중에서 가장 기억에 남는 피드백으로 5주년 회고를 마무리하려고 한다.

“어려운 도전일 때 더 빛이 나는 수열님의 마인드”

전 수열

스타일쉐어의 iOS 개발자로 5년 째 일하고 있습니다.