프론트엔드 개발자 대학생의 14개월 회사생활 회고
최근 두 곳의 스타트업에서 프론트엔드 개발자로 14개월여의 근무를 마치고 퇴사했습니다. 그리고 이번 학기 다시 복학했습니다. 첫 6개월은 학점을 인정받는 학교 현장실습으로, 나머지 8개월은 시드 단계의 초기 스타트업에서 정규직으로 일했습니다. 이번 포스팅에서 잠깐의 회사생활을 회고합니다.
저는 대학교 4학년이고 내년에 졸업 예정 입니다. 2019년 초에 처음으로 개발을 시작했고, 개발로 돈받고 일을 한지는 이제 2년이 좀 넘어가네요. 외주 개발, 개인 프로젝트, 회사 근무 경력이 있습니다.
왜 졸업을 늦추고 회사에서 일을 했나
- 개발을 늦게 시작한 편이라서 졸업하기 전에 개발을 더 익히고 공부하는 절대적인 시간이 더 필요했습니다. 이대로 4학년이 될 자신이 없었달까요.
- 스타트업에서 일하는 것이 저한테 잘 맞는지 알고 싶었습니다. 스타트업에서 일해보는게 가장 빠르게 알 수 있는 방법이라 생각했습니다. 제가 무슨 회사를 좋아하고 어떤 근무환경을 좋아하는지 충분히 알아볼 수 있는 시간도 가지고 싶었습니다.
- 그러기 위해서 1년 동안 2개 정도의 조직을 경험해보는게 어떨까 - 하는 대충의 계획을 세웠습니다.
- 돈을 좀 모아놓고 졸업을 하고 싶었습니다.
근무했던 회사들
첫 번째 회사(6개월)
학교 현장실습으로 한 학기동안 인턴으로 근무하게 되었습니다.
중국과 한국에서 사업하는 글로벌 챗봇 솔루션 스타트업으로 챗봇뿐 아니라 웹 전반에 걸친 SI도 하는 회사였습니다. 시리즈 A 단계에 개발자 규모는 15명 내외로 확실하게 보고 배울 수 있는 3년차 사수분이 계셔서 입사를 결정하게 되었습니다. 그 당시에는 진짜 사수를 너무너무 만나고 싶었습니다.
회사 자체 커머스와 대기업, 중견기업의 SI 프로젝트의 프론트엔드를 Vue.js를 이용해 개발했습니다.
가장 큰 소득은 회사 내의 정말 다양한 주체들과의 협업 경험이었던 것 같습니다. PM, 기획자, 디자이너, 백엔드 개발자, 동료 프론트엔드 개발자, 회사 상하이 지사의 중국인 개발자, 대기업 직원(클라이언트측)과 같이 일을 해나가면서 소통과 협업을 어떻게 하는게 좋을지 계속 생각해보고 고민했었던 것 같습니다. 영어 말하기는 꼭... 언젠가 시간을 내서 공부해볼 것이라는 결심을 하기도 했습니다.
입사 당시 회사가 대기업 사옥 내부 사무실에 입주해서 일을 하고 있었는데, 그 곳에서 큰 조직은 어떻게 일을 처리하고 대기업에 다니는 사람들은 어떻게 일을 하고 있는지 간접적으로나마 경험할 수 있었습니다. 회사 경험이 전무한 저에게는 그것도 좋은 경험이었던 것 같아요.
효율적인 개발을 위한 NPM 라이브러리를 만들기도 했고, 퇴사 직전에 프론트엔드 사내 위키를 만들기도 했습니다.
두 번째 회사(8개월)
첫 번째 회사에서는 SI 프로젝트를 많이 하다 보니 클라이언트가 의뢰한 것 위주로 할 뿐, 하청업체 개발자인 제가 비즈니스에 끼칠 수 있는 영향은 당연히 전무했습니다. 그게 갈증으로 작용해서 제가 의사결정에 직접 참여할 수 있는 더 작은 팀에서도 한 번 일해보고 싶다는 생각을 하게 되었습니다.
두 번째 회사는 패션 프리오더 플 랫폼을 서비스하는 시드 단계의 스타트업입니다. 패션 제품을 만들고 싶어하는 디자이너를 유치하여 프리오더의 형식으로 소비자와 매칭시켜주는 플랫폼입니다. 저는 능력이 부족함에도 3명 규모 프론트엔드 개발팀을 리드했습니다. 초기팀이라 가능했던 것 같습니다.
설계, 컴포넌트 구조, 상태관리 방법, 배포 자동화, 모바일 앱 개발 등등 책임과 역할이 많아진만큼 다양한 고민들을 했었습니다. 라이브되고 있는 서비스를 유지보수하면서 느끼는 두려움과 요구되는 신중함, 빠르게 요구사항이 바뀌는 초기 스타트업에서 어떻게 협업하고 개발해야 효율적으로 할 수 있을지 계속 생각했습니다. 주니어 레벨이라 잘 해내지는 못했지만 개발자들이 다 같이 일을 잘 하고, 다 같이 성장하는 방법은 뭘까 생각해볼 기회도 있었고요.
땅 짚고 헤엄치는 것을 배웠습니다. 시니어가 없는 초기 개발팀이라 제가 한 판단이 과연 정말 적확했는지, 우리 팀이 나은 방향으로 가는 것인지 정확히 알 수가 없었는지라 지속적인 공부와 리서치를 계속했었습니다. 그 과정에서 사수가 없어도(있었으면 더 좋았겠지만ㅜ) 어느 정도는 스스로 배우고 익혀 프로덕트에 보탬이 될 수 있다는 자신감을 약간 얻었습니다.
계획한 것을 다 하고 나오지는 못해서 아쉽지만, 그래도 짧은 기간동안 서비스가 성장하는 것을 보며 보람을 느꼈던 것 같습니다. 시리즈 A 투자도 잘 되었으면 좋겠습니다,,,
동료들이 정말 좋은 분들이었습니다. 모두 팀에 큰 애정을 가지고 간절히 팀의 성장을 바라며 일하는 활기찬 스타트업이었습니다.
퇴사 이유
퇴사를 하게 된 가장 큰 이유는 빨리 대학교 졸업을 해서 신분을 좀 더 자유롭게 만들고 싶었기 때문이었습니다.
부가적으로는 좀 더 제가 혼자 공부할 수 있는 시간을 갖고 다시 구직시장에 나가고 싶은 마음이 있습니다. 비전공자라서 CS 지식도 부족하고요. 그동안 프로덕트를 빠르게 만드느라 정확히 이해를 하지 못했던 지식들을 정리할 시간도 좀 더 필요하다고 생각했습니다.
물론 계속 일을 할 수도 있었겠지만, 스스로 확실히 준비되었다고 생각하는 상태에서 무언가 하고 싶어하는 편입니다. 성격이 그렇습니다. 졸업 전에 마지막으로 학교를 다니는 시기가 어쩌면 혼자 편하게 스스로의 계획에 맞춰 공부할 수 있는 마지막 시기가 아닐까...하는 생각도 들었습니다.
느낀 점
직장에서의 '나'
당연한 이야기지만 이전에는 한번도 '직장에서의 나'를 경험해본 적이 없었습니다. 회사를 다니면서 어떻게 일을 하는 것을 좋아하는지, 개발자에게 좋은 업무 환경은 어떤 것인지 생각해볼 수 있었습니다.
스타트업에서는 업무 체계가 완고히 정해져있지 않습니다. 그래서 스타트업에서 가능한 새로운 업무 방법을 자유로이 도입해보기도 하면서 가장 효율적인 일처리를 찾아가는 과정이 재미있기도 했었던 것 같습니다.
프론트엔드 개발자가 아닌 그냥 개발자
회사에 다니면서 주로 하던 웹 프론트엔드 개발 뿐 아니라 모바일 앱 개발, 인프라 설계, CI/CD 구축을 하면서 다양한 기술들을 접해보게 되었습니다. 이것저것 해보면서 얻은 깨달음인데요.
프론트엔드 개발자라고 해서 회사에서 프론트엔드만 쭉 할 것이라는 보장은 없습니다. 작은 회사면 더더욱 그렇고요. 결국 소프트웨어를 만드는 개발자로서, 주어진 어떤 일이든 빠른 시간에 학습하여 일정 이상의 퀄리티를 낼 수 있도록 소프트웨어를 만드는 기본기들을 제대로 알고 있어야 한다고 생각했습니다.
또한 개발팀에서 어떤 일이 일어나고 있는지 잘 파악하는게 팀의 생산성과 효과적인 논의에 꼭 필요하다는 생각도 했습니다. 프론트도 백엔드와 인프라를 이해해야합니다. 공부는 끝이 없고 개발 세계에서 몰라도 되는건 없는 것 같습니다.
저는 "저 이거 못(안)해요.", "저 이거 몰라요." 라는 말 안 하고 싶습니다. 프론트엔드 개발자가 아니라 그냥 개발자가 되고 싶습니다.
아직 팀을 이끌기엔 나는 너무 주니어다
저는 아직 제 성장에 목마른 주니어 개발자입니다. 그런데 두 번째 회사에서는 프론트팀을 리드하는 포지션을 맡았었습니다. 여기서 괴리가 생겼습니다. 저는 팀을 잘 돌보지 못했습니다.
팀 전체의 생산성을 최대로 끌어올리지 못했습니다. 업무 분배에 있어 제가 하고 싶은 일, 제가 성장할 수 있는 일이 생기면 너무 하고 싶었습니다. 제가 아닌 팀을 위한 업무 분배 방식을 고안하기 보다는 제 성장에 도움이 되는 방법을 택하고 싶었습니다. 팀의 생산성을 우선하여 생각하는 태도가 부족했습니다.
팀 전체가 성장할 수 있도록 하지도 못했습니다. 팀원의 능력에 대해 자세히 파악하고, 이런 태스크는 이 분에게 맡기면 그 분이 더 성장할 수 있겠다는 식의 생각을 하지 못했습니다. 팀 전체가 성장할 수 있도록 같이 공부를 해본다거나 하지도 못했습니다. 그저 다른 분들도 알았으면 좋겠는 기술 내용을 정리한 문서들을 몇 번 공유한 게 다 인것 같습니다.
사실 주니어여서 그렇다, 큰 그림을 그리지 못해서 그렇다는 말이 핑계일 수도 있습니다. 그냥 제가 능력이 부족한 것일 수도 있겠죠. 능력과 경력을 더 쌓아서 팀을 돌볼 수 있는, 팀과 함께 성장할 수 있는 개발자가 무척 되고 싶습니다. 팀원들에게는 여러 면에서 죄송했습니다...