저도 스타트업에 (그다지 중요하지 않은 역할로) 잠시 발만 담궈본 사람으로서, 스타트업의 호기로운 시작부터 성공 혹은 실패의 과정들이 현실적으로 담겨져 있는 글이라고 생각되었습니다. 특히 대기업과 비교하여 스타트업만이 가질 수 있는 특징인 ‘일을 즐긴다’는 것이 정말 매력적으로 느껴졌습니다. 이 글 후반부에서 이야기하는 스타트업만 가질 수 있는 ‘반짝임’을 최대한 오래 유지하기 위해 구체적으로 어떤 방법이 있는지 더 궁금해지네요.
스타트업이 빛을 잃을 때
순조롭게 운영되는 시드 단계의 스타트업에서, 엔지니어들은 종종 자신의 일을 중독적이라고 표현하곤 합니다. 하지만 더 큰 기업에서는, ‘즐겁다’ 정도가 최고의 평가죠. 왜 이런 현상이 일어날까요? 피할 수 없는 것일까요?
무엇이 스타트업을 중독적이게 만드는지 탐색해봅시다. 엔지니어는 아래의 핵심 루프 내에서 그들 시간의 대부분을 소비해야 합니다.
필요하다면, 사용자와 소통하고 그들의 문제가 무엇인지 알아내자.
확장해나갈 아이디어를 생각해내자.
필요에 따라, 동료들과 아이디어를 의논하자.
아이디어를 실행하자.
행운을 빌며 출시하자. 성공을 축하하거나 실패 원인을 분석하자. 그리고 다시 1단계로 돌아가자.
10명 미만의 집단에서, 이러한 과정들은 재미있을 수 있습니다.
여러분은 관심 있는 사용자들에게 직접 컨택할 수 있으며 그들과 맥주 한 잔도 할 수 있습니다.
회사에게 가치 있으면서 당신이 흥미로워하는 아이디어를 찾았을 때, 당신은 모든 것을 내려두고 그것만을 위해 일할 수 있습니다.
대부분 모든 동료들은 여러분과 이 아이디어를 의논하는 것을 흥미로워 것입니다. 왜냐하면, a. 그들은 여러분과 직접적인 이해관계를 갖고 있습니다. 만일 여러분의 아이디어가 좋다면, 그들은 여러분이 그 일을 시작하도록 응원하는 것으로부터 이득을 얻습니다. 반대로 만일 여러분의 아이디어가 나쁘다면, 무엇이 잘못되었는지 그들이 설명해주면서 이득을 얻습니다. 심지어 그들 스스로를 사용자의 입장에서 생각할 수도 있습니다. b. 그들은 그 아이디어에 여러분과 함께 일하고 싶어할 수도 있습니다. c. 모두가 코드베이스의 상당 부분에 익숙하기 때문에, 그들은 유용한 인사이트를 제시해줄 수도 있습니다.
신속하게 실행할 수 있습니다. a. 보안 절차 없이, 당신이 원하는 툴 아무거나 선택하세요. b. 적은 양의 코드베이스는 당신 머릿속에 전체 내용들을 그리게 함으로써 과감한 리팩토링에 더 편안함을 느끼게 합니다. 또한 신속한 핫 리로드가 가능해지면서 시도 및 실패를 빠르게 디버깅할 수 있게 합니다. c. 코드 변경을 빠르게 통합하세요. CI 에서 오래 걸리는 테스트는 없어야 합니다. 안정적인 변경에는 Blocking PR 절차는 필요하지 않습니다. 아니면 바로 마스터 브랜치까지 푸시해보세요. 안정적이지 않은 변경이라면, 동료들에게 PR 절차를 가볍게 물어보세요. d. 만일 사용자가 별로 없다면, 시스템 점검 시간을 조정하여 백엔드나 데이터베이스의 큰 변경을 빠르게 할 수도 있습니다.
불가능한 것은 없습니다! 이것은 여러분의 가치를 만들어낼 수 있습니다. 사람들이 몇 년 뒤 미래에 이 기능을 발전시킬 수도 있으며, 당신은 역사 책에서 비전가로서 보여질 수도 있습니다. 어떤 파티에 참석해서 여러분의 유저가 “당신이 이 아이디어를 냈다고요? 오, 그건 제 삶을 살려냈어요.”라고 말해줄 수도 있죠. 이 팀의 모든 사람들과 여러분은 이해관계를 갖고 있기 때문에, 그들은 모두 여러분과 깊이 엮여있습니다. 여러분의 마음은 동기화 되어 있는 것이죠.
회사 규모가 더 커지면, 이러한 모든 단계들에서 재미가 점점 사라져갑니다. 100명 이상의 집단에서, 고리는 마치 아래와 같습니다.
사용자와 소통하는 것은 PM들의 몫이죠! 여러분은 그저 내가 잘하는 것만 하세요. 소통해봤자 사용자 인사이트 요약본, 아니면 이걸 통한 할 일 우선순위 리스트만 얻게 될 것입니다. 나쁘게 말하면, 사용자에 대해 잘못 이해하거나 매니저의 이기적인 생각으로 할 일 리스트가 꼬이게 될 지도 모르고 그 누구도 왜 이 작업이 중요한지 설명할 수 없게 될 것입니다.
여러분은 하고 싶은 일만 할 수는 없습니다; 할 일을 조절하려면 O(N^2) 수준의 커뮤니케이션 혼란이 생겨나죠. 매니저는 진행 중인 다른 것들을 고려하여 만들어낸 당신을 위한 계획이 있습니다. 아마 여러분은 이 일들을 다 끝내야만 여러분만의 아이디어에 대해 작업할 수 있을 것입니다. 혹은 남는 시간에 몰래 일할 수 있겠네요.
여러분의 아이디어에 대해 동료들과 이야기를 나눌 수는 있겠지만, 그들은 별로 관심 있어하지 않을 것입니다. 그들은 여러분의 성공으로부터 딱히 이익을 얻지 않습니다; 실제로, 그들은 승진을 위해 경쟁하고 있을지도 모릅니다. 그들은 길고 긴 할 일 목록을 갖고 있기 때문에 자신이 하고 있는 것들을 두고 여러분과 일 할 시간이 없습니다. 그리고 아마 그들은 여러분이 짜고 있는 코드에 대해 별로 기억하지도 않을 것입니다.
실행이 느립니다. a. 모든 툴은 이미 정해져있습니다. 아마 더 새롭고 더 나은 툴들이 있겠지만, 그것들을 일관성을 해치면서까지 새로 도입하기에는 부족할 것입니다. 일관성을 해치려고 하지 마세요. 만일 여러분이 어떤 새로운 것을 원하면, 매니저나 보안팀에게 메일을 보내세요. b. 거대한 코드 베이스, 대부분 이전 코드 기록으로 인해 손대기 어려운 코드, 아무도 더 이상 이해하지 못하는 엄청난 코드. 오직 철저한 검사를 통해야만 당신은 망치고 있지 않다는 자신감을 얻을 수 있습니다. c. 작은 PR만 해도 2주나 걸립니다. CI를 통과하기 위해서 20분을 기다리고, 테스트가 실패하면 다시 실행합니다. 머지 충돌은 리뷰어로부터 피드백을 기다리는 동안에도 쌓이고 있습니다. 리뷰어는 충분한 맥락을 모르거나 중요한 의견을 낼 의지가 없기에, 그저 nits(중요하지 않은 부가적인 의견)만 제시할 것입니다. d. 인프라를 조금이라도 변경하는데 14개의 단계를 거쳐야 하는데, 이는 천만 유저의 다운타임이나 데이터 손실을 막아줍니다.
3달 동안 꽤 노력하면서, 여러분은 무언가를 출시할 것입니다. 여러분은 지금까지 일해온 것에 대해 CEO에게 보여줄 단 한 번의 기회인 금요일 미팅에서 데모를 시연할 것입니다. 단 몇 명의 동료들만이 집중할 것입니다; 여러분의 작업이 대부분의 동료들에게 그렇게 영향을 끼치진 않습니다. 격려 정도죠. 매니저는 여러분에게 이 시연이 5개월 뒤 성과 평가에서 크게 작용할 것이라고 말합니다. 최선으로는, 여러분은 20% 연봉 상승과 직급 변경일 것입니다. 최악은, 4달 안에 구조 조정, 새로운 매니저가 오거나 여러분의 프로젝트가 뒤로 밀리고 폐기될 경우도 있습니다. 여러분은 새로운 매니저에게 이 회사에 어떤 일을 해왔는지 확신시켜야만 하죠.
이걸 막을 수 있을까요? 제 생각은 그렇지 않습니다.
더 면밀히 들여다보면, 이 모든 문제들은 근본적으로 아래의 이유에서 발생합니다. :
팀의 단합을 줄이는 직접적인 이해관계의 감소
매니저나 전문가를 필요로 하며 개인적인 자율성과 학습의 폭을 줄이는 N^2 커뮤니케이션
리스크를 줄이기 위한 진행 속도 감소
1번과 2번은 더 많은 직원들로 인한 피할 수 없는 결과입니다. 3번은 더 많은 사용자들로 인한 피할 수 없는 결과인데, 어떤 면에서는 정부의 규제로 인한 것이죠.
하지만, 여러분은 흥미 잃는 것을 늦추기 위해 할 수 있는 일들도 있습니다. 우선, 이를 가속화 시키지 마세요. 대부분의 스타트업들은 더 큰 회사의 프로세스를 똑같이 따라하면서 그들의 기업화를 가속화하는데, 주로 대기업의 매니저들을 스카웃하면서 그들이 사용했던 기존 방식과 함께 적용하려고 합니다. 예를 들어, 많은 스타트업들은 대기업이 Jira를 사용하기 때문에 똑같이 Jira를 사용합니다. 하지만 Jira를 사용하지 마세요. Y Combinator는 영감의 방향이 다른 방향으로 가야한다는 것을 세계에 일깨워 준 사람이었습니다 - 대기업들이 스타트업처럼 운영되어야 한다는 것입니다.
또한 대기업의 운영방식은 대기업을 위한 것일 뿐만 아니라, 오늘날과 적합하지 않습니다. 여러분의 스타트업이 확장할 때, 성장 중 발생하는 문제들의 해결 방법이 존재할 것입니다. 따라서 여러분이 성장통을 겪을 때, 가장 기본적인 원칙으로부터 해결하거나, 같은 규모임에도 불구하고 더 빠르게 움직이는 스타트업으로부터 영감을 얻으려고 하세요.
여러분은 회사를 개별적인 스타트업의 가지처럼 구조화할 수 있습니다. 그리고 실제로 여러분은 할 수 있는 만큼 이렇게 해야합니다.; 기업 Rippling은 이 일을 어느 정도 이를 해내었습니다. 하지만 여러분의 프로덕트 요소들은 서로 매우 강하게 연결되어있고, 대부분의 요소들 각각이 수익을 얻지 못하기 때문에 대부분 크게 해내지는 못할 것입니다.
여러분은 인센티브를 영리하게 구성한다면 현저히 1번 요소를 늦출 수 있습니다. 이 부분은 다른 블로그 포스트에서 자세히 다루겠습니다. 하지만 큰 주식 지분 + 그 지분 가치에 영향을 미칠 능력보다 더 좋은 인센티브는 없습니다.
뿐만 아니라, 여러분의 가장 최고의 선택은 덜 고용하는 것입니다. 저는 적절하지 않은 매니저 인센티브, 잘못된 정보로 여러분을 빠르게 성장하는 다른 스타트업처럼 보이도록 압박하는 투자자, 그리고 직원 한 명의 진정한 가치를 알아보지 못하기 때문에 대부분의 회사들이 너무 빠르게 직원을 채용 한다고 확실히 생각합니다. 그리고 특히 AI 같이 툴들이 점점 나아지면서, 작은 팀이 지원할 수 있는 사용자의 숫자가 증가하고 있습니다. 미래의 설립자는 이러한 성장통에 대해서는 크게 걱정할 필요가 없으며, 일은 모두에게 점점 재밌게 느껴질 것이라고 생각합니다.