본문 바로가기
생각정리

6) 3번째 직장에 오기까지 - 6. 세번째 직장

by 향로 (기억보단 기록을) 2018. 6. 26.
반응형

5명의 개발자로 이루어진 팀이 되었습니다!

파워레인저

다행히 사수로 오신 2명의 차석/선임 개발자분들은 팀내에서 가장 오래(?) 근무했던 저를 존중해주셔서 회사 생활 하는데 크게 어려움은 없었습니다.

다만 한가지 아쉬운 점은 있었습니다.

테스트 코드와의 만남

당시에 운영 중인 프로젝트를 보면 정말 배울게 많았습니다.

  • 대규모 트래픽 처리
  • API서버, DB등 다른 모든 서버가 다 죽어도 운영되는 캐시 처리
  • 페이지 로딩 속도 최적화 및 분석
  • 회원의 인증/보안 처리
  • 광고 플랫폼을 위한 정적 파일 처리

등등 웹 서비스 전반의 내용들을 심도 있게 다뤄볼 수 있었습니다.
비중이 백엔드 보다는 프론트엔드 (JS, 브라우저 등)에 좀 더 초점이 맞춰져있긴 했지만, 그래도 좋았습니다.
어떤 문제를 해결하기 위해선 꼭 한가지 방법만 있는게 아니라는걸 배울 수 있었습니다.

다만, 테스트 코드가 전혀 없었습니다.
입사 초기에는 잘 몰랐습니다.
첫 회사, 두번째 회사 모두 테스트 코드에 대한 이야기가 전혀 없었기 때문에 테스트 코드란 존재를 알지 못했습니다.

그러다 여러 커뮤니티에 참여하면서 테스트 코드, TDD에 대한 이야기를 조금씩 듣게 되었습니다.
온라인/오프라인 커뮤니티에서 계속 "테스트 코드를 작성해야 한다", "TDD를 시작해야 한다" 는 이야기 들리자 환상이 생겼습니다.

인터넷과 책에서 나온 내용을 보고 좋은건 알겠는데, 이걸 도대체 어떻게 시작해야할지 감이 전혀 잡히지 않았습니다.
책에서 나오는 예제들은 전부 간단한 프로그램을 예제로 두는데, 실제 웹 어플리케이션에선 어떻게 작성해야 하는지 누가 속시원하게 알려줬으면 좋겠다는 생각이 들었습니다.

간단한 유틸성 메소드에만 테스트 코드를 작성하기 시작했지만 갈증은 계속 남아 있었습니다.
TDD와 단위 테스트 코드 작성의 차이도 모르던 때라 지금 하고 있는게 잘 하고 있는지 조차 몰랐습니다.
그러던 중, 페이스북에서 하나의 광고를 보게 됩니다.

자바지기

자바지기 박재성님께서 TDD, 테스트 코드, DI 프레임워크 만들기, HTTP 웹서버 만들기 등 제가 그동안 궁금했던 모든 내용을 알려주는 강의를 시작하신 것입니다!

강좌 후기를 기록했습니다.
궁금하신 분들은 참고 해보세요!

당시 강의료는 160만원 이였던걸로 기억합니다.
회사에서 교육비 지원이 없어 사비로 내야 했지만, 시간을 산다라는 개념으로 봤을때 전혀 아까운 돈이 아니여서 돈으로 고민이 되진 않았습니다.
하지만, 매주 화/목 저녁에 강의를 들으러 갈 수 있을지가 고민이였습니다.

야근이 잦아 시간을 낼 수 있을까 싶었습니다.
하지만, 2기때 혹은 그 다음 기수때는 야근이 적을까? 라고 물어보면 또 그건 아니였습니다.
평일 강의를 듣기 좋은 날은 없다는걸 깨닫고 바로 결제 했습니다.

강의 신청을 하고, 팀 분들께 수강을 시작했다고 공유했습니다.
유난떤다고 생각하실수도 있지만, 매주 화/목은 강의로 야근이나 회식을 못한다는 것을 사전에 공유해야한다고 생각했기 때문입니다.

강의 내용은 정말 마음에 들었습니다.
그 동안 잘못 알고 있었던, 몰랐던 내용들을 전반적으로 다 배울 수 있었습니다.
이 강의를 기준으로 운영하는 프로젝트에 하나씩 테스트 코드를 추가하기 시작했습니다.
그리고 팀 분들께도 프로젝트에 적용한 테스트 코드를 하나씩 소개드리면서 점진적으로 테스트 코드 작성을 팀에 전파하게 되었습니다.

1기가 끝나고 2기가 시작할때 후임분들께 강력 추천하여 2분이 2기를 수강하셨고, 2분다 이 강의로 한단계 레벨업 하실 수 있게 되었습니다.

탈진

강의를 듣는 기간과 브라질 리우 올림픽 준비 기간이 겹쳤습니다.
어떻게든 강의를 빠질수는 없다고 결심했기 때문에 월/수/금 야근과 주말 출근을 하며 일을 처리 했습니다.
그렇게 리우 올림픽 준비와 강의 수강을 같이 하던 하던 중, 아무것도 하기 싫은 때가 왔습니다.

탈진이라고 할까요?
더이상 일도 하고 싶지 않고, 강의도 들으러 가고 싶지 않았습니다.
그 날은 퇴근 하고 바로 집으로 갔습니다.
교통이 막히지 않는 지하철을 항상 타고 갔었는데 그날만큼은 버스를 타고 싶었습니다.

이유는 잘 모르겠습니다.
그냥 버스 창문 밖을 보면서 가고 싶었습니다.
버스에 앉아서 창가에 머리를 기대고 가는데 이 생활을 언제까지 해야하나 란 생각이 들었습니다.

심야버스

회사의 일이 많아서 지친건 아니였습니다.
성장 없이 소모만 되는 일을 언제까지 해야하는 건가에 대한 회의감 때문이였습니다.

저는 회사의 일에 2가지 타입이 있다고 생각합니다.
하나는 제 자신을 채우는 일이고, 하나는 소모만 하는 일입니다.
소모되는 것인지, 채우는 일인지 기준은 제가 성장하는 느낌을 받았냐 아니냐로 구분합니다.

서비스 특성때문인지, 회사 특성 때문인지 모르겠지만, 드라마틱하게 트래픽이 증가할 일이 없었습니다.
올림픽, 월드컵, 선거 등 국내의 큰 이벤트가 있더라도 증가할 트래픽은 허용 범위 내에서만 발생하고, 조회성 요청이 대부분이라 캐시로 다 처리되고 있었습니다.

그러다보니 성능 테스트나 아키텍처를 변경할 일이 없었고, 기술적 도전 보다는 UI를 변경하는 것이 대부분이였습니다.

누군가는 저런 큰 이벤트를 치뤘으니 "이력서에 쓸게 많겠다", "실력 많이 늘었겠다" 라고 생각할 수 있지만 실상은 전혀 그렇지 않았습니다.
단발성 이벤트를 위해서 백엔드 구조가 변경될 일은 없기 때문입니다.

잦은 국내 이벤트로 인해 이벤트 페이지 만들 일만 엄청 많은 반면, 서버쪽 코드를 작성할 일이 전혀 없었습니다.
하는 일이라곤 마크업 개발자분이 건네주신 화면에 뷰 템플릿엔진과 JS를 조합하는 일 뿐이였습니다.
물론 외부 언론사/방송사 API, 검색팀의 API 에 맞춰 서버 코드도 짜긴 했습니다.
하지만 JSON 스펙이나 캐시 스펙만 변경되는 것이지 거의 대부분이 비슷한 일들이였습니다.

느낌이 쎄했습니다.
첫 직장에서 100억 프로젝트에 참가했을때와 비슷한 느낌이였습니다.
규모는 크지만, 실력 향상에 크게 도움이 안되는 일을 하는것 같은 느낌이라고 할까요?
그 느낌이 계속 제 머릿속을 지배했습니다.

더 큰일은 더이상 제 코드를 리뷰해줄 분이 없다는 것이였습니다.
팀에서 맡고 있는 서비스가 많다보니, 개인별로 담당하는 프로젝트가 2 ~ 3개였습니다.
그러다보니 도메인, 프레임워크 등이 모두 달라 각자의 코드를 봐줄 수 있는 상황이 아니였습니다.

열심히 달려왔더니 혼자 외딴 섬에 있는 듯한 느낌이였습니다.

다시 밤 산책을 하는 날이 많아졌습니다.

이직고민산책

두번째 이직 준비

어떻게든 리우 올림픽을 마무리 짓고 연차로 집에서 쉬던 중, 페이스북으로 하나의 메세지를 받게 됩니다.

페이스북메세지1

메세지를 보내주신 분의 이름을 보고 깜짝 놀랬습니다.
그동안 책이나 Naver Deview, Spring Camp 와 같은 세미나 발표를 통해 멀리서나마 뵙던 연예인 개발자분이 연락을 주시다니!
특히 같이 일하던 후임분들께 꼭 읽어봐야한다고 책을 추천하고 있었던터라 더더욱 놀랬습니다.

신기한 마음으로 대화를 계속 이어나갔습니다.

페이스북메세지2

페이스북메세지3

메세지 그대로 정말 영광이였습니다.
제 공부와 만족을 위해서 시작한 블로그를 보고 계시는 것도 놀랍고, 그걸 보고 직접 이직 이야기를 해주신건 더더욱 놀라운 일이였습니다.
하루 하루 남긴 기록이 얼마나 큰 효과를 주는지 깨달은 날이였습니다.

당시에 고수 개발자 분들이 계속 그 회사로 모여들던때라 관심을 갖고 있었습니다.
도대체 어떤 회사길래 저런 분들이 다 모이시는거지? 란 생각을 하던차에 연락을 받게 되어 기회라고 생각했습니다.

현재 내 실력이 얼마나 되는지, 얼마나 부족한지, 어떤게 부족한지 등등을 객관적으로 판단해볼 수 있는 기회라고 생각했습니다.
그래서 회사에 퇴사 이야기를 어떻게 할지 말지는 고민하지말고, 일단 시도해보기로 했습니다.

경력 이력서 작성이 서툴러서 감을 못잡고 있을때 다행히 연락을 주신 개발자분께서 이력서 첨삭을 해주셨습니다.

참고로 연락을 주신 분이 이후에 제 팀장님이 되셨습니다.

피드백

이렇게 피드백을 주고 받으면서 이력서를 개선했습니다.
그리고 총 10번의 피드백을 받아서 제출할 수 있었습니다.

다 쓰고나서 보니 이력서가 잘 정리된 것 같아서 앞으로도 이 이력서를 기준으로 계속 개선하면 되겠다라는 생각이 들었습니다.

확실히 6개월 혹은 1년에 한번씩은 이력서 갱신이나 면접을 다니면 좋은것 같습니다.
자기 자신을 되돌아볼 수 있는 가장 명확한 방법인것 같습니다.

다행히 서류를 합격하고, 코딩 테스트 메일이 왔습니다.
코딩 테스트의 경우엔 크게 부담이 없었습니다.
Codility로 치뤄지는데, Codility는 6개월 마다 시험을 치면서 익숙한 상태였기 때문입니다.

너무 어려운 문제만 아니였으면 좋겠다란 마음으로 시험 후기를 검색하던 중, Java 코드 작성하는 문제 3개와 SQL 쿼리 작성하는 문제가 1개가 나온다는걸 발견했습니다.

ORM과 Ehcache로 모든 요청을 처리하다보니 DB 쿼리 작성할 일이 한 달에 1번 될까 말까했기 때문에 SQL은 별도로 공부를 해야겠다고 생각했습니다.

시간이 넉넉하진 않아서 각잡고 공부하기 보다는 예전에 공부했던 감을 살리고자 얇은 책 한권을 샀습니다.
하루 30분 36강으로 배우는 SQL 첫걸음을 읽으면서 준비하였습니다.

내용이 전반적으로 괜찮았습니다.
SQL을 오래 손놓고 계셨던 분들은 한번 가볍게 읽어보시면 감 살리시는데 좋으실것 같습니다.

회사의 큰 작업이 예정 된 상태라 주말에 하지 않고, 평일에 오전 반차를 내고 시험을 치뤘습니다.
생각했던것보다 어렵게 나오지 않아서 무난하게 문제를 풀수 있었습니다.

감은 좋았는데 혹시나 하는 마음으로 불안해하다가 3일만에 코딩 테스트 합격 문자를 받게 됩니다.

코딩 테스트 합격 연락을 받고, 1차 면접 일정이 잡혔습니다.
괜히 면접 다니는 티를 내고 싶진 않아서 연차 내고 면접 보고 싶진 않았습니다.
어떻게 할까 하다가, 마침! Naver Deview 2016 일정이 면접일인 것을 발견했습니다.

세미나 참석후, 적당한 타이밍에 면접 보러가면 되겠다 싶었습니다.
세션 절반 정도만 듣고난 후, 같이간 팀원들 몰래 면접장소로 이동했습니다.

이상하게 면접장에 들어가는데 이전 면접들과 다르게 긴장되진 않았습니다.
안되면 지금 회사 계속 다니면 되지 라는 일종의 Plan B가 있어서 그랬던것 같습니다.

1차면접에선 여러 질문이 오갔었는데요.
면접 질문 유출은 안되기 때문에 기억 나는 1개만 말씀드리면,

  • 본인이 했던 도메인이 우리 회사와 어울리는게 없는데 어떻게 생각하는지 (포털 -> 커머스)

여러분들도 한번 이 질문에 대한 답변을 고민해보시면 좋을것 같습니다.

제 생각을 가감없이 전달드리고 면접을 끝마쳤습니다.
그동안 메일과 전화로 주고 받았던 연예인 개발자분과 잠깐 커피를 마셨습니다.

그 분과 이야기하면서 현재 회사에서 어떤 기술적 도전들이 있었고, 어떻게 해결했는지를 들을수 있었는데요.
제가 백엔드 개발자로서 한단계 더 성장하려면 한번은 꼭 와야겠다는 생각이 들었습니다.

오매불망 결과를 기다리던중, 1차 합격 문자를 받았습니다!

진짜 다왔구나 싶어서 기뻤습니다.
1차와 다르게 최종 면접은 긴장이 됐습니다.
진짜 합격하고 싶었던것 같습니다.

드디어 대망의 최종 면접날!
1시간의 면접이 끝나고 굉장히 실망했던 기억이 납니다.
제가 생각지 못했던 질문에 너무 답변을 못했습니다.

  • 여기와서 최신기술을 쓴다해도 결국 시간이 지나면 그 기술은 옛 기술이 될텐데, 그럼 그때도 이직할것인지?

한번도 생각해본적이 없어서 제대로 답변을 못했던걸로 기억합니다.

만약 이직 사유가 레거시, 오래된 기술 때문이라면 저 질문에 대해 본인만의 생각을 꼭 정리해보세요.
저 스스로도 다시 한번 이직에 대해 생각해볼 수 있었습니다.

면접이 끝나고 다시 그분과 커피를 마시면서 면접을 못봤다는 이야기를 드렸습니다.
안타까워 하시면서 "지금처럼 하시면 충분히 좋은데 가실수 있을 것"이란 위로를 받았습니다.

여기까지 온 것만 해도 어디냐는 마음으로 지하철을 탔습니다.
집에 도착한뒤, 좀 더 열심히 준비해야겠다는 다짐을 했습니다.

  • 어떻게 준비해야하는지도 알게 됐고
  • 이력서도 잘 정리하게 됐고
  • 어떤 것들을 고민해야될지도 알게 됐습니다.

다시 차근차근 준비하면 될 수 있겠다라는 알게 모르게 자신감도 조금 생겼던것 같습니다.

최종면접을 치루고 이틀 뒤!
퇴근길에 최종 합격 메일을 받게 되었습니다.

3번째최종합격

너무 신났습니다.
한단계 더 성장할 수 있는 기회가 왔습니다.
신나게 주변 사람들에게 자랑을 하고, 회사에 어떻게 이야기해야하나 고민이 시작되었습니다.

두번째 퇴사

당시 회사에서는 좋은 평가를 받고 있었습니다.
본부 추천의 특진이나 상여금 등을 받기도 했습니다.

반면 이직의 경우 다음과 같은 고민이 있었습니다.

  • 텃세가 있을 수도 있습니다.
  • 회사가 자율적이지 않을 수도 있습니다.
  • 팀장님이 군대식 문화를 가지신 분일수도 있습니다.
  • 회식/행사가 많을 수도 있습니다.
  • 일이 많아 매일 야근할 수도 있습니다.

현재보다 오히려 후퇴할수도 있다는 위험이 있다고 생각했습니다.
전혀 모르는 새로운 회사, 새로운 팀으로 이직 한다는건 그런 것입니다.

그럼에도 새로운 개발환경, 시니어 개발자분들의 코드와 피드백, 백엔드 개발에 대한 욕심들이 더 컸습니다.
설령 저런 문화가 있더라도, 실력이 더 늘 수 있는 기회라면 가야된다라고 생각하게 되니 결심하는데 문제가 되진 않았습니다.

결심엔 오래 걸렸지만 행동은 빨랐습니다.
다음날 바로 팀장님께 이야기를 드렸습니다.

저: 팀장님 저.. 커피한잔 하실까요?
팀장님: 아? 네네
저: 아.. 별건 아닌데요….. 저 퇴사하려구요.
팀장님: 네? 별거 아닌게 아닌데요????
….
팀장님: 이미 다 결심하고 얘기하시는거죠…?
저: 네…

팀장님과는 허심탄회하게 이야기를 나누었습니다.
어떤 것들이 고민이였고, 어떤게 불만족스러웠고, 어떤 꿈을 갖고 이직하는지등등을 다 이야기했습니다.

팀장님과 면담이 끝나고, 본부장님과도 2번의 면담을 진행했지만, 결심이 흔들리진 않았습니다.

두 분과의 이야기를 마무리 짓고, 마지막으로 제가 면접을 봤던 3분께도 공유를 드렸습니다.
화창한 날 오후에 회사 옆 스타벅스로 3분을 불렀습니다.

이미 다들 눈치를 채고 있던 터라 이야기하기가 편했습니다.
회사 이야기, 이직 이야기를 나눴습니다.
아무래도 팀장님, 본부장님 보다는 훨씬 더 편하고 솔직할 수 있었습니다.

같이 일하던 분들께는 모두 공유가 되어 퇴사일 전까지 인수인계 문서를 작성하고, 내용 공유를 계속 진행했습니다.
남겨진 분들을 생각하니 문서를 좀 더 열심히 작성할 수 있었습니다.

마지막 퇴사일에 한명씩 돌아가면서 인사를 나누다가 잠깐 첫 번째 후임분의 모니터를 보게 됐습니다.
그 친구는 메신저로 나눈 저와의 대화를 모두 텍스트 파일로 다운 받고 있었습니다.
퇴사를 하게 되면 사내 메신저에서 대화 기록이 삭제가 되니 이걸 다 저장하던 것이였습니다.

이때, 저 친구는 뭘 해도 되겠구나 싶었습니다.

저와 그 친구의 메신저 대화 속에서 크게 도움 될만한 내용은 없었다고 생각합니다.
워낙 출중한 친구라 제 도움이 필요하지도 않았었구요.
(문제해결능력을 보면 저보다 훨씬 더 뛰어났었습니다.)

그럼에도 저렇게 겸손한 자세였던 것이 저한테는 꽤나 충격이였습니다.
뭔가 이상적인 사내 후임이 있다면 저런 모습인가 싶었습니다.

저 친구를 더이상 못본다는 생각에 조금 아쉽기도 했습니다.

아쉬운 마음을 달래고 2016년 12월 26일,
저는 현재 근무하고 있는 3번째 회사로 첫 출근을 하게 됩니다.

후기

드디어 현 직장에 오기까지의 모든 이야기룰 정리했습니다.
너무 시간을 끄는것 같아서 생략한 내용들이 많은데 이 부분은 기회가 되면 다른 루트로 정리해보겠습니다.

아쉽지만 이 시리즈는 여기서 끝입니다.
아마 현재 회사에서 있었던 일들은 다음? 4번째 회사로 이직하게 되면 또 정리하지 않을까 싶습니다.

개인적으로 가장 좋아하는 책인 프로그래머의 길, 멘토에게 묻다를 보면 가장 뒤떨어진 이가 되라 라는 이야기가 나옵니다.
이직을 언제부터 준비해야할지 모르겠다면 위 격언을 떠올려보시는것도 좋습니다.

이직을 준비하시는 모든 분들이 잘되셨으면 좋겠습니다.
그리고 그 길에 제가 도움이 되었으면 합니다.

다음 기회에 또 뵙겠습니다.
그동안 봐주셔서 감사합니다! :)





반응형