[회고] 2년차 프론트엔드 개발자의 퇴사 부검
처음 프론트엔드 개발자로 시작한 회사를 퇴사한 지 어느덧 한 달 차이다. 첫 회사는 아니었지만, 개발 경력으로는 첫 회사나 마찬가지였기에 나에게는 의미가 큰 회사였다. 약 1년 6개월 동안 이 회사에서 내가 어떤 것을 배우고 얼마큼 성장했는지 되돌아보면 좋을 것 같아 넷플릭스에서 시행한다는 퇴사 부검을 인용해 작성해보려 한다.
넷플릭스에서는 퇴사자들에게 마지막 의무로 부검 메일을 작성하게 하는 문화가 있다. 굉장히 독특하면서도 회사와 개인 서로에게 도움이 되는 좋은 문화라고 생각했다. 이 아이디어를 전에 회사에도 말하고 싶었지만 말했다간 이 문화 취지와는 맞지 않게 흘러갈 분위기여서 말하진 않았다.. 회사 입장에서 퇴사라는 건 여느 회사와 같이 부정적인 인식이 강해 이런 문화를 받아들일 여유가 없었다. 만약 시행하게 되었더라도, 이 회사에서는 부검 메일이 자칫 좋지 않은 방향의 문화로 흘러가게 될 것 같았다. 그렇게 된다면 같이 일하는 동료들에게 피해를 끼칠 수도 있겠다 생각해서 말하진 않았다.
부끄럽지만 나는 개인적으로 제대로 된 회고라는 것을 해본 적이 없어 이번 퇴사 부검이 첫 회고나 마찬가지이다. 회고가 처음부터 너무 무거운 주제인가 싶었지만 개인적인 생각을 적는 데에 무겁고, 가볍고 가 어디 있나 싶어 그냥 작성하게 됐다. 회사와 함께 하는 것이 아니니 5번의 질문에는 답변을 받지 못한다는 점이 조금 아쉽긴 하다. 내가 회사에서 어떤 사람이었는지는 궁금하긴 했었는데 이를 뒤로하고 시작해 보겠다.
1. 왜 떠나는지
퇴사라는 건 한 가지 이유만으로 바로 결정할 수 있는 건 아니라고 생각한다. 나는 퇴사를 말하기 직전에 수없이 많은 고민과 인내를 했고 그 사유들이 절대 변하지 않을 것 같았다. 나열해 보자면 아래와 같다.
- 정립되지 않은 회사 업무 체계
- 조직 문화
- 회사 재정 상태 악화
정립되지 않은 회사 업무 체계
이전 회사의 도메인은 '메타버스'인 스타트업이다. 입사 초기에 딱 한 번 유저 테스트로 회사 제품에 접속해 봤고 이후에는 구경조차 하지 못한 서비스이다. 처음 면접 때는 이 서비스에 대한 유지보수 또는 새로운 자사 서비스 개발이라는 업무 안내를 받았고 WebGL, Three.js 등 접해보지 못한 기술에 대한 호기심으로 입사를 하게 되었다. 사수도 있고 신입 프론트엔드 개발자도 한 분 더 계신다고 했으니 처음 시작으로 적당하다고 생각했다.
우선, CMS 페이지 하나 간단하게 만들어볼까요?
입사 후, 면접 당시에 들었던 자사 서비스를 개발하거나 유지보수를 하는 업무가 아닌 고객사가 존재했고 내가 맡은 업무들은 이 클라이언트가 사용할 CMS 도구를 개발하는 것이었다. 내가 원하던 업무는 아니었지만 모든 것이 좋았다. 나는 그때 맡았던 내 업무도, 개발도 재미있었고 사수가 좋은 분이어서 함께 개발에 관련된 지식을 얘기하며 진짜 개발자가 된 기분이었다.
업무만 열심히 하면 되는 것이 아니다. 틈틈이 개발자와 기획자의 소통 방식에 대해 익혀야 했는데... 뭔가 프로세스가 이상했다. 기획자가 슬랙에서 한 문장으로 개발을 요청하면 개발자는 이해가 가지 않는 부분에 대해 답을 달았고, 다시 이에 대한 답을 하기 위해 기획자가 직접 개발자의 자리에 와서 설명했다. 처음에는 이렇게 소통하는 거구나라고 생각했는데 갈수록 구두상 대화를 나눴던 내용들에 대해 서로 깜빡하는 것이 많아지면서 이건 올바른 소통 방식이 아닌 것 같다는 생각이 들었다. 게다가 깜빡한 부분에 대해서 팀장님이 개발자에게 화내는 빈도도 굉장히 많았다. 그것도 여러 사람들이 일하고 있는 사무실 내에서 말이다. 팀장님이 여러 개발자에게 자주 화내는 모습을 보면서 신입이었던 나는 팀장님에게는 다가가기 어려웠고, 사수에게 업무 프로세스에 대해 얘기해 보려던 찰나에 사수가 퇴사를 해버렸다...
이후에 혼자 모든 업무를 맡게 되었다. 다른 신입 프론트에게도 자신의 업무가 있었기에 우리에게 협업은 꿈도 꾸지 못했고 각자 업무하기에 바빴다. 와중에도 서로 모르는 부분은 물어보고 개발하며 그렇게 나는 혼자 일하는 개발자가 되었다. 점심에 팀장님에게서 업무 프로세스에 대해 말이 나와 말씀드리니 회의 빈도가 많아졌고 오히려 영향가 없는 회의가 지속되었다. 서서히 그 횟수도 줄어들며 다시 회사의 업무 체계는 원상태로 돌아왔다.
회사 분위기는 자유로웠지만 그만큼 사람들의 업무 방식도 자유로웠다. 이미 이러한 방식이 익숙해져 버린 사람들 속에서 신입인 내가 할 수 있는 것이라곤 나라도 내 업무를 정리하는 것이었다. 결국 회사 체계는 내가 퇴사하기 3달 전에 새로 온 PM으로 인해 소통 방식이 조금이나마 바뀌었지만 그 PM 또한 나보다 일찍 퇴사하게 되면서 원점으로 돌아가게 되었다.
내가 좀 더 적극적으로 회사를 바꾸려고 했어야 했던 걸까? 아니다. 그건 너무 오지랖이다. 만약 누군가 이런 회사 프로세스에 대한 내 태도가 수동적이었던 것 아니냐고 비판한다면, 반대로 이걸 변화시키기 위해 적극적으로 회사에 강하게 어필하는 신입이 몇이나 있을지 되물어보고 싶다. 나는 내가 할 수 있는 선에서는 최선을 다했다고 생각한다.
조직 문화 (feat. 개발 문화)
새로운 도전을 하며 성장한다는 개발자의 마인드가 늘 멋있다고 생각했다. 정체되어 있지 않기 위해 꾸준히 학습하고, 새로운 기술이 있다면 그걸 적용해 보고, 다른 사람들에게 도움을 주는 그런 모습 말이다. 나 또한 그런 개발자가 되어있을 줄 알았다. 그래서 함께 더 나은 무언가를 만들기 위해 소통하고 성장하고 공유하는 문화를 가진 회사에 입사하고 싶었다.
그래서 입사 초에 다른 프론트엔드와 함께 스터디를 진행하고 싶어 먼저 제안을 했고 어떤 스터디를 하고 싶은지 서로 의견을 나누었지만 방향성이 맞지 않았다. 게다가 팀장님의 강한 개입(?)으로 스터디는 시작조차 못하고 마무리되어 버렸다. 퇴근 후 개인적으로 공부하려 했으나 장거리 출퇴근자였던 나는 집에 도착하면 늘 녹초가 되어 바로 뻗어버리곤 했다. 그렇게 회사 업무에만 집중하며 몇 개월을 보냈다.
종종 원티드 챌린지를 신청해서 퇴근하면서 강의를 들으면서 가기도 하는데(보통 한 달 동안 평일에 두 번, 저녁 7~9시 사이에 많이 진행한다.) 거기서 한 강사님이 개발자의 학습 기여도에 대한 얘기를 해주셨다. 보통 퍼센트로 따지자면 회사 업무를 통해 학습하게 되는 비율이 70%, 스터디 참여 20%, 개인 공부 10% 대충 이 정도의 비율이었던 것 같다. 이걸 듣고 다음 프로젝트 진행할 때 팀장님께 말해봐야지라는 생각을 했다. 이때는 다른 프론트도 이미 퇴사하고 회사에서 혼자 프론트 업무를 담당하고 있던 때였다.
새로운 프로젝트가 시작되었고 나는 팀장님께 조심스럽게 타입스크립트 도입에 대해 여쭤봤다. 현재 쓰고 있는 리액트에 타입스크립트를 도입하여 시간이 걸리더라도 좀 더 안정적인 프로덕트로 개발하는 것이 어떤지 의견을 물어봤고 오케이 사인을 받아 이전에 내가 공부했던 타입스크립트를 다시 한번 보게 되었다. 그러나 며칠 뒤에 팀장님은 타입스크립트 도입에 대해 정정했다. 이유는 클라이언트에서 좋아하지 않는다는 것이었다. 이후에도 상태관리 도구인 Recoil을 api 연동 작업에 사용하면서 불편을 느껴(캐싱처리, 메모리 누수 문제, 버전 등) 다른 기술 스택 사용을 물어봤지만 이 또한 거절당했다. 이미 안정적으로 진행되고 있는 서비스들과 보일러 플레이트가 있는데 굳이 뭐 하러 바꾸냐는 것이다.
그때 많이 느꼈다. 이 조직에서는 함께 개발 문화를 만들어 나가기도, 나갈 사람도, 새로운 도전을 시도하기에도 어려운 곳이란 것을.
사실 회사 상황 상 이것저것 도전해 볼 여유로운 시간이 없기도 하다. 클라이언트가 요구한 기간에 맞춰 프로젝트를 진행해야 했으니 회사 입장도 이해가 갔다. 그래서 혼자 2개 이상의 프로젝트를 동시에 진행하는 경우도 있었다. 팀장님의 입장에서는 주니어가 스스로 지치지 않기 위해 배려를 해주신 것 같기도 했다. 회사와 팀장님이 어떤 마음인지 충분히 이해가 갔지만 아쉬웠다. 결국 새로운 프로젝트는 늘 사용하던 보일러 플레이트로 시작을 했고, 관리자 페이지만 개발하다 보니 점점 기계가 되어가는 것만 같았다.
회사 재정 상태 악화
스타트업 시장은 여전히 투자 한파이다. 이전 회사도 당연히 이 한파를 맞고 있었다. 기존 메타버스 서비스를 좀 더 디벨롭시키고 싶어 했으나 메타버스는 코로나 종식 이후로 더욱 어려워졌다. 회사의 확실한 BM이 존재하지 않았고, 클라이언트와의 의견 조율도 원활히 진행되지 않으면서 점점 회사 복지가 줄어들었다. 복지만 줄어들었으면 그나마 다행이지만 직원들의 임금 체불까지 발생했다. 직원들이 하나둘씩 관두기 시작했고 앞선 상황들과 더불어 클라이언트의 요구사항을 무조건적으로 들어줘야 하는, 더욱 좋지 않은 상황들이 겹쳐버렸다.
2. 회사에서 배운 것
그래서 나는 이 회사에서 배울 점이 하나도 없었나?
되돌아보니 그건 아니었다. 사람마다 생각하기 나름이겠지만 나는 어느 회사를 가도 배울 점들은 다 있다고 생각한다. 그게 좋은 회사든, 좋지 않은 회사든 말이다.
- 책임감
- 커뮤니케이션
내가 여기서 가장 크게 배웠고, 스스로도 자랑할 수 있는 점은 책임감이다.
사수가 거의 없는 것과 마찬가지였던 나의 상황은 오히려 나에게 강한 책임감을 길러주었다. 혼자 부딪히고 깨지고, 처음 해보는 것들을 구현하기 위해 발버둥 쳤다. 할 사람이 나밖에 없으니 해야만 했고, 해내야만 했다. 이런 상황들이 반복되면서 업무에 대한 책임감이 강해졌고 해결하지 못한 부분에 대해서는 스스로 부족함을 느끼고 보충하기 위해 개인적으로 학습하기도 했다. 다만, 아쉬웠던 점은 혼자 일하다 보니 부족했던 부분에 대해 되돌아볼 시간이 없었고(여러 번 시도하면서 소비된 시간들이 많음) 실제로 그 부분이 미흡한 부분이 맞는지, 내가 잘한 부분은 있는지 확인할 방도가 없었다. 나는 칭찬과 피드백을 받으면 받을수록 잘하려고 노력하는 타입인데 내 업무에 관해 아는 사람이 없으니 그 누구에게도 피드백을 받을 수 없었다. 이 점은 아쉬웠으나 업무를 잘 해내는 것은 배웠으니 그다음으로 나를 객관적으로 돌아볼 수 있도록 노력해야겠다.
그다음 배운 점은 타 직군과의 커뮤니케이션 방법이다.
나는 프론트엔드로서 기획자, 디자이너, 백엔드 다양한 직군과의 소통이 필요했다. 특히 비개발직군과의 소통에서 어려운 점들이 있었다. 기획자는 본인이 기획한 것을 언제까지 해달라는 방식으로 던져주곤 했었는데 처음에는 마감 기한 맞추기에만 급급해 무작정 개발부터 시작했다. 그러나 이제는 개발하기 전에 기획서를 꼼꼼하게 체크하고 가능한 마감 기한을 조율해서 정할 것, 구현 불가능한 것에 대해서는 타당한 이유를 들어 함께 설명해 줄 것 등등 많은 것들을 검색해 보고 스스로 깨우쳐 나갔다. 디자이너와의 소통에 있어서도 디자인 사이즈나 컬러와 관련된 문제가 다수 존재했다. 같은 컴포넌트를 사용하더라도 페이지마다 색상이나 크기가 미세하게 다른 부분이 있어 처음에는 수정을 요청했으나, 그게 반복되니 서로 번거로웠다. 결국 색상, 사이즈, 간격, 폰트사이즈에 대한 규격화와 컴포넌트화를 요청했고 흔쾌히 들어주셔서 함께 의견을 나누며 디자인을 통일시켜 나갔다.
이외에도 협업툴의 필요성을 느꼈다. 이전 회사의 협업툴은 슬랙밖에 없었는데 이를 통해 프로젝트를 관리하고 진행 상황을 추적하기엔 비효율적이라는 생각이 들었다. 이슈가 있었던 것도 깜빡하고 넘어가곤 했었다.. 입사 초에 사용하던 먼데이는 쓰는 사람만 쓰다가 서서히 사라져 갔다. 있었다가 없어지니 오히려 필요성이 더욱 느껴졌던 것 같다.
3. 회사에 아쉬운 점
- 직원들의 의견에 귀 기울이는 것
왜 떠났는지에 대한 이유는 여러 가지이지만 놀랍게도 회사에 아쉬운 점은 한 가지뿐이다. 직원들의 의견에 좀만 더 귀 기울여 피드백을 받아들이고 인정하는 것. 이것만 제대로 되었어도 회사가 지금과 같은 상황은 없었을 거라 감히 예상해 본다. (1번 답변의 발단일 수도 있겠다.)
제품에 대한 사용자의 의견에 귀 기울이 듯 회사도 마찬가지라고 생각한다. 어떤 것이든 혼자 이뤄낼 수 없는 것처럼 회사는 함께 만들어 나가는 것이고, 스타트업이란 단어는 더더욱 이런 특성을 잘 살리기 때문에 나에게는 설레는 단어였다. 새로운 경험들을 모두가 동등한 입장에서 함께 시작하고 만들어나갈 수 있으니 말이다. 이전부터 회사 BM에 대한 이야기가 몇 번 나왔는데 회사는 이런 말들을 안좋게 생각했고, 개발 조직의 변화가 필요함을 용기 있게 피력했음에도 불구하고 두 귀를 막아버렸다. 의견을 내는 것에 있어서는 자유로웠지만 과연 이게 자유로운 조직이 맞는지 의문이 들었다.
4. 앞으로의 계획
나는 늘 내 나름대로의 커다란 계획들이 있었다. 빨리 취업하고 싶어 다니던 4년제를 자퇴하고 전문대에 들어갔고, 학교를 다닐 때도 의미 있는 일을 할 것이 아니라면 휴학으로 시간을 낭비하지 말자 라는 생각에 휴학 한 번 한 적이 없다. 첫 번째 회사를 퇴사 후에도 바로 부트캠프를 다녔고 수료 후에도 올해 안에 취업하자 라는 무지성 계획뿐이었다. 이번에도 마찬가지로 내 목표는 취업이다. 다만, 이전까지는 마음 한 구석에 늘 조급함이 있었다면 이번에는 내가 진짜 원하는 것이 무엇인지 잘 생각해 보며 이 조급함을 조금 내려놓고 이성적인 판단을 하려 한다. 자꾸 조급해하다 보니 제대로 된 판단을 내리기 힘들었고 이렇게 한 선택은 늘 후회와 고통을 남겼다. 물론 이 속에서도 배울 점은 있었지만 더 좋은 환경에서 내가 얻을 수 있는 것들이 많아졌으면 좋겠다.
또한, 내가 이루지 못했던 것들을 차차 해볼 생각이다.
가장 가까운 목표는 정보처리기사 실기를 따는 것이다. 회사를 다니면서 필기는 합격했지만 실기는 벌써 두 번이나 떨어졌다. 첫 번째는 열심히 했는데 떨어졌고 두 번째는 정말 열심히 안 했다.. 다들 개발자는 자격증이 필요 없다곤 하지만 준비하면서 CS지식 쌓는 것에 많은 도움이 되었다. 게다가 업무할 때 공부했던 내용이 나오면 귀가 쫑긋하게 되면서 신기하기도 했다. 이번엔 다시 열심히 해서 내 업무 관련 지식도 제대로 쌓고 자격증으로 증명도 할 것이다!
그다음으로는 현재 하고 있는 Next 스터디에 열심히 참여해서 유종의 미를 거두는 것이다. 6월부터 7월 말까지 약 두 달간의 스터디인데 개발자들과 소통하며 학습한 부분을 나누는 것도 의미 있지만, 다른 개발자들이 일하는 방식을 들으면 새롭고 재미있다. 스터디를 통해 많은 인사이트를 얻는 것 같다. 아마 이번 스터디가 끝나도 또 다른 스터디를 찾아 학습과 네트워킹을 지속할 것 같다.
마지막은 요즘 내가 푹 빠져있는 러닝이다. 이미 10km 마라톤 대회에 참여해 봤고, 이후에 2개나 더 신청했다. 취미라곤 전혀 없던 내가 지인으로 인해 뛰기 시작했는데 어느 순간 뛰는 게 재미있고 뛰다 보면 힘이 들지 않는 순간이 온다(러너스 하이!) 이게 너무 신기하면서도 나름 달리기에 소질이 있는 것 같아 더 잘하고 싶어졌다. 게다가 처음 마라톤에 혼자 참여했는데 사람들과 함께 뛰면서 서로 응원해 주는 그 분위기가 아직도 기억에 남는다. 지금은 혼자 중랑천을 달리며 연습하고 있지만 자격증 시험 이후에는 러닝 크루에 참여하여 사람들과 함께 달릴 계획이다.
길이 있어 달리는 것이 아니라 달리다 보니 길이 보인다.
이외에도 하고 싶은 것도 해야 할 것도 너무 많다. 백수지만 늘 아침 8시 전에 일어나서 활동을 하는데도 시간이 부족하다. 조급해하지 말고 차근차근해봐야겠다.
- 꾸준히 독서하기/블로그 글 작성하기
- 필라테스 / 러닝
- 알고리즘 공부(미루지 말고 하자)
- 만들어보고 싶은 앱 프로젝트가 생겼다!
- 입사지원서, 포트폴리오 손보기
- 취업하면 입사 전에 일주일 제주도 혼자 여행하기
- 영상 편집 기술 다시 익히기 (이건 취업 후에 천천히)
현재는 백수가 되었지만 이런 경험들이 오히려 나를 더 강하게 만들어준 것 같아 뿌듯하다. 하지만 매번 겪고 싶진 않다..^^ 아직은 고통을 즐길 만큼의 경험치도 없고 고통을 겪고 나면 행복한 일도 있어야 어떤 고통이든 잘 극복할 수 있는 힘이 생기는 것 아닐까. 어떤 고통을 겪더라도 내 나름대로 그걸 이겨내기 위해 노력했고, 게으름 피우지 않고 성실하게 살아왔다는 점은 자신 있게 말할 수 있다. 이제는 그걸 말로만 하는 사람보다는 흔적을 남기는 사람이 되어보자!