학사 졸업 논문을 제출한 6월 27일부터, 내가 원했던 회사에 최종 합격한 9월 3일까지, 취업하기까지 약 두 달과 일주일 정도의 시간이 걸렸다. 첫 한 달은 이력서를 작성하고 이력서에 기재한 내용을 다시 복습하며 코딩테스트를 준비하는 기간으로 잡았다. 나머지 한 달은 이력서를 제출하고, 코딩테스트와 면접을 진행하는 시간으로 활용했다. 두 달이 지났는데도 모든 회사에서 불합격한다면, 이력서와 코딩테스트 준비를 다시 하자고 생각했다. 처음하는 취업 준비라 모든 것이 낯설었지만, 그 과정에서 새로운 것들을 많이 배웠고 이 경험을 블로그에 기록하면 좋겠다고 생각했다.
어떤 일, 어떤 팀, 어떤 회사에서 일하고 싶은가?
학교를 졸업하고 나서 가장 먼저 고민한 건 내가 어떤 일을 하고 싶은지였다. 이전 회사에서 서비스 백엔드 개발, AI 연구, AI 백엔드 개발을 모두 경험했으나, 그중 어떤 분야에서 커리어를 쌓고 싶은지 결정을 해야 했다. 서비스 백엔드 개발은 지금 당장 잘할 수 있는 분야였고, 더 잘하고 싶은 분야는 AI 백엔드 개발이었다. 후회를 최소화하기 위해 먼저 더 잘하고 싶은 분야에 지원을 하고 모두 떨어진다면 지금 당장 잘할 수 있는 분야에 지원해야겠다고 생각했다.
요즘 취업 시장이 어렵다는 이야기를 많이 들었지만, 일단 해보고 나서 생각하기로 했다. 머신러닝/딥러닝에 진심이고 AI 연구와 AI 서비스 개발 팀이 모두 갖춰진 곳, 이전에 다니던 회사보다 규모가 크고(대략 시리즈 B 이상) 시스템이 잘 갖춰진 회사에서 일해보고 싶었다. 다만 너무 전통적인 대기업보다는 대기업의 규모를 가지면서도 스타트업과 같은 일하는 방식을 가진 팀에서 일하고 싶었다. 이런 조건을 모두 만족하는 회사에 들어가겠다고 생각하는건 요즘 같은 시기에는 조금 욕심일 수 있겠지만, 안되면 다시 다른 곳에 지원해보자고 생각했다.
이력서 만들기
이력서를 만들 때 가장 참고했던 두 이력서는 이동욱님 이력서 와 정원희님 이력서 이다. 이 이력서들을 보고 좋다고 생각했던 이유는, 어떤 일을 했었는지 몇 줄정도로 요약되어 있었고, 했던 일과 성과를 숫자와 함께 한 줄로 정리해 놓았다는 점이다. 어차피 이력서로 그 사람의 역량을 디테일하게 모두 파악하는건 힘들기 때문에 이력서만으로 이야기를 해보고 싶다는 느낌만 자아낸다면 성공적인 이력서라고 생각했다. 위 두 이력서를 보고 그런 느낌을 받았고, 내 이력서를 만들 때도 많이 참고했다.
이력서를 작성할 때 아쉬웠던 점은, 한 줄로 요약한 성과에 대한 근거를 증명할 자료가 부족했다는 것이다. 당시의 시행착오를 기록해 둔 블로그나 메모가 있었다면 더 좋았을 텐데, 그런 것이 없었다. 그래서 사실 이 블로그도 나중에 일하면서 겪을 시행착오들을 모두 기록하고 싶어서 만들었다. 이력서에 들어가는 내용은 모두 깊이 설명할 수 있어야하는데, 회사를 퇴사하고 학교를 졸업하는데 시간이 대략 1년 반 정도가 걸렸기 때문에 기억이 흐릿했고 그래서 일단 이력서를 적으면서 그 이력서에 들어갔던 내용을 다시 공부했다. 그래서 한줄 적는데 공부하는 시간까지 포함하여 며칠이 걸리는 경우도 있었다.
주변에는 이력서를 원티드 이력서 를 사용하여 만드는 사람이 많았지만, 나는 익숙한 노션을 사용했다. 노션으로 만들고 PDF로 변환할 때는 scale percent를 70으로 설정하면 노션 페이지와 거의 유사한 폰트 크기와 텍스트 블럭 포맷이 유지되지만 색상이 약간 덜 선명하고 글자 사이 간격도 벌어진다는 단점이 있다. 그래서 글자 색상도 선명하게하고 간격도 줄이고 싶다면 HTML로 추출한 후 PDF로 변환하는 방법을 더 추천한다.
그리고 어떤 곳은 이력서를 받거나, 어떤 곳은 경력 기술서를 받는 곳도 있는데 들어가는 내용은 큰 차이가 없는 것 같다. 그래서 내용은 동일하게 하고 제목을 “(이름) | 이력서”, “(이름) | 경력기술서” 이렇게 각각 작성하여 PDF를 만들었다. 또한 해외 회사에 지원할 가능성도 염두에 두어 영문 이력서도 함께 준비했다. 그 결과 한글 이력서, 한글 경력기술서, 영어 이력서 이렇게 3개를 준비했다.
코딩테스트 준비
신입 지원자의 경우 거의 대부분 코딩테스트를 보지만 경력 지원자의 경우 간혹 과제로 대신 하는 경우도 있었다. 하지만 경력도 기본적으로 코딩테스트를 보는 곳이 많았기 때문에 대비를 해야겠다고 생각했다. 먼저 취업한 친구들의 이야기를 들어보니 백준을 기준으로 골드 문제를 30분 이내로 풀 수 있을 정도면 한국 IT 기업의 코테 정도는 다 붙을 수 있을거라고 하여 최소 플래티넘 5까지 만들어놓자고 생각했다. 자세한 내용은 미래의 나를 위한 코딩테스트 준비과정 에 정리해두었다.
라이브코딩이 가능하도록 유명한 알고리즘은 외우고 있는 것도 좋은 것 같다. 스타트업의 경우에는 라이브 코딩을 요구하는 곳이 종종 있는데, 대기업들은 아무래도 지원하는 사람들이 워낙 많고 시스템으로 사람을 뽑기 때문에 아직까지 라이브 코딩으로 사람을 평가하는 곳은 못본 것 같다. 하지만 라이브 코딩으로 알고리즘 문제를 풀 수 있을 정도로 익숙해진 상태에서 취준에 도전하는게 좋지 않을까싶다. 어차피 붙어도 안갈 회사라면 상관없지만 한번 지원하고 떨어지면 재지원까지 최소 6개월에서 1년을 기다려야하는 경우도 있기 때문에, 한번 지원을 소중하게 생각하는게 좋을 것 같다.
회사 지원하기
7월 동안 이력서를 만들고 이력서에 들어가는 내용들을 공부하고, 코딩테스트를 준비했다. 8월부터는 본격적으로 회사들에 지원을 시작했다. 어떤 회사에 떨어지고, 어떤 회사에 통과했는지 구체적으로 밝히기는 어렵지만, 생각보다 합격률이 낮았고 처음에는 쉽게 취업할 수 있을 것이라 생각한 것이 조금 후회되기 시작했다. 하지만 여러 곳을 동시에 지원했었고 한 곳에서 떨어져도 다른 곳에서 기회가 있었기 때문에 버틸만 했던 것 같다. 지원 자체가 처음이라 잘 몰랐는데 주위 사람들의 말을 들어보면 채용공고 자체가 2~3년 전과 비교해서 엄청나게 줄었다고 말하는걸 들어보면 요즘 확실히 채용시장이 어려운 것 같다.
코딩테스트와 면접 과정
회사의 채용 절차는 대체로 이력서 심사 -> 코딩테스트(또는 과제) -> 기술 면접 -> 임원 면접 순으로 진행되었다. 코딩테스트는 정말 회사마다 난이도와 형식이 크게 달랐다. 어떤 곳은 너무 쉽게 나와 이걸로 변별이 될까 싶었고, 어떤 곳은 한 문제도 제대로 풀지 못할 정도로 모든 문제를 어렵게 내는 곳도 있었다. 어쨌든 경력을 뽑는 것이면 당장 실무로 투입되어 돈을 벌어다 줄 수 있는 사람을 뽑는 것인데, 코딩테스트가 실무와 얼마나 관련있는지도 모르겠고, 과제를 주던가 아니면 현재 실무와 관련된 코드를 주고 코드 리뷰를 하게끔 한다던가 좀 더 실무 중심의 역량을 평가할 수 있는 프로세스가 도입되었으면 어땠을까 싶다. 어떤 한 회사는 되게 특이했던 것이 자신의 서비스에 도입할 AI 기능을 제안하고 그 구현 방법을 서술하는 문제를 내었는데 이런 문제를 통한 평가 방식이 단순히 알고리즘 문제의 정오답 여부를 통해 평가하는 방식보다 회사에 더 적합한 사람을 찾는 데 도움이 되지 않을까 싶다. 어쨌든 근데 이런 의견과 별개로 알고리즘 준비과정을 통해 CS지식이 좀 더 탄탄해진 것 같아서 좋았다.
면접은 크게 기술면접이랑 임원면접으로 나뉜다. 기술면접에서는 이력서에 적은 내용이 사실인지를 검증하기 때문에 이력서에 적은 한 줄을 깊이 있게 설명할 수 있어야 했다. 그리고 질문과 답변이 계속해서 이어지기 때문에, 그때의 시행착오를 구체적으로 설명할 준비가 되어 있어야한다. 그 시행착오들이 블로그에 기록되어 있다면 가장 좋겠지만 그게 아니라면 간단하게나마 만들어보면서 그 때의 경험을 되살리는 것도 좋은 방법이었던 것 같다. 지금 일을 할 때 겪는 시행착오가 많을텐데 그게 전부 다 자산이니까 블로그에 간단하게나마 메모한다는 느낌으로 남겨두면 나중에 경험을 되살리는데 큰 도움이 될 듯하다.
임원면접에서는 내가 어떤 사람인지 파악할 수 있는 질문들을 많이 했다. 내가 했던 행동과 선택들이 하나의 일관된 스토리로 설명될 수 있다면 가장 좋을 것 같다. 좋은 말 하려고 꾸며내기보다 실패든 성공이든 정말 솔직하게 나의 경험들을 정리하는 것이 오히려 일관된 스토리를 만드는데 도움이 되었다. 지금 생각나는 몇가지 질문들은 다음과 같다.
- 지원자의 단점은 무엇인가?
- 스트레스는 어떻게 해소하는가?
- 우리 회사에서 지원자를 왜 뽑아야하는가?
- 왜 이전 회사를 퇴사했는가?
느낀점
이렇게 준비하고 9월 3일에 가고 싶었던 회사에 합격했다. 취업에도 운이라는 요소가 어느 정도 작용하는 것 같다. 붙을 것 같던 회사는 떨어지고, 떨어질 것 같던 회사는 붙고 하는 걸 보면 그 기준을 아직도 잘 모르겠다. 대기업은 떨어진 사람들에게 일일이 피드백을 주기 힘든 환경이다 보니, 떨어진 곳은 왜 떨어진 지도 몰라서 좀 답답하긴 했다. 어쨌든 AI 관련 직무를 계속할 수 있어서 정말 다행이라고 생각했고 취준하는 과정이 스스로를 돌아보게 되는 과정의 연속이다 보니 그동안 너무 익숙하게 해오던 안 좋은 습관들을 돌아보고 고칠 수 있는 좋은 기회가 된 것 같다. 취준하는 기간을 성장하는 기간이라고 생각했기 때문에 오히려 좀 더 심리적으로 편하게 그 시간을 보낼 수 있었고, 취준 자체로 많은 것들을 배울 수 있는 시간이기 때문에 마인드 자체를 성장하는 시간으로 생각하고 보내면 좋을 것 같다. 그리고 취준하는 시간 대부분은 기다림의 연속이기 때문에, 그 시간들을 잘 보내는 것도 중요하다. 개인적으로는 취준하면서 프라이머 GenAI 해커톤 에 참여했던 것이 좋은 선택이었던 것 같다. 덕분에 좋은 사람들도 만나고 공부하고 일할 수 있는 공간도 지원받을 수 있었다. 경력으로 입사했지만, 중간에 학교 다닌다고 1년 반을 쉬었으니 새로 시작한다는 마음으로 해야겠다.