대다수의 스타트업이 개발 문화를 설정하는 것에 고생을 하고 있습니다. 스타트업(또는 스타트업이 아닌 기업이라도) 좋은 개발 문화를 설정하는 것을 돕기 위해 작성한 가이드입니다. 현재 근무 중인 "키노라이츠"의 개발 문화를 많이 참고하였습니다. (공개 허락 받음) 어려운 환경에서 고군분투 중인 스타트업들과 개발자들에게 도움이 되었으면 좋겠습니다. https://kimmanbo.notion.site/4ced43f59eb4426e83fa46426784c11b 개발 문화 가이드 훌륭한 시니어 개발자는 좋은 개발 문화를 추구합니다. 자신과 주니어 개발자의 성장을 위해 필수적인 요소이기 때문입니다. 개인의 성장을 통해 조직에 기여하도록 하는 것이 이상적인 개발 kimmanbo.notion.site
스타트업의 개발자 채용 스타트업의 가장 큰 고민은 누가 뭐라해도 채용이다. 개발자 채용이 특히 어려운데, 이미 채용한 직원을 붙잡아두는 것도 어렵다. 하지만 가장 큰 문제는 시니어 개발자를 잘못 뽑았을 때다. 멀쩡히 돌아가던 개발팀이 폭파되고, 제품이 나락으로 갈 수 있다. 어떤 개발자를 뽑아야 할까? 시니어 개발자와 주니어 개발자는 서로 기대되는 역할이 다르다. 특히 스타트업의 시니어 개발자는 완성된 기업에 비해 다양한 역량이 필요하다. 시니어 개발자 1. 개발 역량 당연하게도 시니어 개발자는 스타트업의 제품 개발을 이끌어야 한다. 시니어의 개발 역량이 낮다면 사업 자체가 지지부진하게 되고, 그것은 스타트업에게 치명적이다. 하지만 개발 경험이 없는 경영진이 개발 역량을 평가하기는 어렵다. 나는 세 가지..
기술 스택은 신중하게! 여기저기서 창업 사례를 듣다보면 가장 흔한 것이 "외주에서 해주는대로 받았다." 라는 경우였다. 이 경우 많은 사례에서 백엔드가 PHP나 Ruby로 개발되어 있었다. PHP, Ruby 둘 다 역사가 있고, 생산성도 좋고, 안정적인 좋은 프레임워크가 있는 훌륭한 언어다. 그러나 대한민국에서 스타트업을 하겠다면 이건 명백한 오답이다. 이상적으로 생각하면 서비스는 계속 성장하고, 기능은 추가되고, 버그는 발생한다. 그럼 아래와 같은 문제가 발생한다. - 인하우스 개발자 채용이 안된다. - 새로 외주를 맡기려고 해도 기존 업체 말고 맡아줄 곳이 없다. 좋은 언어들이지만, 인기도 많이 떨어졌고 특히 한국에서 개발자 풀이 매우 작은 언어들이다. 외주 입장에서는 매우 좋은 언어일 것이다. 클라..
대표가 루트 계정을 관리하라 제품을 만들기 위해 외주를 찾은 대표님들은 보통 기획과 스토리보드에만 신경을 쓸 것이다. (스토리보드도 없이 "이런 이런 제품 만들어주세요." 했다가 망하는 경우가 대부분이지만...) 이후 개발의 모든 것은 외주가 할 것이라고 성대한 착각을 하게 된다. 반은 맞고, 반은 틀렸다. 제품 개발은 외주가 하지만, 개발 과정에서 필요한 각종 계정은 대표가 제공해야한다. 좋은 외주라면 대표에게 연락하여 "이런 이런 계정 필요하니 만들어서 주세요." 하겠지만, 대부분은 그 사이에도 일이 지체되기 때문에 그냥 대충 계정 하나 파서 진행할 것이다. 어이쿠, 아무것도 안한 것 같은데 제품에 재앙의 씨앗이 잉태되었다. 계정은 기본적으로 "생성한 당사자"의 것이다. 제품을 전달 받을 때 계정 소..
가이드를 시작하며... 어제 회사 슬랙에 조금 안타까운 스타트업 대표님의 사연이 올라왔다. 요약하면 제품 개발을 해외 개발자들에게 외주를 줬는데, 제품을 볼모로 잡혔다는 것이다. 나는 아무리 생각해도 답이 없는 문제 같아서 주변에 지혜를 구해보았다. 역시 다들 답이 없다고 했고, 놀라운 건 생각보다 이런 사례가 많다는 이야기였다. 국내 외주에도 비슷한 사례가 있는 걸로 아는데, 해외 외주에서 발생할 경우는 진짜 답이 없는 것 같다. 이런 문제로 사업이 망한 사례가 생각보다 많다고 하더라... 그럼 외주를 주면 안되나요? 당연하지만, 외주를 피하는 건 불가능하다. (그게 가능한 사람들은 애초에 인하우스를 꾸릴 생각부터 한다.) 외주에는 분명한 외주만의 장점이 있고, 계약에 의거해 성실하게 일하는 외주가 많..
창업은 일단 정리 2021년 4월 말부터 10월 말까지 약 6개월. 창업을 위해 열심히 공부하고 개발했지만, 제품은 출시하지 못하고 정리했다. 문제점은 아래와 같았다. 1. 초기 계획을 너무 크게 잡았다. - 개발자는 나 혼자인데, 제품이 너무 거대했다. - 직장을 다닐 때도 욕심을 내는 바람에 야근하는 경우가 많았는데, 아직 버릇이... 2. MVP를 엉뚱하게 잡았다. - 초기 계획을 수정하여, MVP를 작게 가져가려고 했는데, 제품의 핵심과 상관없는 기능을 우선시했다. - 이것도 사실상 내 역량/경험 부족에서 비롯된 것인데... 핵심 기능을 가져가자니 구현할게 너무 많았다. - 사이드 프로젝트라도 평소에 많이 했으면 소스 재사용으로 어떻게든 했을텐데... 3. 스타트업 씬을 너무 몰랐다. - 조금이라..