구직 과정 기록(1): 준비하기

앞선 글 “회사를 떠나며”에 이어서. 이직 결심을 굳히고는 이에 대한 준비를 시작했다. 마지막으로 이직을 한 게 2012년의 일이라 준비할 게 많더라.

먼저 이력서를 준비했다. 예전에 투자 받는 준비할 때 마지막으로 수정한 거 끄집어내서 이걸 어디 넣으려니 적당한 포맷이 없더라. 최근 일했던 방식대로 마크다운 문서 하나 만들면 좋겠지만 적어도 아직은 그렇게 하는 사람이 흔할 것 같지 않아서 포기. 그래서 야크 털 깎기의 전통에 충실하게 이력서 작성하기 위한 LaTeX 환경 찾고, 적당한 템플릿 찾는 데 몇 시간 쓰고 그랬다. 사용한 것은 homebrew의 MacTeX을 설치하고, ModernCV 템플릿 받아서 영문은 거의 그대로, 한글 관련된 부분만 조금 수정하고 썼다. 서브 클래스 중에선 banking 을 사용했다. 아래처럼 나온다.

이력서 쓰는 일은 지난한 과정이다. 과거에 했던 일들을 돌아보고 이걸 잘 정리해서 쓰는 것만해도 머리 아픈데, 이전 직장의 영업 비밀을 공개하는 등의 일을 피하려면 이 정보가 외부에 공개된 적이 있나 확인도 해야 한다. 그래도 예전 이력서랑 LinkedIn 페이지에 적었던 것들은 이걸 다 확인한 사항이니 이걸 먼저 템플릿 쪽에 옮기고, 여기 없는 내용만 회사 홈페이지 참고해서 업데이트. 그러고나서 좀 더 편한 마음으로 사용 기술 부분을 써 내려갔다. 거의 주말 이틀과 평일 저녁 3-4일을 잡아먹은 것 같다. 실제로 git 로그 상으로 보면 템플릿 넣는 첫 커밋부터 오타 수정한 마지막 커밋까지 10일이나 걸렸더라. 물론 그 와중에 공개용/특정 회사 지원용 같은걸 매크로 처리한다고 야크 털 깎기 하는 데 들어간 시간이 없다곤 말 못하겠다(…).

“이력”을 설명하는 부분은 생각보다 오래 안 걸렸지만, 커버레터/자기소개에 해당하는 부분은 달랑 한 페이지 쓰는데도 오래 걸리더라. 그래서 아예 노선을 좀 바꿔서(?) 아래처럼 정리해서 썼다.

  • 이력서에 다룬 내용 (한 일 / 하고 싶은 일 / 잘할 수 있는 일) 4줄 요약

  • 어떤 회사에서 일하고 싶은지

  • 어떤 소프트웨어 개발 방식을 선호하는지 그리고 면접 대비해서 개념이나 사용하는 용어를 (다시) 정리할 용도로 책/글도 몇 권 읽었다. 면접관 시점으로 면접에 들어갔을 때 지원자와 대화가 이상하게 겉돌 때가 있다. 이런 경우 상당수가 같은 용어를 서로 다른 의미로 쓰거나 하는 경우라서 이에 대해 대비한 것. 이거 말고도 몇 권 더 읽었는데 대부분 에세이 책이고, 같이 일 하는 동료가 추천해달라고 해서 예전 책들을 꺼내 읽은거라 생략. (사족으로 달자면, 컴퓨터 과학이 여는 세상이나 프로그래밍 심리학은 참 좋은 에세이라고 생각한다. 한 번 읽어 보시길)

  • Designing Data-Intensive Applications: 분산 시스템 관련 용어나 개념을 다른 단어로 알고 있거나, 이상하게 이해한 경우를 바로잡으려고 읽었다. (번역서 있음. 읽어보지 않아서 평하긴 어려움)

  • Effective Modern C++: 이것 역시 C++ 언어나 활용에 대해서 물어볼 때를 대비해서 읽었음. (역시 번역서 있고 번역 질 괜찮음.)

  • Python 튜토리얼 (현재는 3.9기준; 나는 아마 3.8을 읽고 대비했을 듯): 잘못된 용어나 내가 모르고 있는 2 vs. 3 차이가 있나 싶어서 다시 읽어봤다. (2는 예전에 읽었는데 3용 튜토리얼을 읽었던 적이 없음) 마지막으로 코딩 테스트 준비 용도로 Leetcode도 풀어보기는 했다. 지금 열어보니 딱 12개 풀었다고 나온다. 준비했다고 하긴 좀 민망하긴 하다. 실제로 구직 과정에서 몇 곳에서 사용한 프로그래머스쪽 의 연습문제도 풀었다. (코딩 테스트 시험 모드가 있다. 한 번도 자동화 코딩 테스트를 안해봤다면 맛보기로 나쁘지 않을 것) 이거랑 별개로 코딩 테스트 중이 표준 라이브러리 문서 읽는 시간이 아까우니 미리 C++ 표준 라이브러리의 컨테이너와 일부 알고리즘(나는 매번 헤매는 std::map::upper_bound, lower_bound 같은 것)과, python 자료 구조의 컨테이너/혹은 python heapq 같은 쓸 가능성이 있는 쪽의 문서도 한 번 씩 확인했다.

이런 준비 과정을 마무리하고 구직을 시작했다. 대략 아래 경로로 구직을 시도했다.

  • 지인을 통한 구직. 낌새를 감지한 이전 동료분이 재직 중인 곳, 혹은 이전 동료분이 소개해준 곳. 이게 절대 다수.
  • IRC/discord 채널로 지인들에게 채용하는 곳을 물어 봤다. 이걸로 두 곳과 연락했다.
  • LinkedIn 을 통해서 구직
    • C++ 소프트웨어 엔지니어를 찾는 회사를 찾았다. 이걸로 한 곳과 연락했다.
    • 근 몇 주간 온 헤드헌터 연락 중에 상식적인 곳 한 곳과 연락했다. (“당신의 경력이 저희 회사와 맞는 것 같습니다. 지원하시겠습니까?” 정도로 연락해주신 곳이 딱 한 곳이었단 소리.) 이 기준으로 세면 지난 12개월 동안 멀쩡한 연락은 이거 포함해서 세 건이었다. 지원하고 나서 일어나는 일들 – 이력서 질문 세션 (전화/면접) / 영어 테스트 / 자동화 코딩 테스트 / 면접 중의 대면(?) 코딩 테스트 / 설계 문제를 포함한 기술 면접 / … 등은 다음 글로 넘긴다.