요며칠 개인적인 사정으로 업데이트가 늦어졌습니다만, 지난주 목요일의 CS 유학 모임을 여러분의 참여로 성황리에 마칠 수 있었습니다. 지난번 데이터 사이언스 모임에서처럼, 저의 발표보다는 여러분들의 경험과 지식에서 많이 배울 수 있었던 것 같습니다. CSUhak.info주최 모임으로, 저도 CS 전공이기는 하지만, 본 발표의 내용은 많은부분 다른 전공에서 적용가능하다고 믿습니다. (반면에 CS중에서도 AI 및 검색 분야에 치우친 내용이기도 합니다.)


이번 모임을 처음에 기획하고 저를 초청해주셨으며, 패널리스트로 참석해주신 이병호님과 (CSUhak.info 운영자이십니다.) 제 학교 선배님으로 경희대 전자공학과 조교수로 올해 임용되신 박욱님께 다시금 감사의 말씀 전하고 싶습니다. 이병호님께서는 석사 유학에 대한 경험담을 공유해 주셨고, 그리고 박욱님께서는 국내에서 학위를 마치신 만큼, 자칫 유학 중심으로 치우치기 쉬운 논의의 중심을 잡아주셨습니다.


제 발표는 크게 4가지로 부분으로 구성됩니다. 우선, '유학이라는 선택'에서는 대학원 유학이라는 결심에 이르기까지의 선택 기준 및 기회비용, 그리고 구체적인 유학의 유형을 (석사 vs. 박사) 짚어봅니다. '줄서지 않는 유학준비'에서는 자신에게 맞는 학교를 선택하고 지원하는 과정에서 도움이 될만한 내용을 원칙 위주로 설명합니다. '미국유학 초기에 살아남기'는 미국사회 및 대학원 학업에 성공적으로 적응 / 정착하는 방법을 다릅니다. 마지막, '학생에서 전문가로'는 유학 이후의 진로탐색을 학교 및 기업체로 나누어 살펴봅니다.


첫 부분에 밝혔지만, 본 발표는 저의 상황과 주관적인 경험에 기초한 것임을 강조합니다. 저의 목표는 유학이라는 무수히 다양한 선택에 일반론을 세운다는 거의 불가능에 가까운 시도를 하겠다는 것이 아니라, 저의 주관적인 경험을 바탕으로 상식처럼 알려진 여러가지 믿음에 대해 다른 견해를 제시하는 것에 가깝습니다. 이 발표를 비판적인 시각으로 보시고, 유학에 대한 여러분 자신의 주관을 세우실 수 있도록 돕고싶은 것이 저의 바램입니다.


더 자세한 부분은 이전 포스팅에 올린 유학관련 자료모음을 참조하시고, 특히 많은 부분이 (특히 유학준비 관련) 제 블로그에서 다루어진 내용이기에, 관련글을 참고하시면 되겠습니다. 행사의 결과물을 다 많은 분들과 공유하는 차원에서, 발표자료 및 동영상을 여기에 공유합니다. 모임에 참여하셨던 분, 혹은 이 자료를 보시는 분들 모두 의견이 있으시면 댓글로 남겨주시고요, 주변에 유학생 및 준비하시는 분들께 공유 부탁드립니다.


발표자료

발표자료는 아래 PPT를 받으시거나, Slideshare를 보실 수 있습니다. 

발표동영상

아래 주소에서 발표동영상을 보실 수 있습니다. 3개의 Part로 나뉘어 전체 약 3시간 정도 됩니다. 


유학이라는 선택 / 참가자 소개


줄서지 않는 유학 준비 / 유학 초기에 살아남기



학생에서 전문가로 / 질의응답




다른 졸업학년도의 대학원생들처럼 저도 올해 많은 시간을 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 및 준비방법을 올릴 생각입니다. 그전에라도 궁금한 점이 있으시면 댓글로 알려주세요 ;)

3년전 처음에 유학 생활을 시작했을 때, 제게는 여러모로 큰 변화가 있었습니다. 한국에서 미국으로, 학부에서 대학원 과정으로, 전자 전공에서 컴퓨터 전공으로, 마지막으로 가족과의 삶에서 자취로 바뀌었습니다. 처음에는 이런 변화가 버겁게 느껴졌었지만, 선택의 기로에서 낯설더라도 더 진취적인 길을 택한 것이 더 많은 배움을 가능하게 하지 않았나 합니다. 

이번 인턴십을 시작하면서도 꽤 많은것이 바뀌었습니다. 미국 동부에서 서부로, 학교에서 회사로, 교수님과 일하던 생활에서 상사(여기서는 mentor라고 부릅니다)와의 업무로, 데스크톱 및 개인 정보의 검색에서 웹 검색이라는 주제로  바뀌었습니다. 이제 한달을 보냈지만, 그동안 배우고 느낀 것이 지난 3년간의 그것에 필적한다는 느낌입니다. 여기서는 그 중 몇가지를 적어보려 합니다.

'틀'이 주는 편안함

처음에 대학원을 선택한 이유중 하나는 '자유로움' 이었습니다. 병역특례로 회사경험을 하면서, 하루 종일 사무실에 앉아 '내 일' 보다는 '회사 일'을 해야 한다는 것이 갑갑했었나 봅니다. 미국 대학원에서 원하는 공부를 하면서는 비로소 관심 분야의 프로젝트를 하게 되었습니다. 처음에 교수님의 신뢰를 얻기까지는 조금 시간이 필요했지만, 그 이후에는 일을 하는 시간과 장소, 방식에 있어서도 거의 무한의 자유를 부여받았습니다. 어찌보면 예전에 꿈꾸던 삶에 다가간 것입니다. 

회사 생활을 다시 시작하면서부터는, 이런 자유에 길들여진 자신이 다시 회사 생활이라는 틀에 적응할 수 있을까 하는 고민이 있었습니다. 하지만 출퇴근 시간 및 프로젝트의 결정 및 진행이 개인의 책임하에 이루어지는 여기서의 생활은 그다지 답답하지는 않았습니다. 오히려 모든 것을 스스로 결정하고 수행하던 예전에 비해, 조직에서 부여하는 어느 정도의 틀에 따라 규칙적으로 이루어지는 이곳 생활이 훨씬 편안했습니다. 학교에서는 한순간도 연구에 대한 생각이 머리를 떠나지 않았으며 스스로 많은 결정을 내려야 했지만, 여기서는 많은 일들이 이미 결정되어 있으며 업무시간에는 열심히 하다가도 퇴근 후에는 회사 일이 머리를 자연스럽게 떠나기 때문입니다.


학계와 업계에서의 연구

검색이라는 분야에 뛰어든 것도 3년이 지났지만, 그동안 학문적인 관점에서만 접근해 왔고, 제 주변에도 모두 그런 사람들이었습니다. 여기 와서 달라진 점은, 업계에서 잔뼈가 굵은 검색 연구자 및 개발자들을 많이 접할 수 있었습니다. 분야의 특성상 학계와 업계의 연구가 명확하게 분리되는 것은 아니지만, 그 둘의 초점은 꽤나 다르다는 것을 발견하였습니다. 

우선 학문으로서의 검색은 고정된 질의어(query) 셋에 대하여 베이스라인 시스템 대비 몇 퍼센트의 성능향상을 가져오는 알고리즘 및 피쳐를 개발하는 것, 그리고 더 중요하게는 왜 이들이 잘 동작하는지를 밝혀내는 것을 목표로 합니다. 하지만 이곳에서의 연구는 끊임없이 변화하는 환경에서 굉장히 크고 복잡하며 이미 엄청난 노력이 집약된 상업용 검색 엔진을 대상으로 하기에, 학계에서처럼 단순한 지표 몇개로 평가하기 어려운 점이 있습니다. 또한 사용가능한 데이터의 양이 제한된 학계에 비해, 실 사용자의 모든 활동이 기록되는 이곳의 환경에서는 실 사용자의 반응에 근거하여 의사결정을 내리는 것이 용이합니다. 

요약하면 학교에서의 연구는 Why에, 여기서의 연구는 How에 초점을 맞추며, 이런 차이가 업계에서의 연구를 과학(science)보다는 공학(engineering)에 가깝게 합니다. 수많은 피쳐와 검색 모델이 개발 및 사용되지만 왜 그것이 동작하는지는 두번째 문제입니다. 엄청난 양의 데이터가 쌓이지만, 이러한 데이터의 새로운 활용법을 찾기 위해 고민할 여유는 별로 없습니다. 학교에 있으면서 실제 사용자와 유리된 연구 환경에 답답함을 느꼈었지만, 이런 공학적 접근을 보면서 학문으로서의 검색 연구가 갖는 가치를 돌이켜보게 되었습니다. 

마치며

아직 한달이 갓 넘은 회사 생활에 대한 결론을 내리기는 쉽지 않지만, 어쨌든 잘 왔다는 생각이 듭니다. 회사 진학을 계획중이라면 맛보기 및 네트워킹을 위하여, 학계를 꿈꾸는 사람이라도 자신의 선택에 대한 확신을 갖게 해주는 계기가 될 것입니다. 이공계 대학원생의 여름 인턴, 선택이 아닌 필수입니다!