다음 시리즈의 글로, 이 글은 두번째 글입니다.
외주 개발
회사를 운영하는데는 당연히 돈이 든다. 몇몇 사람들은 직원이 없다면 헝그리 정신으로 미래를 보고 달릴 수 있지 않냐고 하지만, 실제로 해보면 정말 쉽지 않다.
회사를 차리고 운영할 정도의 용기와 준비가 되어있는 사람이라면 개인적으로 어딜 가도 대우받을 능력이 있다고 생각한다. 여기서 오는 기회 비용도 보이고, 무리하다보면 건강이 나빠질 수도 있다. 무리를 하게 되는 이유는, 몇달만 지나도 “이렇게 지속할 수는 없겠구나” 라는 느낌이 오기 때문이다.
결국, 돈을 벌어야하는데 가장 접근이 쉬운 것이 외주 개발이다. 개인적으로 외주 개발도 축복이라고 생각한다. 아무 곳에나 외주를 맡기진 않으니까.
지금까지 해온 크고 작은 외주 건수를 보면 20~30개 정도 될 것 같은데, 정말 고생의 시간이었고 지금도 고생을 하고 있다. 그 중 정말 운이 좋게도 해밍, 행크에듀, 헤이버니와 같은 꽤 규모가 있는 외주를 하게 되었다. 그리고, 한양대 지도교수님 연구실과 연구 과제도 벌써 3년째 같이 진행해오고 있다.
외주 개발의 경우 최근에 와서야 직원들이 조금씩 진행했고, 초창기에는 대부분 혼자 했던 것 같다. 결국 서비스 기획도 좋고 희망찬.. 미래를 그리는 것도 좋지만, 결국 제일 먼저 직면하는 과제는 현실의 돈이다.
경험상 이 부분을 해결하지 못하면 회사는 앞으로 나아갈 수 없었다.
배포 시스템 구성하기
어찌어찌 고생 끝에 서비스 개발을 하고, 개발 팀원도 생기니 (사실 진작에) 배포 시스템이 필요해졌었다. 회사 블로그에서 공유 한적이 있던 것 같은데, 정말 하나의 회사를 만들어 간다는 것은 모든 것을 다 만들어야 한다는 것이다.
사실 우리는 깃랩을 사용하고 있기 때문에 깃랩의 CI를 고민하기도 했지만, (시도도 했지만..) 결국 직접 구축했다. 처음엔 젠킨스로 구성했지만, 결국 지금에 와서는 별도의 배포 시스템 웹과 젠킨스를 같이 사용하게 되었다.
누군가는 “당연히 있어야 하는 것 아닌가?” 라고 얘기할 수 있겠다. 물론 나도 동의한다.. 그런데 당연히 있어야 할 것이 너무 많다. 개발 조직으로서 갖춰야 하는 인프라도 많고, 회사 경영을 위해 필요한 인프라도 많다. 외부 솔루션은 정말 가급적 사용하지 않았는데, 이유는 결국 돈이었다. 매우 저렴한 거 너무 잘 알고 있지만 향후 매몰비용도 걱정이 되기도 했고 무엇보다 역시 딱 맞는 것들은 없었다. ERP도 그렇고 이슈 트래킹도 그랬다.
그렇다고 노션 같은 도구를 쓰기엔 지금만큼 파워풀하지도 않았을 뿐더러, 일단 내가 잘 모르다보니 단순 문서 작성용으로만 쓰였다.
아무튼 다시 주제로 돌아와서, 배포 시스템은 어쩌다 만들게 되었을까. 앞서 말했듯이 외부 서비스를 사용하지 않은 것은 순전히 돈이었다. 보통의 스타트업이 비슷할지 모르겠지만, 우리는 A를 개발하다가도 아이디어가 나오면 B, C를 병행해서 개발하기도 했다. 그리고 외주도 많다보니 관리할 프로젝트가 많아, 외부 서비스를 쓰기에는 비용이 부담스러웠다.
그러면 어쩌다 이 시점에 만들게 되었을까. 시점은 사실 결국 외부 요인으로 인해 만들어진다.
개발이 완료 되었는 데도 배포가 밀리는 경우가 생기는 것을 보고 “이제 진짜 미루면 안되겠다”는 생각을 하고 만들었다. 구성을 하고 나니 젠킨스는 배포 전 테스트 단계로만 사용하게 되었고, 지금은 정말 쉽게 배포할 수 있다.
누군가 보면 미련해보일 수도 있고, 오히려 선택과 집중을 해야할 시기에 시간을 손해봤다고 생각할 수 있다.
그래도, 확실히 절감한 비용이 보이고 아직까지는 구성원 모두 만족하면서 사용하고 있다.
결국 회사는 돈이 없으면 속된 말로 대표가 갈려나가야 한다고 생각하는데, 난 오히려 대표가 갈리는 걸로 매꿔지는 분야가 있어서 다행이라고 생각한다.
우리와 비슷한 환경에 있는 다른 스타트업들은 이 많은 일들을 어떻게 헤쳐가고 있을까 궁금하다.