다른 졸업학년도의 대학원생들처럼 저도 올해 많은 시간을 Job Search에 투자했습니다. 처음에 Academic / Researcher Job을 찾는 것으로 시작하여, 나중에는 Industry / Engineering Job으로 구직의 폭을 넓혔습니다. 지난 2주간 A9 (아마존의 검색회사), Amazon, Microsoft, Google과 Facebook면접을 다녀오는 것으로 on-site인터뷰를 모두 마무리했습니다.
아직 최종 결과를 기다리고 있는 곳도 있지만, 만족스러운 오퍼를 이미 받았고, 최선을 다했다는 확신이 들기에, 지난 시간이 성공적이었다고 말해도 될 것 같습니다. 앞으로 몇 번의 포스팅을 통해 지난 6개월간의 여정을 정리해볼까 합니다. 아무래도 최근에 기술회사 면접을 다녀왔기에, 글의 초점이 그쪽에 맞춰질 것 같습니다. 오늘은 우선 '구직에 임하는 자세'에 대해 생각해 보겠습니다.
Be a Learner, not a Shopper
지난 포스팅에서도 밝혔지만, 처음부터 Job Search를 직업 시장에 나가는 Shopper (혹은 Shoppee)보다는 대학원 시절 배움의 연장으로 생각하는 학습자(Learner)의 자세로 임하겠다는 생각이 있었습니다. 제가 생각하는 학습자의 자세는 매 순간 최종적인 '결과'보다는 과정에서의 '배움'을 소중히 하는 것입니다. 평생의 (적어도 몇년간의) 진로가 결정되는 구직 전선에서 '배움'을 운운하는 것은 굉장히 Naive한 태도로 보입니다. 구직은 다른 어떤 일보다도 '결과'가 명확하게 엇갈리는 일이니까요. 하지만, 지난 6개월을 돌이켜 보았을때, 이런 학습자의 태도는 가장 크게 도움이 되었던 요인이 아니었습니다.
우선, (특히 박사 졸업생의) 구직은 대부분 장기전입니다. 저의 경우 작년 말 미국 내 교수직 지원을 시작으로, 올해 초 기업체 연구 개발직으로 지원의 폭을 넓혔습니다. 그 과정에서 좌절이 없었던 것은 아니지만, 결과에 연연하지 않겠다는 각오가 있었기에, 실패를 거울삼아 계속 뭔가를 배우고 개선해 나갈 수 있었습니다. 당장의 인터뷰 결과에 연연하기보다는, 학교 / 연구소 인터뷰 준비는 관련 분야의 논문을 읽는 기회로, 그리고 회사 인터뷰는 알고리즘 / 코딩 스킬을 연마하는 기회로 생각했습니다.
또한 '과정에서의 배움'을 중시했기에 처음에 비교적 난이도가 낮은 곳을 시작으로 꾸준히 더 어려운 곳을 공략했습니다. 효과적인 학습을 위해 가장 중요한 요소중 하나가 '적당한 난이도'라는 것을 감안하면, 이렇게 차근차근 Bar를 높였기 때문에 큰 부담없이 과정에서 계속 배워나갈 수 있지 않았나 합니다. 특히 Problem Solving이 주가 되는 기술 면접에서는 처음 몇개의 회사에서 쌓은 경험이 나중 인터뷰에 큰 도움을 주었습니다.
'학습자의 태도'는 기술 면접 현장에서 최선의 결과를 얻어내는 데에도 효과적입니다. 나중에 좀더 자세히 쓰겠지만, IT 회사의 기술 면접은 알고리즘 / 시스템 디자인 등의 문제를 가지고 구직자의 문제 해결력을 평가하는 과정입니다. 이때 평가의 중심이 지식보다는 사고력, 결과보다는 해답에 이르는 과정이기에 지나치게 긴장을 하거나 사소한 실수에 좌절하는 것은 치명타가 됩니다. 이런 측면에서도 위에서 언급한대로 점점 난이도를 높여가며 각각의 인터뷰를 '배움의 기회'로 생각할 수 있었던 것이 저에게는 큰 도움이 되었습니다.
요약하면 인터뷰 준비, 스케줄링, 그리고 현장에서까지 '학습자의 태도'를 가졌기에 과정에서 스트레스를 받기보다는 즐길 수 있었고, 또한 후회없이 실력을 발휘할 수 있었다고 생각합니다. 만약 처음부터 결과에 집착했다면 체계적인 인터뷰 스케줄을 짜는 것도, 또한 현장에서 마음편히 인터뷰에 임하는 것도 힘들었을 것이라고 생각합니다.
Be Proactive, not Passive
어떤 의미에서, 구직 과정은 지원자와 조직간의 긴 '헙상'입니다. 대부분의 경우 지원자가 조직에 지원하는 것으로 프로세스가 시작되기에, 이 과정에서 지원자는 조직이 부과하는 여러가지 Rule을 맞닥뜨리게 됩니다. 인터뷰 과정에서 중요했다고 생각되는 또 하나의 태도는 이처럼 주어진 Rule을 따르기 보다는 최대한 상황을 자신에게 유리하게 끌어가려고 노력했던 점입니다. 구체적인 설명은 저의 인터뷰 과정에서 생긴 에피소드를 소개하는 것으로 대신할까 합니다.
Google의 첫번째 전화인터뷰에서 있었던 일입니다. 다른 많은 회사들처럼 Google은 온라인 문서 공유 시스템을 사용하여 코딩 인터뷰를 진행합니다. 인터뷰 시작과 함께 사용할 언어를 정하는데, 인터뷰어가 대뜸 C를 사용하라고 했습니다. 저는 오래전에 C프로그래머로 일한 경력이 있지만, 대학원에서는 주로 Ruby / Python / R등의 스크립팅 언어를 사용해 왔고, 시간안에 문제를 해결해야 하는 인터뷰의 특성상 손에 익지도 않은 C코드를 짜는 것이 불리한 조건이라는 것은 자명했습니다. 이 상황에서 그냥 인터뷰가 시킨대로 하는 방법도 있었지만, 저는 인터뷰시 사용할 언어가 대부분의 경우 flexible하다는 것을 알았기에, Python으로 하겠다고 버텨서 인터뷰어를 다시 배정받을 수 있었습니다. 결국 두번째 인터뷰어와의 전화 면접을 무사히 통과할 수 있었습니다.
또한, 대부분의 경우 언터뷰어와의 소통은 주어진 인터뷰 시간의 범위내에서 이루어지는 것이 보통입니다. 많은 경우 리쿠르터는 인터뷰 이전 / 이후에 인터뷰어의 이름 혹은 연락처를 알려주지 않으며, 또한 어떤 회사는 이를 정책화하기도 합니다. 하지만, 대부분의 경우 인터뷰어에게 직접 물어보면 연락처를 얻을 수 있습니다. 그리고 저는 인터뷰 내용에서 보충할 내용이 있는 경우 가능한 시속하게 Follow-up메일을 보냈습니다. 전화 면접시 시간내에 코딩을 끝내지 못한 경우가 있었지만, 인터뷰 직후 5분안에 이를 끝내서 바로 메일을 보냈고, 즉시 인터뷰어의 고맙다는 답장을 받았습니다.
만약 위 상황에서 제가 저에게 부과된 '규칙'에 순응했다면 아마 다음 단계에 가보지도 못하고 탈락했을 겁니다. 이밖에도 저는 인터뷰가 끝난 후에 채용 담당 매니저와 추가 면담 시간을 요청하여 조금 더 필요한 대화를 나눌 수 있었고, 또한 점심 인터뷰 장소가 어수선한 경우 좀더 조용한 곳으로 옮겨달라는 요청을 했습니다. 요약하면 주어진 상황에서 최선을 다하되, 회사에서 정해주는 여러가지를 그대로 수용하기보다는 자신에게 필요한 것을 그때그때 요구하는 자세가 필요합니다.
Epilogue
이번 글에서는 미국 IT회사 기술 면접을 중심으로, 구직에 임하는 태도에 대해 적어보았습니다. 전화에서 방문 인터뷰까지 두달 가량을 보내었지만, 대표적인 IT회사를 방문하여 이야기를 듣고 제가 기여할 수 있는 점에 대해 생각해볼 수 있었던 점은 큰 수확이었습니다. 그동안 상대적으로 소홀히해왔던 코딩 / 알고리즘 관련 스킬을 면마할 수 있었던 점은 보너스라고나 할까요.
예전에 유학 준비기에도 썼지만, 유학이든 구직이든 당장의 보상에만 집착하기보다는 장기적인 관점에서 '나에게 어울리는 선택'을 하는 것이 중요하다고 생각합니다. 우선 스스로 왜 그 포지션을 원하고, 어떻게 잘 할 수 있을지를 생각해본 후에야, 면접관에게 이점을 납득시킬 수 있을 겁니다. 주어진 기술적 문제를 잘 푸는것도 중요하지만, 학교든 기업이든 자신의 조직 및 관련분야에 열정을 가진 사람을 뽑기를 원하니까요.
p.s. 다음번에는 면접에 관한 좀더 구체적인 Tip 및 준비방법을 올릴 생각입니다. 그전에라도 궁금한 점이 있으시면 댓글로 알려주세요 ;)