본문 바로가기

잡담/개발일지

솔루션 업체 개발자에서 교육 스타트업으로 이직 회고(with. F-Lab 멘토링)

▶ 들어가며

코로나 때문에 불안한 취업 시장에서 퇴사와 이직을 결심하고 그 끝에 만족스러운 결실을 맺은 올해 상반기는 인생에서 가장 보람찬 시간이었다고 생각 든다. 

솔루션 업체에서 신입 개발자로 시작해  F-Lab 멘토링(에프랩 멘토링)을 받아 교육 스타트업으로 이직한 나의 이야기를 공유해보려고 한다. 

 

 

▶ 전 직장은 어땠나?

어린 시절부터 컴퓨터를 가지고 노는 게 재밌고 흥미가 많아서 자연스럽게 전공 또한 컴퓨터 쪽으로 갔다. 그리고 첫 직장을 QoS 솔루션과 보안 관제 플랫폼을 제공하는 업체의 개발자로 취업했다. 자바와 스프링을 사용하고 Mybatis, Elasticsearch 등의 기술을 사용했다. 그리고 업력이 꽤 오래되었고 그만큼 코어 엔진의 기술력을 가진 회사였다. 매출도 지속적으로 성장하고 나름 안정감이 있다고 느꼈었다.

입사하고 나서 내부적으로 변화하려는 시도가 많았다. 없던 복지가 생기거나 전사적으로 연봉을 올리는 등등.. 처음에는 만족스러웠다. 기존보다 더 나아지는 느낌을 받아서 그런가? 

 

하지만 연차가 쌓이면서 고민이 많아졌다. 요구 사항이 정리된 엑셀과 ppt로 되어 있는 화면 정의서를 기반으로 기능을 똑같이 만들어내는 데에 집중했고, 어떠한 방식으로 개발할지 큰 고민 없이 생각의 흐름대로 개발하는 시간이 많았었다. 그리고 코드 리뷰가 없는 환경이라 내가 작성한 코드가 올바른 건가에 대한 확신을 가질 수가 없었다. 성장을 통해 더 높은 급여를 받고 싶기도 했다.

 

이런 상황을 극복하려고 나름대로 개발 공부와 사이드 프로젝트를 진행했지만 불규칙한 회사 일정과 병행하니 제대로 할 수 없었고 무엇보다 내가 작성하는 코드가 맞는지? 더 나은 방법은 없는지? 올바른 방향인지를 알 수 없었기에 너무 막막했다. 즉, 사이드 프로젝트를 해도, 공부를 해도, 코드를 작성해도 성장에 큰 도움되지 않는 것이었다. 

 

이러한 상황에서 나는 엄청난 현타(?)가 왔고 진짜 제대로 된 개발자로 성장하려면 어떻게 해야 하지? 국내 최고라고 하는 네이버, 카카오를 다니는 개발자는 뭐가 다른 걸까?라는 궁금증과 성장 욕구가 찾아왔다.

 

 

▶ F-Lab 멘토링 서비스

나의 성장 욕구를 어떻게 채울까 고민을 하다가 네이버나 카카오 등 좋은 기업에서 개발자로 일하는 사람에게 돈을 지불하고서라도 과외를 받고 싶었다. 하지만 관련 인맥이 전무했기 때문에 구글에 개발자 과외, 멘토링 등등을 검색하다가 우연히  F-Lab 멘토링 서비스를 보게 됐다.

 

F-Lab의 가장 큰 특징은 단순한 개발 강의가 아닌 올바른 방향성을 제시해준다는 것이었다. 그리고 프로젝트 진행 시 코드 리뷰를 상세히 해준다는 것, 기술 면접 형태의 질문을 통해 깊게 공부했는지 검증해주는 것이 내가 공부한 것에 확신을 가질 수 있는 느낌이어서 매력적이었다.   

사실 방향을 제시해주는 것은 어떤 개발자든 할 수 있다고 생각한다. 다만 한 기업에서 더구나 네이버라는 기업에서 우수한 고과를 낸 개발자의 방향은 남다를 것이라 생각했다.

 

 

그래서 나는 멘토링 서비스 1:1 상담을 신청했고 구글 Meet으로 대표 멘토님과 많은 이야기를 나눴다.

 

 

▶ 나의 밑천을 느낀 상담 시간

대표 멘토님과 상담하면서 나의 상황과 왜 멘토링을 하려고 하는지에 대해 설명하고 F-Lab 멘토링은 어떤 것인지에 대한 대화가 오갔다. 그러다가 대표님이 나에게 왜 국내에서는 자바를 많이 쓸까요? 하는 질문을 하셨는데 머리를 망치로 맞은 느낌이었다. 자바를 사용하면서 단 한 번도 생각해본 적이 없는 질문이었다. 이어서 자바의 Inner Class는 왜 있고 어떠한 경우에 사용할까요?라는 질문도 들었다. 역시 대답하지 못했다.

 

사실 자바를 사용하기에 앞서 왜 자바가 태어났고 자바에 나타나는 여러 특징들이 어떠한 문제를 해결하기 위해서 존재하는지 고민을 해보지도 않았고, 하려고 하지도 않았었다. 스스로가 얼마나 생각 없이 개발을 해왔는지 알 수 있는 시간이었다.

 

그렇게 멘토링을 받아보기로 결심했다.

 

 

▶ 퇴사를 결심한 계기

멘토링 비용이 상당히 큰 금액이고 코로나 시국이라 안정적으로 회사를 다니면서 병행하려고 했다. 하지만 멘토링을 두 번 받고 보니 만 2년간 다닌 회사에서 성장한 것보다 두 번의 멘토링이 개발자로서 훨씬 큰 성장을 했다고 느껴졌다. 

 

F-Lab 멘토링은 멘토링을 시작하기 전에 이론 공부를 하고 공부한 것을 바탕으로 멘토님이 기술 질문을 이어가는 형태이다. 그래서 나는 첫 단계인 자바에 대해서 이론 공부를 해갔었고 공부하는 과정에서도 자바에 대해서 몰랐던 부분이 매우 많았었구나를 느꼈다.

 

멘토님은 자바에 녹아있는 객체 지향적 특성을 철학적으로 이해하고 실제 현업에서는 이러한 특성을 어떻게 녹여내고 있는지를 얘기해주셨다. 그리고 자바는 객체 지향 언어인데 자바 8에서 추가된 핵심 기능은 함수형 프로그래밍이다. 왜 객체 지향에 함수형을 녹여냈을까? 와 같은 현재 기술의 패러다임을 읽어야 답할 수 있는 질문들을 하셨다. 

 

위의 질문 이외에도 얘기를 하면서 느낀 건 확실히 개발을 바라보는 관점 자체가 다르다는 것이었다. 정말 좋은 개발자로서 성장하고 싶으면 개발을 어떻게 대하는 것이 좋은지,  어떠한 관점으로 바라보는 것이 좋은지 느낄 수 있는 시간이었다. 

 

그렇게 나는 퇴사하고 모든 시간을 멘토링에 몰두하면 내가 기대하는 개발자로 성장할 수 있겠다는 확신을 가져 퇴사를 결심했다.

 

 

▶ 6개월간 멘토링 과정

이제 퇴사도 했겠다 내가 그토록 바랬던 성장을 위해 달릴 시간이다. 첫 5주간은 프로젝트를 위한 초석을 다지기 위해 이론을 위주로 공부했다. 자바, 서블릿, 스프링을 공부하면서 멘토링 시간마다 기술 질문을 해주셨고 어떤 포인트가 중요한지 질문을 통해 깨닫는 시간이 많았다. 그리고 이력서 피드백도 받으면서 나의 경험 중 어떤 부분을 어필하는 게 좋은지, 면접관 입장에서 이력서를 보고 질문할 부분이 어떤 부분인지 알 수 있었다.

 

사실 이론 공부를 하는 시간이 매우 힘들다고 하지만 나는 오히려 재밌었다. 내가 지금까지 알고 있던 부분은 새발의 피에 불과하다는 걸 깨닫고 이 부분에서 이러한 질문을 하지 않을까?라는 예측을 하면서 스스로 생각하는 시간이 좋았다. 가끔 가다가 현업에서 일어났던 썰도 풀어주시는데 굉장히 재밌었다.

 

최소한의 이론 공부를 하고 나면 프로젝트 주제를 선정하는데 자기 팀원과 어떤 주제로 할 것인지 커뮤니케이션을 통해 정해야 한다. 이 과정에서도 서로 다른 견해를 가진 팀원과 이야기하면서 주장하고 설득하고 뜻을 맞춰나가는데 상당히 좋은 경험이었다. 개발자는 다른 포지션의 사람들과 협업하는 경우가 많은데 그런 경험을 간접적으로 할 수 있었기 때문이다. 

아쉬운 얘기지만 나의 팀원은 개인 사정으로 프로젝트 주제 선정 후 멘토링을 그만뒀다.

 

주제를 선정하고 프로젝트를 진행하는데 그 과정에서 매우 매우 많은 일이 있었다. 내가 결정한 모든 선택에는 합당한 이유가 있어야 하고 극한의 상황을 부여하고 그 상황을 어떻게 해결할 것인지 등등 혼자서는 하기 힘든 경험을 할 수 있었다. 있었던 일을 다 나열하면 글이 늘어질 것 같아서 F-Lab 멘토링의 Github 주소로 대체하겠다.

 

F-Lab Github -> F-Lab 멘토링에서 진행하는 모든 프로젝트가 공개되어 있으니 한 번 보는 것도 괜찮다.

 

 

▶ 첫 구직 활동

원래 나는 6개월의 멘토링 기간 동안 구직 활동을 할 생각이 없었다. 스스로 많이 부족하다고 생각했고 6개월 전부를 온전히 멘토링에 집중하여 역량을 최대한 끌어올린 상태에서 지원하고 싶었다. 하지만 멘토님이 멘토링 시작한 지 3개월 조금 덜 되었을 때 네이버 파이낸셜 경력 공채에 지원해보라고 권유를 하셨다. 충분히 해볼 만하다고 격려를 해주셨고 난 그 말에 힘을 얻어 도전을 했다.

 

지원서 작성부터 난관이었다. 경험한 프로젝트 중에서 어려움을 어떻게 개발자답게 극복했는지 작성하라는데 뭘 적어야 하는지 감이 잡히지 않았다. 나는 고심 끝에 F-Lab 멘토링에서 진행하고 있는 프로젝트 일부분을 쓰기로 결정했다. 아직 진행 초기였지만 기술적인 문제를 해결해야 하는 상황이 있었고 그 문제를 극복하기 위해 조사를 했던 과정이 충분히 어필될 수 있겠다고 판단했다.

 

그리고 코딩 테스트를 코딜리티로 봤는데 특이하게 경력 공채라 그런지 문제가 어렵지는 않았다. 나는 그 어렵지 않은 문제를 시간 때문에 다 풀지 못했고 결론적으로 3문제 중 2문제만 풀었었다. 이때 나는 문제가 어렵지 않아서 다 풀지 못하면 탈락하겠거니 했다.

 

하지만 예상외로 1차 면접을 보자는 연락이 왔고 난생처음 큰 기업의 면접에 참여하게 되었다. 

 

 

▶ 네이버 파이낸셜 면접

처음으로 큰 기업의 면접을 보는 거다 보니 엄청 긴장했었다. 면접 후기를 검색해가며 어떠한 분위기일지 머릿속으로 그려가며 연습했다. 그렇게 첫 면접을 원격 화상으로 진행했고 면접관들의 기술 질문에 대부분 답하고 모르는 것은 모른다고 얘기하고 나름 잘 대처한 것 같았다. 확실히 주도적으로 설계 및 개발한 것에 초점을 맞춰 질문하셨고 나의 F-Lab 프로젝트를 기반으로 한 꼬리 질문이 쏟아졌었다. 

 

면접을 본 후에는 뭔가 많이 아쉬웠다. 내 역량을 더 보여줄 수 없었다는 것, 답을 하지 못했던 질문을 다시 생각해보니 알고 있는 부분이었다는 것, 좀 더 조리 있게 대답하지 못한 것 등등. 그래서 그런지 합격하겠다는 확신이 서지 않았다. 그래서 면접날 있었던 질문을 복기하며 다음 기회에 더 잘해야겠다 생각하고 있었는데 1차 합격을 하고 최종 면접을 보자는 연락이 왔다.

 

1차 면접을 본 것만 해도 나에게는 뜻깊은 경험이었는데 합격하고 최종 면접까지 오니 너무 얼떨떨했다. 멘토링을 통해 많이 성장했던 게 빛을 발하는 게 아닌가 싶었다.

 

네이버 최종 면접은 조금만 검색해봐도 알겠지만 면접관에 따라 매우 달라지고 준비한다고 해서 할 수 있는 면접에 아니라고 말하곤 한다. 나의 최종 면접 또한 그랬다. 기술 면접이었지만 실무에서 일어날 법한 문제 상황을 제시하고 CS를 기반으로 어떻게 풀어 나가는지 보려고 한 면접 같았다. 나는 최선을 다했지만 면접관의 의도에 맞는 대답을 잘하지 못해서인지 결국 탈락하고 말았다.

 

한 편으로는 아쉽지만 한 편으론 정말 좋은 경험이었다. 멘토링이 아니었다면 도전이란 걸 생각할 수 있었을까?

 

 

▶ 첫 도전, 그 후

비록 최종 합격을 얻지 못했지만 다른 방면에서 얻은 것이 많은 도전이었다. F-Lab 멘토링을 하면서 기술 질답은 어느 정도 커버가 됐었는데 면접관과 상호작용을 하면서 문제를 해결해나가는 부분이 많이 부족하단 걸 알게 됐다. 그리고 너무 정답을 찾으려고 했던 게 오히려 독이 되었던 게 아닌가 싶다. 

 

예를 들어, 손흥민이의 팔로워 수가 500만이고 손흥민이 글을 쓸 때 모든 팔로워에게 알림을 보내는 시스템을 개발할 때 발생할 수 있는 문제가 무엇이고 어떻게 해결할 것인가? 와 같은 질문을 받으면 무조건 정답을 생각하기보다 스텝 바이 스텝으로 발생할 수 있는 문제를 생각해보고 면접관에게 얘기를 하고 생각하는 방향이 맞는지? 맞다면 문제 해결을 위해 어떤 방법들이 있는지 고민하고 정 모르겠으면 물어보면서 정답을 이끌어 낼 수 있었을 거라 생각한다. 하지만 나는 정답만 찾으려 했기에 결국 찾지 못하고 '잘 모르겠습니다.'라는 대답을 했었다. 

 

앞으로는 면접관을 적극적으로 이용(?)해서 면접을 이끌어 나가야겠다를 느꼈다. 이 부분이 실제 현업에서도 크게 작용하는 게 내가 현재 직면한 문제가 무엇인지 인지하고 이것을 해결하기 위해 다른 사람들과 커뮤니케이션을 통해 함께 풀어나가는 것이 중요한데, 나의 문제가 무엇인지도 모르고 다른 사람과 커뮤니케이션을 통해 풀어나가지 않으면 기업 입장에선 굉장히 큰 병목이 된다.

 

나의 부족한 부분이 무엇인지 체감하며 첫 도전은 마무리되었다.

 

 

▶ 계속되는 도전

네이버 파이낸셜 면접을 보고 난 후 나는 자신감을 얻었다. 예전보다 성장한 나는 실제 채용 프로세스가 어떻게 흘러가고 기술 질문이 어떤 식으로 나오겠다에 감을 잡기 시작했다. 그래서 다른 기업의 면접도 보고 싶었다. 그래서 국내 IT 기업 여러 회사에 지원을 했었다.

 

그중 기억에 남는 면접이 야놀자와 하이퍼커넥트 기술 면접이었다. 개인적으로 네이버 기술 면접보다 어렵다고 느껴졌다. 기술 질문의 깊이가 달랐고 특히나 데이터베이스 쪽 질문이 어려웠다. 그래도 멘토링과 학습을 통해 깊이 공부한 탓인지 몇 개의 질문 빼고는 다 대답했었다. 인상적이었던 질문이 두 개가 있었는데 하나는 기술적 문제를 해결하기 위한 설계가 또 다른 단점을 불러올 수 있는데 그 부분을 파고드는 질문이었다. 

 

내 프로젝트에서는 세션 관리를 위해 Redis를 사용했었는데 Redis로 글로벌하게 운영하면 단일 실패점이라는 문제가 생길 수 있다. 이 문제를 해결하기 위해 Redis 센티널 클러스터를 구성하거나 Sharding을 적용시켜 분산 처리하는 방법이 있었는데 이 방법도 Sharding 확장을 할 때 Sharding 된 데이터를 어떻게 다시 분배시킬 건가의 문제가 있다. 기술적인 문제를 해결하기 위해 적용했던 방법이 또 다른 문제를 낳고 꼬리에 꼬리를 무는 구조가 나타났는데 이러한 질문을 면접에서 받으니 굉장히 난해했다. 

 

두 번째는 나의 개발 성향(?)을 묻는 질문이었다. 내가 테스트 코드를 짤 때 최종적으로 목표하는 게 무엇인지? 그러면 그 반대로 짜는 테스트 코드는 의미가 없는 코드인지?처럼 내가 개발할 때 어떤 것을 중요하게 생각하는지, 우리 회사의 성향과 잘 맞는지 파악하는 질문이었다. 나는 또렷한 주관으로 대답을 했고 내 주관이 야놀자와 맞지 않았는지 아니면 기술적인 부분에서 부족함을 느꼈는지 떨어지게 되었다.

 

그렇게 여러 회사에 지원하며 면접을 보고 탈락하고를 수 없이 반복한 끝에 최종 합격한 회사가 나타났다.

 

 

▶ 최종 합격과 오퍼 그러나 거절

최종 합격 소식을 전해준 회사는 이스트소프트의 줌인터넷 백엔드 개발자 포지션이었다. 국내에서 네이버와 다음처럼 포털 서비스를 하고 있는 서비스 회사라 나에게 너무나 좋은 기회였다. 하지만 합격 후 처우 협상을 진행하면서 내가 원했던 연봉과 회사에서 제시할 수 있는 금액이 차이가 나서 세 번의 협상 끝에 입사를 포기하겠다고 전달했다. 

 

면접 과정에서 나의 역량을 충분히 보지 못해서인지 내가 만족할만한 수준의 처우를 제시해주지 못했고 나 또한 최소한으로 받고 싶은 금액이 존재했기 때문에 고심 끝에 결정을 내렸다.

 

이때 나는 6개월간 멘토링이 끝난 시기였고 퇴사한 지 7개월이 되던 시기라 금전적으로 쪼들리는 상황이었다. 그리고 줌인터넷은 개발자로서 커리어 쌓기가 매우 매력적인 도메인이었기 때문에 정말 고민이 많았다. 제시해준 금액이 이전 직장과 비교하면 40퍼 넘는 인상폭이라 나쁘지 않다고 생각했지만 전 직장 연봉이 워낙 낮았던(만 2년 차에 2천 후반대..) 것도 있고 멘토님이 좀 더 높은 금액을 충분히 받을 수 있다고 말씀해주시기도 했고 나도 좀 더 도전을 하고 싶었다.

 

그렇게 오퍼 거절 의사를 표현하고 구직 활동을 이어갔다.

 

 

▶ 대표 멘토님으로부터 온 제안

오퍼 거절 후 다른 회사에 계속 지원하던 중 갑자기 멘토님으로부터 채용 제안이 들어왔다.

F-Lab이 성장하면서 개발자를 빠르게 채용할 필요가 있는데 관심이 있으면 같이 하자고 제안해주셨다.

 

솔직히 금전적으로 풍요로운 것도 좋지만 개발자로서 성장을 매우 갈망했다. 그래서 그런지 같이 일할 구성원들의 수준이 높았으면 좋겠다고 계속 생각했다. 

 

그리고 나를 움직인 한마디는

이런 리더와 같이 일을 하게 되면 폭풍 성장을 할 수 있겠다고 생각했다. 그리고 내가 받았던 멘토링 서비스를 직접 운영하는 경험을 할 수 있다는 것이 동기 부여 측면에서도 크게 작용할 것 같았다. 나와 비슷한 상황에서 성장을 원하지만 올바른 방향을 몰라 주저하는 사람들에게 힘이 되어 주고 싶었다.

 

그렇게 나는 멘토님의 제안을 수락하고 F-Lab의 소프트웨어 엔지니어로 입사하게 되었다.

 

 

▶ 마무리

솔루션 업체에 취업해서 신입으로 지냈던 시절부터 퇴사와 F-Lab 멘토링으로 스스로 성장하는 법을 배운 지금 나는 정말 많은 성장을 했고 동시에 앞으로 더 많은 성장 거리가 존재하다는 것도 느낀다. 새로운 직장에서 훌륭한 동료들과 함께 성장하면서 쉼 없이 달리려고 한다.

 

올해 상반기는 씨앗을 뿌려 성장 속에 뿌리내리기를 기다리는 날이었으며, 하반기에는 싹이 트고 멋진 잎을 피우기를 기다리려 한다.

 

나처럼 좋은 개발자가 되고 싶은데 어떻게 해야 할지 모르겠거나

개발자로서 성장 욕구가 있지만 올바른 방향을 못 잡겠다던가

개발 문화가 좋은 직장으로 이직하고 싶은데 구체적인 방법을 모르는 사람이 있을 수 있다.

 

방법을 찾는 데 여러 가지가 있겠지만 F-Lab 멘토링도 하나의 방법이 될 수 있다고 생각해서 

F-Lab 멘토링에 대해서 고민하고 있거나 궁금한 점에 대해 나에게 물어보면 철저히 이용자 관점에서 경험 기반으로 얘기해주려고다.

 

liasn@naver.com