스타트업의 정의가 갈수록 애매하지만 나는 이번 회사가 내가 다닌 첫번째 스타트업이라고 생각한다. 이전에 다녔던 좆좆펀드 씨발것은 입사 당시 이미 시리즈 D까지 투자를 받은 상태라 스타트업보다는 중소기업에 더 가깝다고 본다.

어쨌거나 이번 회사로 이직한 계기는 자유로운 분위기와 열린 마인드를 가진 경영진 그리고 머린이가 *지금은 퇴사하신* 개발자와 함께 일하며 실력있는 개발자가 있다는 말을 들은것이 제일 컸다. 실제로 입사 초기에는 좆좆펀드의 지랄맞은 CEO와는 엔지니어 출신의 대표에서부터 만들어진 엔지니어를 존중하는 분위기가 굉장히 좋았다. 실제로 다니면서 불만이라는게 거의 없기도 했고.

굳이 입사 초기의 불만을 꼽자면 같은 팀 Product Owner와 기술을 선택하는 관점이 굉장히 달랐다는 것이다. 나는 개발자의 생산성을 굉장히 중요하게 여겨서 빠르게 만들 수 있고 변경사항이 생기더라도 리팩토링을 하기 쉬운 구조를 택하는 편인데, PO는 가능한 미니멀하게 시작해서 불편하더라도 개발하는데 크게 문제가 없으면 괜찮다는 식이었다. 그래서 aiohttp + SQLAlchemy(ORM 사용 X) 조합으로 프로젝트를 진행했는데 Django로 개발을 하다 온 사람의 입장에서는 '왜 굳이 이런걸 쓰지' 싶었다. 프로젝트가 끝날때까지도 불만이었고... 뭐 이런 불만은 사실 굉장히 사소한 부분이라 더 적지는 않겠다.

입사 후 반년 동안은 앞에서 말한 프로젝트를 진행했는데, 개발을 하면 할 수록 내가 면접을 통해 상상하고 원했던 스케일의 프로젝트가 아니었다. 솔직히 말하면 그렇게 복잡하지도 않았고, 유저 트래픽은 거의 전무하다시피한 프로젝트여서 '이걸 개발하는게 의미가 있나?'같은 불만이 점점 더 쌓여갔다. 프로젝트는 이후 Kubernetes로 더 확장성 있게 개발한다며 외부 클라이언트 한 곳에 테스트 배포가 이루어진 이후 개발이 거의 없었다. 그래서 뭐라도 해야겠다 싶어 프론트 개발에 조금씩 참여하기 시작했다.

백엔드 개발을 할 때는 몰랐는데, 프론트엔드 개발은 정말 끔찍한 수준으로 진행되고 있었다. 시니어 한 명이 개발을 도맡아 하고 있었는데 Vue.js 기반이었지만 Vue.js로 개발한 경험이 있는 사람이 보아도 단번에 이해하기는 힘든(사실 여러번 보아도 이해하기 힘든) 구조였다. const와 let 같은건 찾아볼 수 없는 ES4로 작성된 코드와 Vuex를 사용하는 대신 직접 만든 괴상한 구조의 상태관리 스토어, 인라인으로 정의된 CSS 스타일, 핫 모듈 리로딩이 되지 않는 개발 환경 등 프로젝트의 설계나 코드 퀄리티나 정말 마음에 들지 않았다. 그래서 프론트엔드 개발을 하며 정말로... 힘들었다. 사실 이런 것들은 조금씩 고쳐나가면 되는 문제라 생각하고 일단 프로젝트의 베이스를 vue-cli로 변경하고 ESLint와 같은 코드 린터를 추가하며 어떻게든 더 낫게 만드려고 했지만 시니어는 ESLint가 계속 코드에 오류가 있다고 하며 커밋을 막는다는 이유로 다시 원래 프로젝트 베이스로 리셋시켰다. 이때쯤 부터 더 이상 이 팀에 미래는 없다고 생각하고 이직을 준비하기 시작했다.

프론트를 한 두달정도 했을 때 조직 개편이 있었고, 나는 백엔드 개발자로 입사했지만 아무런 상의도 없이 프론트엔드 팀으로 배치되었다. 기존의 개발팀은 해체되고 백엔드 팀은 다른 머신러닝 도메인으로 그룹화된 팀들로 흩어졌는데, 사실 이 조직 구조를 보며 나는 회사가 프론트엔드를 프로젝트를 찍어내기만 하면 되는 SI 정도의 팀으로밖에 보지않는다고 느꼈다.