첫회사 10개월과 이직

‍한승운·2022년 6월 4일
1
post-thumbnail

SSAFY 의 생활을 7개월 마치고, 나는 인공지능 스타트업에 취직하였다. 그리고 거기서 10개월의 기간동안 스윙챗 이라는 서비스를 팀과 함께 만들면서 성장하였다. 다만, 그 속에서 내 안에 여러 불안요소나 불만사항들이 쌓이게 되어 이직을 해야하겠다고 결심하게 되었다. 이 이직에 대한 일련의 시작과정, 진행과정, 결과를 여기 일기형식으로 남겨보고자 한다.

이직을 준비하게 된 계기

내가 이직을 결심하게 된 가장 비중이 높은 순서대로 정리를 해보았다.

성장속도에 대한 불안

나는 2020년 4월에 처음으로 개발을 시작하여, SAFFY 를 다닐 때 까지 열심히, 빠르게, 성과를 내면서 성장을 해왔다고 생각을 했다. 그리고 회사에 들어올 시기에 "이제 어떤 것도 할 수 있을 것 같다." 라는 생각으로, 많은 권한을 가지고 어떤 것이든 해볼 수 있는 스타트업을 골라 취직을 하였다.

  • 많은 권한과 할 수 있는 것
    • 환경 : 첫 회사에서 일을 할 때, 팀장님께서는 무언가를 하고 싶다고 하면, 그럼 해봐 라고 말씀해주시는 분이셨다. 그래서, 내가 하고자만 한다면 어떤 것이든 할 수 있는 환경이었다.
    • 도전 : 이런 좋은 환경속에서 나는 여러가지를 바꿔보려고 했었고, 그 중에는 내가 가장 하고싶었지만 이루지 못하고 회사를 나온 테스트 코드 적용하기가 있었다. ( 그외에도 ODM 적용, 여러가지 운영적인 불안요소를 감지할 수 있는 모니터링 시스템 구축과 좀더 편한 문제 파악을 위한 시스템 구축, 더 좋은 코드를 치고 싶다는 욕심 등등..)
    • 좌절 : 테스트 코드를 적용하려고 할 때는 정말 많은 고민들이 있었다. 현재 코드가 테스트 가능한 코드인지? 아니라면 어떤 형식으로 코드를 변경해야테스트 코드가 가능할지? 테스트 코드 범위를 어디까지 지정을 해야할지? 시간이나 특정시점에 관련된 코드들을 정말 다 테스트가 가능한 것인지? 등등등 나의 머리 속에 꼬리에 꼬리를 물고 다양한 의문점들이 펼쳐졌고, 여러가지를 찾아보고 공부했지만 우리 프로젝트에 도대체 어떻게 적용을 해야할지 도저히 내 머리로는 판단이 되지 않았다. 처음 회사에 들어올 때는 무지함에서 나온느 자신감으로 가득했으나 시간이 지날 수록 그 자신감은 무너졌다.
    • 갈망 : 그래서 이미 테스트 코드도 존재하고, 내가 원하는 개발환경들이 구성된 곳에서 시스템들이 보통 이런 방식으로 구성되는 구나라는 개발적 상식을 배울 수 있는 환경을 갈망하는 상태가 되었다. 개인적으로 이런 갈망을 가지게 된 원인으로는 혼자서 더 많은 시간을 고민하고 끙끙 알아내면서 야생적으로 지식을 쌓아가면서 성장하는 방법도 물론 있겠으나, 전공자보다 나는 굉장히 늦은 나이에 개발을 시작했고 그에 따른 쌓아온 시간에 대한 차이가 내 불안요소로 남아있다. 그래서, 좀 더 효율적인 방법이라고 내가 생각하는 큰 회사로 가서 일반적으로 어떤 것을 하려고 할 때 보통 어떻게하더라 하는 개발적인 상식을 먼저 쌓고 공부를 하는 것이 더 맞을 것이라는 판단이 되어서이기도 하다.
  • 개발적 고민사항을 공유하기 힘든 환경
    • 환경: 빠르게 서비스를 만들고, 운영을 해야하는 스타트업이기도 하였고, 약간 우리팀이 일하는 방식이 각자 도메인을 맡아서 작업을 거의 도맡아서 진행을 하는 방식이었다. 심지어 MSA구조라 각자 다른 도메인이기 때문에 작업하는 API도 겹치지 않고, 서로에 대한 코드도 거의 겹치지 않게되면서 팀 내에서도 서로가 어떤 일을 하는지 서로 모르는 상태였다. 같이 작업을 하고 있지 않고, 혼자 알아서 필요한 것을 만들어가는 상황이었기 때문에 당연히 팀에 문서도, 코드리뷰도, 개발적 고민을 나누는 자리도 거의 없었다.
    • 나름의 노력 : 회사에 처음 들어갔을 때부터 이직 준비를 하기 전까지 매일 퇴근하고, 다른 사람이 만든 서비스를 한번 써보고, 그것을 프론트에서 크롬 개발자모드로 Network 가 어덯게 통신되고있는가부터 시작해서 DB까지 어떻게 도달하며 그 일련의 과정을 어떻게 작성을 하였는가에 대한 연구를 하였다. 그 과정 속에서 팀원들 각자마다 자신만의 스타일을 가지고 있는 것을 볼 수 있었고, 나중에는 코드만 봐도 누가 썼는지 감이 왔다. 그 스타일들을 참조하여 내 코드에 접목시켜보기도 하고, 또 바꿀 사항이 있지는 않을까 이런 것을 고민하면서 내 작업들을 만들어나갔다.
    • 한계 : 코드로 볼 수 있는 것은 현재 그 작동이 어떻게 굴러가는지까지 이다. 코드만 보고서는 도대체 이게 왜 이런 코드를 작성을 했는지, 만드는 과정속에서 어떤 어려운 요소가 있었는지, 그것을 어떤 시도들을 하고 최종적으로 이 코드에 도착한 건지에 대한 히스토리? 생각? 들은 전혀 알 수가 없다. 내가 개발 공부를 하면서 가지게 된 스타일이 개발분야는 너무 방대하고, 변화도 빠르기 때문에 직접경험이 가장 최우선적으로 좋지만, 그것을 다 직접경험하는 것을 불가능에 가깝고, 최대한 많은 간접경험을 통해서 효율적으로 자신의 것들을 만들어 나가는 것이 좋다 라는 것이다. 이런 간접경험이 일어나기 힘든 환경속에서 나는 내 성장속도에 관한 많은 불안감을 느꼈다. ( 여기까지가 내가 이직을 하려고 맘먹었을 때의 상황 )
    • 팀장님의 배려 : 이러한 불안에 대해서 내가 팀장님에게 몇 번 말씀드린 적이 있는데, 팀장님은 팀원이 많아지는 상황에서 업무 방식의 변화가 필요하다고 공감하셨고, 팀에 플래닝( 2주간의 스프린트에 무엇을 해야할지 서로 공유하고, 계획하는 자리), story 포인트 추정( 업무마다 얼마나의 시간이 걸릴지 개발자들끼리 계획), 회고( 스프린트 종료 때 스프린트 기간에 쌓인 불만, 스프린트 내에 점수만큼 일을 행하지 못했다면 그 이유 분석 등)을 도입해주시면서 많은 변화가 있었다. 정말 감사했다..

커리어적 불안

  • 업무에 대한 비중( 프론트 60, 백엔드 30, devops 10 )
    • 처음에 정해지지 않은 방향성 : 사실 나는 이 회사에 들어올 때까지도, 내가 백엔드를 하고싶은건지 프론트를 하고싶은건지 또 아니면 devops를 하고싶은건지 잘 모르는 상태였다. 팀장님 자체도 주니어 같은 경우에는 백엔드와 프론트를 다 해보면서 성장을 하는 것이 더 넓은 시야와 빠른 성장을 할 수 있다고 생각하시는 분이라 덕분에 이것저것 다 해볼 수 있는 환경이었다.
    • 백엔드를 제대로 하고싶다 : 이것저것 해보면서 드디어 나는 프론트보다는 백엔드가 더 어울린다는 확신을 가지게 되었다. 그 이유는, 난 작동하는 코드를 만드는 것은 당연하고, 항상 이게 최적의 상태인지에 대한 고민을 많이 하고 있는데 그런 고민은 기획이 바뀌면 화면을 다시 짜야하는 프론트보다는 한번 잘 만들어놓으면 변화가 적은 백엔드에 어울리다고 생각하기 때문이다.
    • 하나만 하기에도 부족한 시간 : 나는 백엔드 개발자야 라고 마음을 정하는 순간, 백엔드 이외의 분야의 것들을 공부하고, 업무를 하는 것이 나에게 큰 부담으로 다가오기 시작했다. 이미 백엔드만으로도 할것도 너무나 많았고 시간은 부족했기 때문이다.
    • 백엔드적 고민이 적은 일들 : 사실 내가 한 일들이 대부분 Admin 페이지를 만드는 것이었기 때문에, 업무적으로 백엔드의 일은 대부분 CRUD 를 만드는 것이었고, 대부분의 시간을 Front에서 화면을 만드는데 쏟게 되었다. 그래서 드는 생각이 지금 이대로 괜찮은가? 였다.
  • Python 개발자와 MongoDB 사용에 따른 불안
    • 백엔드적 커리어로써 과연 맞는가? : 사실 한국에서 백엔드 개발자라고 하면 80~90%는 Spring 개발자를 의미한다고 해도 과언이 아닐정도로 Spring 공화국이다. 그래서, 내가 백엔드로 진로를 확실하게 결정했을 때 내가 Python 을 계속 활용하면서 경력을 쌓았을 때 경쟁력이 있는 사람일까에 대한 막연한 불안감이 존재하였다. 심지어, 챗봇 서비스 특성상 RDB 보다는 Document DB 형식의 MongoDB가 어울리는 부분이 더 많아서 MongoDB만을 사용하였고, 개발자의 편의라는 명목상으로 RDB를 사용하는 부분도 MongoDB로 다 변경하면서 작업한 것도 존재하였다. 물론 MongoDB와 RDB는 비슷한 점도 많지만, 근본적으로 다른 DB이기 때문에 개발할 때의 고민사항도 달라진다. 그래서 이 또한 대부분이 사용하고 있는 RDB를 사용하지 않고 개발을 해나가는게 과연 경쟁력이 있을지 막연한 불안요소로 작용했다.

금액적인 불만

  • 사실 적다고 말하기는 힘들지만, 소위 말하는 상위 기업과의 임금차이
    • 딱 우리회사는 보통 스타트업들이 주는 임금의 평균정도를 주는 회사였고, 나는 처음 들어갈 때부터 좀 적은 것같다는 불평은 있었지만, 내 성장에 급한 사람이었기 때문에 별 상관하지 않고 입사를 하였다. 하지만, 일을 하면 할수록 내가 이 돈 받고 일을 하는데, 이정도까지 일을 해야할까? 라는 불순한 생각이 문뜩 문뜩 생각이 들면서 게을러지는 자신이 싫었다.

이직을 준비하는 과정

이런 일련의 고민들을 가지고, 나는 이직을 준비해보자 라는 생각을 가지게 되었다. 물론 아직 경력이 1년도 되지 않았기 때문에 실제로는, 무조건 이직을 하겠다! 가 아닌, 먼저 나의 가치를 시장조사 해보자 라는 생각으로 이직도전을 하였다.

포트폴리오 만들기

  • 미리캔버스를 통한 PPT 형식의 포트폴리오

    • 이전에 내가 포트폴리오를 만들 때 Notion 도 사용해보고, Docs로도 만들보고, Github 프로젝트마다 Markdown으로 설명도 해보고 여러가지 시도를 해보았지만, 한계점을 느껴 이번에는 미리캔버스를 통해 PPT로 포트폴리오를 구성하였다. 약 3주에 걸쳐서 회사에 들어오기전, 들어온 후 어떤 것들을 하고 어떤 성장을 해왔는지 객관적인 수치와 시각적으로 빠르게 파악할 수 있도록 고심을 했다.
      • Notion : 이력서를 제출할 때, 사이트 주소를 내는 곳도 물론 존재하지만 더 많은 수의 기업들이 pdf과 같은 파일형식으로 제출을 하게 한다. 그래서 Notion같은 경우 내가 한 일을 잘 정리해서 사이트로써 공유하기는 좋았지만, 그것을 pdf 나 파일 형식으로 바꿨을 경우 오히려 다른 형식보다 가독성이 떨어지고, 읽는 사람(채용담당자)가 선호하기 힘들다고 생각이 들었다.
      • Docs : 많은 양의 자신의 소개를 문서를 통해서 전달을 할 수는 있다. 하지만, 그 내용이 좋더라도 문서자체의 impact가 부족하다. 하루에도 몇십개의 이력서를 읽는 채용담당자 입장을 고려해보았을 때 과연 눈에 띌 수 있는 포트폴리오인지, 짧은 시간동안 문서의 내용을 파악할 수 있는 형식인지를 고려해봤을 때는 Docs같은 경우, 짧은 요약본 형식으로 제출하는데는 좋았으나 포트폴리오로 작성하기에는 부족한 면이 있었다.
      • Github Markdown 혹은 개인 사이트 : Notion 과 마찬가지로, 파일로써 제출하는데 큰 에로사항이 존재한다. 그리고, Github나 개인 사이트 경우 처음만드는데 다른 양식들보다 만드는 시간이 오래걸리기도 하는데, 과연 그 투자한 시간만큼의 impact를 줄 수 있는지는 의문이 드는 양식이었다.

지원과 코테

이번 이직준비의 목표가 시장조사였기 때문에 고작 8개월(이직 준비 당시)의 경력을 가지고, 2년차 이상 경력자 구인, 불가피한 경우 신입 으로 지원을 해보았다. 그리고, 일을 하면서 많은 관심이 생긴 Commerce 분야에 집중하여 지원을 하였다.

  • 샌드버드(2년 이상 경력자) Backend : 서류 탈락
  • 컬리(5년차 이하 경력자) Backend : 서류 탈락
  • 네이버 파이낸셜(1일 이상 경력자) Backend : 서류 탈락
  • SK ICT 신입 : 서류 통과 -> 코테 1차 통과 -> 2차 탈락
  • 오늘의집 : 서류통과 -> 코테 탈락
  • 브랜디 (3년 이상 경력자) : 서류 통과 -> 코테 통과
  • 엘리스(2년 이상 경력) : 서류 통과 -> 과제 불참
  • 토스 : 서류 통과 -> 과제 불참
  • 라인 2022 상반기 신입공채 : 서류통과 -> 코테통과 -> 필기테스트 통과
  • 요기요(2년 이상 경력) : 서류통과 -> 코테통과

솔직히, 일을 하면서 코테를 준비할 여력도 없었고, 내가 싸피에서 공부했을 때보다 코테 실력이 떨어진 것을 스스로도 알지만 그냥 깡으로 봤는데 운좋게도 오늘의 집을 제외하면 원하는 코테는 대부분 통과하였다. 내가 생각해도 어떻게 통과했는지 의문이다..

그리고, 과제 테스트 가 있는 기업들은 개인적으로 다른 회사를 준비하는데 병행하면서 같이 하기에는 너무 버거워서 다 불참을 선택하게 되었다.

면접과 합격

지원은 10개 회사를 했으나 최종적으로 면접까지 도달한 것은 3개의 회사 ( 브랜디, 라인, 요기요 ) 였다.

면접준비로 내가 만든 포트폴리오를 되돌아보면서 이 포트폴리오를 보면 어떤 것이 궁금할까 되물어가면서 그에 따른 기술적 질문들을 준비하고, 기본 개발 상식들을 되짚는 형식으로 공부를 하였다.

  • 브랜디 - 1,2차 면접 최종합격
  • 요기요 - 면접 최종합격
  • 라인 - 1차 탈락
    • 라인 면접은 Java에 대해 집중적으로 물었다. 하지만, 나는 Java는 잘 모르지만, 제가 사용한 Python은 이렇게 작동합니다로 모든 대답을 하였는데, 면접관들 모두가 Python을 잘 모르는 상태여서 운이 나빴기도 하고, 내가 라인같은 경우는 신입으로 지원을 한 것이기 때문에 "지금까지 해온 것들을 중점적으로 말하면서 현재는 Java는 잘 모르지만, 충분히 가서 Java를 익히면서 일을 할 수 있는 사람입니다." 를 어필하는 전략을 가지고 갔는데 잘 먹히지는 않은 것 같다.

최종 결과 보고

  • 최종적으로 나는 요기요 Python Backend 직무로 이직을 하게 되었다. 요기요를 선택한 이유는 다음과 같다.
    • Java 개발자로 내가 원한다면 충분히 커리어 체인지를 할 수 있는 회사라는 판단
      • 요기요는 원래 Python 으로 국내에서 가장 큰 회사였지만, 최근 Python 개발 인력을 구하기 힘들어짐에 따라 Java 개발자 채용과 신규프로젝트들을 Spring으로 시작하고 있다는 소리를 들었다. 그래서 내가 Python 개발자로 입사를 하고는 있지만, 회사에서 Java와 Python 두 언어를 사용하고 있기 때문에 Java 관련해서도 followup 이 가능할 것이라고 생각했고, 내가 제대로 Backend로써 성장하고 일을 하고 있다면 1~2년 쯤 뒤 미래에 Java Backend 로써 직무전환도 가능하지 않을까라는 막연한 기대를 가졌다.
    • 유서 깊은 코드리뷰 문화와 문서화
      • 이전부터 요기요라는 회사는 코드리뷰가 굉장히 잘 정착되어있다는 소리를 많이 들었다. 그렇게 자랑하는 코드리뷰 문화는 실제로 어떻게 운영되고 있는지 알고 싶었고, 코드리뷰나 문서화가 잘되어있는 환경이 내가 추구하는 간접경험을 하기 좋은 환경이라고 여겨졌다.
    • Backend로써 집중할 수 있는 커리어
      • 지금까지는 이것저것 다 하는 잡부로써 일을 해왔지만, 내가 진짜 고민하고 싶었던 진짜 Backend 직무 경험을 할 수 있다고 판단했다.

경력자도 아니고, 신입도 아닌 약간 애매모호한 경계속에서 새 출발을 하게되는 것 같은데, 최선을 다해 새로운 환경에 적응하고 성장해볼 생각이다.

profile
함께 성장하고 싶은 백엔드 개발자

3개의 댓글

comment-user-thumbnail
2022년 7월 29일

제가 가지고 있던 스타트업 환상이 많이 깨지는 느낌이네요... 취직을 스타트업 위주로 하려 했는데 생각이 많이 바뀌게 되는 느낌입니다. 좋은 글 감사합니다

1개의 답글
comment-user-thumbnail
2024년 1월 7일

안녕하세요. 코테를 많이 보셨는데, 그럼, 언어는 선택 사항인가요? 아니면 정해져 있나요?

답글 달기