8년차 개발자, 스타트업 회고(1년 3개월)
* 문득, 떠나고 싶어질때 벌써, 스타트업에 개발자로 뛰어든지 1년 4개월이 지나고 있습니다.2018년 9월, 그리고 10월에 회사 선배에게 선배님 저 이제 나갈때가 된 것 같습니다.그리고 회사 선배님과 L타워가 바라보이는 사무실에서"조용히 커피를 마시며, 진짜로 떠날때가 되었다고 생각하냐?"이렇게 물어보셨는데,언제까지 회사가 주는 안정감으로만 살 수 없을것 같다는 이야기를 했습니다.웹소설 스타트업.스튜디오봄봄제가 처음 입사하게된 스타트업의 이름입니다.제일 먼저 이런 결정에 대해서사람들이 보이는 반응은거기는 수익구조가 무엇인가?비젼이 있는가? 그리고 연봉은 얼마며, 왜 그곳에 가려고 하는가?마치 저의 생존의 문제가 그들의 생존의 문제인것처럼이 문제에 대해서 함께 고민해주었습니다.저의 대답은"이젠 떠나볼때가 된 것 같습니다."사실 어떤 떠남에 있어서 많은 이야기들은 변명조밖에 되지 않을지 몰라도,떠남에는 이유가 있습니다.전 가장 큰 3가지 이유가 있었는데1) 비젼- 우선 전 자바와 스프링, 즉 웹쪽 개발쪽 업무들의 방향성을 계속해 오고 있었고,앞으로도 웹쪽으로 기술적 방향을 잡아가고 있었습니다.- 헌데 회사의 업무가 변경되었을때, "SAP - 권한"쪽 업무를 하게 되었고, 사실상이 SAP 업무 자체는 ABAP에 대한 익숙함과 해당 업계의 지속 가능성등은 있었고, 먹고사는 문제에 있어서는 큰 문제는 없었지만, 해당 기술에 대한 흥미와 커리어 패스상에 앞으로 이 길을 계속 가야 한다는 생각은 부담이 되었습니다. 따라서, 그 동안의 기술에 대한 지속 가능함에 대해서 고려해야 했습니다.2) 기술부채- 첫 회사는 삼성 SDS의 자회사였고, 계열사로써 주로 삼성 엔지니어링의 내부 경영 지원 시스템들을만들면서 설계나 개발, 그리고 운영에 대한 감각들을 키워 왔는데,어느 순간 주변을 돌아보니, 이게 뒤쳐져 간다는 걸 느낄 수 있었습니다.왜 그래도 그 삼성같은 기업은 최신 기술을 쓰는거 아닌가 생각할 수 있지만,자체적인 프레임 워크들을 개발하고 그런 기술들은 SI 나 개발들에 점차 최적화 되고 있긴 하지만,백엔드 부분의 AWS 같은 분산 트래픽같은 경험을 하기도 그리 적합하진 않고,프론트 부분에서의 혁신 (angular, vue, react) 와 같이 트랜드로 흘러가지 않고,딱 JSP, JSTL, JQuery, 보조 라이브러리 활용 이 정도의 느낌들이 누적되고 있었습니다.깨달은 것은 이대로 가면, 딱 삶아지기 쉽상이다.죽는줄도 모를것 같다.이미 회사는 계속 시험을 보고 있었고, 2주에 한번씩 알고리즘 시험을 보고 있었습니다.알고리즘 시험 공부는 두뇌를 회전 시켜주고, 머리를 더 쓰게 만들어주었지만,실제로 개발에 쏟는 시간보다는, 그냥 문제푸는 시간이 많아지고, 무엇을 위한 시험인가라는 생각이 점점 들더군요. 소위 프로, 익스퍼트 등급을 위한 시험 시간의 증대는 '마치 우린 그래도 개발잘하는 사람들을 우대하고 있어' 이런 위안 같은 느낌이었습니다. 3) 연봉- 안타깝게도 연봉이 그리 적은 것은 아니었지만, 많은 분들이 회사 생활을 하다보면느끼시겠지만, 연봉 상승의 곡선은 애초 예상했던 가파른 상승도 아니고,y=x 와 같은 직선 형태도 아니며,가파른 상승 같지만, 점차 그 곡선은 로그와 같은 곡선에 수렴한다는걸 느끼셨을 것입니다.- 회사내에서 보직이 몇번 바뀌는 과정속에서 2~3개월 짜리 프로젝트에 투입이 되었습니다.- 르노캐피탈의 내부 인사를 비롯한 정산 시스템을 만드는 일이었는데요.실제로 회사에서 받는 돈 4~6MM 맨먼스, 즉 규모 5000만원짜리 규모라는걸 알고 너도 울고 나도 울고 거의 PM과 저 둘이 해당 프로젝트를 결국 성공적으로 완수하고 오픈하였는데,실제로 남는건 잘했다는 몇마디와 조금 좋은 고과를 보장 받는것.이 허탈감은 아마도 몇십억씩 영업하는 사람들의 마음이나, 혹은 이 내부 단가에 대해서 회사가 얼마를 가져가는지 그리고 나에게 얼마가 떨어지는지를확실히 알고 있는 사람들이라면 한번씩 느껴볼 자괴감 같은게 아닌가 생각해봅니다.- 뭔가 확실한건 그냥 개발자가 그냥 한번쓰고 버려지는 뭐 그런건 아닌데, 얼마나 많은 곳에서 이런일들이 일어날지..무튼 위 3가지 이유들로 확고하게 떠나겠노라며...결심을 하였고,상무님과의 면담 끝에 결국 사직의 허락을 받아내었습니다.'사직을 허락하노라.'이 말이 듣기 그렇게 힘든일인지 몰랐네요.* 막막함, 그리고 계란에 바위치기- 처음 이 회사에 들어왔을때 느낀건, 막막함이었어요.일단 그래도 뭐 많이 알려주진 않아도, 일단 사수가 있긴 있었고, 그리고 그 사수는가이드를 해주진 않더라도 뭘 해야할지 일정이라던가 일을 주는 사람이 었는데.- 일정을 조율해주는 사람이 없다.- 일을 주는 사람이 개발자가 아니다.- 일의 분량을 내가 예측해야 한다.이 3가지 사실은 엄청난 부담감으로 다가왔습니다.기존 회사에서는 그래도[설계 기간] - [개발 기간] - [테스트 기간] - [문서 작성 기간] - [릴리즈] - [릴리즈 확인]이런 프로세스가 있어서 사실상,개발 기간의 비중이 엄청 높은 편은 아니고, 게다가 디자인을 기다리는 시간이나, 설계를 다른 분들이 하시는 동안 조금은 그 설계에 대한 이야기를 들을 시간들도 있고 생각할 시간이 있어서그런 부분에 대해서 생각을 정리할 순간들이 있었는데,이 모든 프로세스가 단축되어[개발] - [반영]이 두가지로 압축되는 그 압박감.물론기획 - 개발 - 반영이 앞단에 영역이 있으나, 전체적인 프로세스를 압축한 느낌이어서, 원래 있어야할 기간들이 사라진 느낌들이 아무래도 압박은 되었습니다.하지만 그전에는 그런 프로세스 때문에 시각적으로 업무가 빠르게 진척된다는 느낌을 받기 어려웠는데,확실히 스타트업에서 기획한 부분들을 빠르게 적용하고 반영하고,그 반영된 결과들을 고객입장에서 피드백을 바로 볼 수 있다는 부분은 상당히 좋은 요소였다고 생각합니다.스튜디오 봄봄은'판다플립'이라는 기존의 웹 소설 앱과 웹이 따로 존재하였는데,또 하나의 서비스 '새벽두시'라는 감성 SNS를 만드는 것이 어찌 보면굵직한 주요 과제라고 할 수 있었습니다.어찌 보면 타임라인 서비스를 만들어야 한다는 부담감.페이스북과 비교되고 트위터 같지만, 또 한편으로 감성도 실어야 한다는 생각들...그리고 반응형 서비스로 만들어야한다는 부담감은 한편으로 막막함으로 다가왔습니다.. 짧은 기간. 넉넉하지 않은 리소스(인력 및 자원). 많은 스펙(글쓰기 기능, 글감 기능, 좋아요 기능, 공유기능, 댓글 및 대댓글 기능, 개인 타임라인)사실 초기엔 불가능하다고 생각하였는데,이 프로젝트에 있어서디자이너의 디자인 속도가 있었기에 이 프로젝트가 마침표를 찍을 수 있었다고 생각합니다.2월에 시작해서 4월에 오픈을 했는데,사실상 개발자로써 많은 개발자가 있으면 모를까...혼자 백엔드, 프론트, 퍼블리싱까지 완성하기란 마치 '계란으로 바위치기'가 확실한것 아닌가...게다가 그냥 메인 웹만 만들었다면 모를까...반응형으로 웹, 태블릿, 모바일형태를 모두 구현한다는 것이 참으로 막연하고 답답한 상황이었습니다.이 상황에서디자이너는 다행히 '천부적 재능'을 가진 습득형 인재였고,기획자는 다행히 '쳐낼걸 쳐낼 수 있는' 대표님이셨습니다.일단 먼저 메인 잡기. 1달 동안 메인을 정말 충실하게 뽑아주셨고,메인이 우선 완성되자, 그래도 다른 부분들은 하나씩 해결할 실마리가 생겼습니다.그리고 '제플린'은 많은 시간은 단축시켜주었는데요.디자이너분께서 제플린을 사용해보지 않으셨음에도 불구하고,짧은 시간동안 export 와 import 만으로 asset 을 뽑아내고,이러한 제플린은 이 프로젝트를 가능하게끔 만들어주었다고 볼 수 있습니다.중요하지 않은 것들을 쳐내었기 때문에오픈일자에 맞추어 출시가 가능했다고 볼 수 있었죠.아마 스타트업을 운영하는 대표님들 입장에서는이런 출시일이라는 것들이 늘상 잘 되지 않는 것이기도 할 것이라고 생각합니다.그 당시 새벽 2~4시까지 일은 기본.. 5시간 자고 다시 출근한일도 있었네요.물론 이 시간이 끝나고, 넉넉하게 여유를 가진 시간들도 보상으로 있었지만,어떤일에 이렇게 몰입해본 적이 있을까 싶을 정도로,버닝했던것 같습니다.그 결과 새벽두시는 탄생했고, 사람들이 사용하는 서비스로 변하는 것을 보게 되었습니다.이 일로 깨달은 일은 '건강' 이 것이야 말로 제일 중요하다.밤샘작업하는 개발자분들 존경하고, 건강 챙기세요!* 기술적인 개발 이야기들- 기술적으로 얻게된 부분들 이야기를 좀 해볼까 합니다.아마도, 기술 부채가 생기시고 계신분들뭔가 지금의 회사가 나에게 뭔가 주고 있지 않다고 느끼시는 분들,탈출을 꿈꾸고 계신 분들은 스타트업 같은 곳에서는 어떤 것을 배울 수 있을지그것에 대해서 많이 고민하고 꿈을 꾸게 되지 않나 생각해 봅니다.1) 엥귤러와의 만남- 기존 회사에서는 주로 스트러트, 스프링, 마이베티스와 같은 종류의 것들이었습니다. 그리고 정부전자 프레임 워크를 개조한듯한 Faro라는 프레임 워크를 썼는데,결론적으로 대부분의 서비스들은 엑셀과 같이 데이터 수정 삭제에 용이한 종류의 프로젝트들을많이 했었습니다.프론트를 한다고 해도, 실상 디자이너분이 주로 퍼블리싱을 해준 프로젝트들을 많이 경험했었고,jsp, jstl, jquery 정도면 사실상 어느정도의 화면을 그리는 것에는 문제가안되었기 때문에 굳이 MVVM 과 같은 양방향 통신의 필요성에 대해서 딱히 이해를 못하는 상황이었죠.어짜피 디비에서 뿌려주면 되는데 굳이 양방향일 필요가 있을까?그리고 ajax로 통신을 하면 사실상 양방향이랑 비슷한거 아니지 않나?따라서 엥귤러를 사용할때는 이걸 왜 사용해야 하는것인지, 어떤 확실성에 근거해서 접근하지는 않았는데요.이렇게 서비스를 제작하고,서비스를 이해하고, 그 기능들을 알아가다보니,확실히 좋아요를 한다던지, 팔로우를 한다던지, 디비에 적용된 영역이전체 서비스 화면상에 영향을 끼쳐야 할 필요가 있을때라던지, 이럴때는 확실히 이런 엥귤러의 데이터 변환이 가져오는 강력한 효과를 절감했는데요. 자연스럽게 필요한 곳의 좋아요수를 증가시켜준다던지,여러개의 게시글에서 팔로우를 모두 팔로우로 바꾼다던지 등등그리고 값의 변화 만으로 화면을 자유자재로 움직이는 것은 확실히기존의 jquery 의 필요성이 필요하지 않을 만큼 강력한 것이었습니다.기능에의 학습. 엥귤러 js 를 시작으로 엥귤러 4,6에도 익숙해지게 되었고,typescript 까지 이해하느라 시간이 걸렸지만,확실한 것은 화면에 대한 장악력은 기존의 jsp 에 비해 확실히 강력해 졌다고 볼 수 있습니다.물론 서비스 특성상Spring + angularjs 였고, openGraph 를 설정하기로써는 jstl 만큼 확실하게안정적으로 설정해주는 게 없다는 것.물론 아쉬운 것은 엥귤러 뒷쪽에서는 오픈그래프 설정도 자유롭게 할 수 있다는 설명을 보긴 하였으나적용을 못해본 부분이 아쉬운 부분으로 남아있네요.엥귤러의 경우 학습이 쉽지 않아 해외 사이트와 Youtube 정보들을 가지고 이해해야 한다는 부분이 있지만, 많이 강력해졌다고 생각합니다.2) 푸시 서비스(firebase)의 적용- 스타트업에와서 푸쉬서비스를 해보지 않았는데, 갑작스레 푸쉬가 필요할 것 같다고 해서,시간이 꽤 걸릴것이라는 생각이 들었고, 일단 미지의 영역에 대한 두려움이 생겼었는데요.보통은 모르는 영역의 경우 시간을 충분히 확보하는 편인데,2주안에 푸쉬 서비스를 구현할 것.이런 미션이 주어져서 조금 당황하였지만,흥미로운 경험이었다고 생각합니다.아마 푸쉬서비스를 안해보신분들은 이 부분에 대해서 시도해보고 싶으실듯한데요.예전에 GCM 이었는데 이제 FCM 으로 완전히 변환되었고,푸쉬를 이제 찾아본 사람의 입장에선 이 정보를 얻기까지도 시간이 좀 소요되었어요.파이어 베이스 콘솔로 들어가서 이것저것 프로젝트를 세팅하고그리고 이런 저런 키들을 등록하고 나서야아 뭔가 이제 굴러가는군아 느끼는 그런 감정들..그리고 실제로 푸쉬를 날리는 과정까지 그리고 안드로이드 앱에서 푸쉬를 받아서푸쉬 메세지까지 띄워주는 과정까지 직접 처리하려다 보니 웹의 영역, 안드의 영역, 서버의 영역등 이래저래 왔다갔다 했던 날들이었던것 같습니다.판다플립의 경우 이런 푸쉬를 토대로 작가의 작품이 올라올때 더 많은 사람들이볼 수 있게 되어서 푸쉬의 강력함을 알게 되는 시간이었고,또한 새벽두시 서비스의 경우는 웹푸시를 경험할 수 있게 되었는데,이 또한 서비스 워커의 컨셉과 크롬 베이스에서 경험하는 나름의 신세계였다고 볼 수 있네요.3) SEO, GA 등 마케팅 도구 및 툴의 익숙함- 스타트업에 와서 또 많이 하게된 것중에 하나는구글, 네이버, 다음 등등의 사이트에 어떻게 서비스를 노출 시킬 것인가?!이 것에 대한 고민이었는데요. 구글 애널리틱스로 유입을 분석하는것을 시작으로네이버 애널리틱스로 실시간 사용자 분석,그리고 구글 웹마스터 도구의 활용, 네이버 웹마스터 도구의 활용등으로 검색에 대한 확률을 높이기 위해웹 최적화 작업들을 계속 진행하였고,그 결과 새벽두시와 같은 서비스의 경우이름이 보편적 이름임에도 불구하고,구글에서 '새벽두시' 검색시 : 3번째네이버 웹페이지에서 '새벽두시' 검색시 : 5번째다음에서 '새벽두시' 검색시 : 1번째에 노출될 수 있는 부분을 만들었네요. 네이버 같은 경우는 기존에 신디케이션이 있을때는 해당 신디케이션 적용을 적용함으로써더 상위에 노출 될 수 있는 여지들이 있어서 해당 부분을 적용했었는데,더 이상 신디케이션 제휴는 따로 제휴를 토대로 진행되는 바람에 순위 체계는 변동이 생겼습니다.이런 마케팅 도구들을 익숙하게 사용하게 되었다는 점입니다.아마 그냥 개발자라면 이런 부분에 대해서 자세히 생각하지 않았을 테지만,스타트업에 노출에 대한 관심을 가지다 보니 이런 작업들 또한 자연스럽게 하게 되었네요.4) 기본기 및 로직- 여러 SNS서비스를 만드는 경험처럼기본적인 댓글 대댓글, 팔로우, 공유하기 등등 기존기를 더 탄탄히 다지는 시간들이 되었고,특히나 메인 타임라인의 경우 데이터의 불러오는 양과 관련해서많은 생각을 하게 되었는데요.로직에 대해 더 많이 생각해 보고 어떻게 하면 더 데이터들을 효율적으로 담아서 불러올 것인지기본기를 다지는 시간이기도 했던 것 같습니다. 5) 서버 세팅 및 개발 환경 구축 및 https 적용- 전 회사에서는 Tomcat 베이스도 있었고, Tomcat + Apache 베이스도 있었고,weblogic 베이스 등등 다양한 베이스들이 있었는데,환경이 주어진 경우가 많았습니다. 근데 스타트업에선 서버의 세팅이나 환경 구축도 직접 하게 되는데,센토스의 사용이 아주 익숙해 지게 되었고,https 에 대해서 적용하기 위한 키 생성 부터 적용까지 그리고 서브 도메인 연결까지, 서버 관련된 부분도 자연스레 많이 학습하게 된 듯 합니다.6) 서비스 워커의 적용(PWA)- 요구사항 중에는 웹바로가기를 자연스럽게 띄우는 부분이 있었는데,이 요구사항을 만족하기 위해서는 PWA 를 만족해야 한다.PWA 또한 맨땅의 해딩하기로 많이 찾아보았고,이 조건을 맞추기가 여간 까다로운것들이 아니었고,그 결과 이 조건을 모두 맞추어서 웹 접속시에 바로 가기가 나올때는감격이 좀 있긴 했습니다.7) 앱 운영(RestAPI) 및 결제 솔루션- 판다플립 웹 소설 서비스는 웹 서비스도 있지만, 안드로이드와 아이폰 서비스가동시에 있는데 그러다 보니, 수정이 생기거나 업데이트 반영을 위해서는 앱 Restful 서버 운영도같이해야 했는데요. 기존 회사에서는 또 경험하지 않았던 새로운 경험들이었던것 같네요.그리고 다우 페이, 이지 페이 같은 페이 솔루션들을 붙이는 작업 또한중요한 경험이었고, 결제에 대한 프로세스 부분에 대해서명확하게 알 수 있는 계기가 되었습니다.8) 관리 및 통계- 관리자 화면을 통해 사용자 관리를 비롯한 메인 화면 관리, 결제 내역 및 구매 내역 관리 등등 또한 각 통계에 대해서도 관리하였는데하나의 업체에서 일어나는모든 작은 결제부터 구매, 그리고 구매내역까지의 모든 흐름들을명확하게 경험하였던 것 같네요.이상 이런저런개발에 관련된 이야기들을 해보았는데요.개발자라면, 혹은 개발자에게 어떤걸 시키려고 한다면,생각해 볼 수 있는 그런 자잘한 요소들일듯합니다.물론, 더 많은 사람이 있었다면 좋았겠지만, 농축된 시간의 가치만큼,더 다양한 체험들을 할 수 있었다고 생각합니다.* 즐거움, 그리고 얻게 되는 것들- 개발 이야기들을 주저리 거렸지만,상당히 많은 배움들이 있었다고 생각힙니다.특히나, 시간에 대해서 조금 더 치열하게 사용하는 방법을 배운듯하고,무엇보다 경험하지 않은 것들에 대해서 겁먹지 않게 된다는 점.시간으로는 많은것들을 살 수 있다는 것.실무는 그냥 경험하는 것보다 더 농도 있게 배우는 과정인듯하네요.디자이너와의 협업 스킬들그리고 다양한 업무 바운더리그리고 기획적 시각과 서비스가 운영될 때의 기쁨무엇보다도, 그 상황에 지배를 받는게 아니라,그 상황을 상황으로써 즐길 수 있었다는게 가장 즐거웠던것 같아요.스타트업을 하게 되면 힘들것이다. 라는 생각들이 지배적일것 같은데,업무적으로 강도가 있을때도 있지만,디자이너와 대표와 저 3명이서 새벽 3시까지 작업할때 노래를 틀어놓고작업하던 순간이 가장 기억에 남는것 같아요.그리고 그게 막 서로 하기 싫어서 그렇게 작업하던게 아니라이제 조금만 더 하면 서비스가 완성될 것이다. 곧 서비스가 나오면 사람들이 좋아할 것이다라는 그 기대감과 긴장감물론 서비스의 성패와 성공 여부들은BEP 일순 있어도, 서비스의 런칭만으로 생각하면즐거웠던 시간들이었고, 잊지 못할 추억들이라고 생각합니다.1년여의 시간은 잊지 못할 시간들이었어요.(그리고 글쓰기 회사다 보니 매일 글을 하나씩 쓰기도 했는데 글실력도 많이 늘은 듯합니다.)* 두려움, 그보다 생겨난 좋은 시각- 처음엔 회사를 나오는 것에 대한 두려움이 있었어요.근데 이젠 회사에 가만히 있는것에 대한 두려움이 생기네요.회사 사정에 의해 전 작년 12월 31일부로 회사를 나오게 되었어요.첫 회사를 나올때처럼사람들이 묻습니다. '걱정 되지 않는지, 조급하진 않는지'한번이 어렵지두번은 어렵지 않은듯 합니다.한 회사가 평생일리도 없고,그렇다고, 어떤 좋은 회사라고 해도 꼭 그 좋은 회사가 '답'일 필욘 없다고 생각해요.지금도 좋은 제안들이 많이 들어오고 있고,면접도 보러 다니고 있고실업 급여도 인생에 있어 처음 타보네요.회사 사정으로 회사를 나올때,그 회사의 모회사의 회장님께서, 받아주시겠다고 하셨는데요.면접도 보았고, 좋은 결과로 자연스럽게 회사를 바꿀 수도 있었는데,이런 것도 하나의 기회이긴 하지만,또 다른 기회에 대해서 스스로 묵인하는 것 같았어요.그래서, 다른 기회들에 대해 덤덤히 받아들이기로 했어요.많은 사람들을 만나고,많은 기회들을 얻게 되는 것.아마도 더 좋은 회사가 될 수도 있지만,또 다른 회사는 또 다른 스타트업이 될 수도 있겠다는 막연한 생각도 듭니다.* 사람과 사람지금까지의 8여년간의 여정을 보면결국 남아있는 것들은 사람인듯합니다.가끔은 소원해지는 경우도 있지만,기존에 잘 지내던 사람들에게서 또 프로젝트 기회가 주어지고,외주의 기회도 주어지고, 또 좋은 사람들과 좋은 만남은 또 좋은 만남으로 이어진다고 생각합니다.이번 스타트업과의 만남을 통해서좋은 경험들을 쌓았고,잊지 못할 추억들을 만든것 같아요.이런 경험들을 공유하면서혹 스타트업 대표님들에게 도움이 될 수 있는 부분이 있다면 더 도움을 드려볼 수 있을것 같아요.https://open.kakao.com/me/chickenmoim 1:1로 요청하시면 가능하신 부분에 있어서 여러가지 기술적인 부분이나 개발자를 구하는 부분에 있어서필요한 것, 그리고 아이템에 대한 조언등등 할 수 있는 부분들은 도와드리도록 할께요.그리고 링크드인 정보를 공개합니다.https://www.linkedin.com/in/진호-배-9a5a69176이상으로"새벽두시 개발자"였습니다.회고를 마칩니다.