brunch

You can make anything
by writing

C.S.Lewis

by Wonjae Lee Jan 03. 2019

미국 개발자 이야기

인턴십 잡기까지 (4)

이번 글을 끝으로 인턴십 구직 이야기를 마무리하려 합니다~ 


4학년 가을 학기가 시작하고, 새 학기인 만큼 학교 캠퍼스는 들뜨고 어수선 한 분위기로 가득 차 있었습니다. 저도 새로 들어오는 한국 사람들과 잘 어울려 지내고 싶었지만, 인턴십 구직이 더 간절하고 중요했기에 첫날부터 도서관에서 캠핑하는 삶을 택했습니다. 


수업이 끝나면 도서관에 가서 과제도 하고 인터뷰 공부도 하고, 친한 형과 모의 인터뷰 연습도 해보고, 이미 인터뷰 경험이 많은 대학원 조교 형 께도 부탁드려서 몇 번 인터뷰 피드백도 받았었습니다.


학교 수업들 진도를 따라가면서, 레쥬메를 다듬고, 코딩 인터뷰를 준비하는 게 확실히 하다 보면 힘에 부치는 느낌이 들었습니다.


하지만 가장 힘들었던 것은 레쥬메를 넣어도 묵묵부답인 회사 들이었습니다. 제가 아무리 준비가 잘 되어 있었다고 해도 회사에서 인터뷰를 봐줄 용의가 없다면 아무 소용이 없는 것이죠.


가을학기가 시작되고 온라인으로는 한 50여 곳 정도에 레쥬메를 넣었었지만 한 군데도 인터뷰 제의가 오지 않았습니다. 


학교 캠퍼스 내에서도 컴퓨터 전공 학생들을 위한 job fair와 모든 공대생들을 위한 job fair (더 많은 회사, 직책 등)이 두 가지가 열리는데, 이 두 군데에서 저를 잘 어필하는 것이 정말 중요했죠.


사실 복학 전에는 이런 곳에 간다는 건 상상도 못 했었습니다. 낯가림도 심하고 영어도 버벅거리는데 이런 곳에 가서 회사 부스마다 제 레쥬메를 주면서 자기 PR을 한다는 건 정말 떨리고 두려운 일이었습니다. 그래서 회사 채용회를 몇 번 갔어도 항상 조용히 빠져나오기 일수였죠.


하지만 이제는 달라져야만 했고, 더 과감하고 자신 있게 행동해야 했습니다. 그래서 레쥬메를 우선 최대한 기업들이 원하는 형식으로 작성하고, 회사 부스에 가서는 직원에게 왜 자기가 이 회사에 관심이 있는지를 진정성 있게 표현하려 했습니다.


아직도 기억나는 건 제가 캠핑 문화에 익숙하다 보니 (스니커 덕후여서 ㅎㅎ), job fair 때 에도 최대한 먼저 들어가서 제가 가장 가고 싶은 회사 사람들과 여유롭게 대화를 나누기 위해 시작하는 시간보다 몇 시간 일찍 가서 줄을 서있었습니다. 이런 행사는 모두가 가서 최대한 누리고 싶어 하는 만큼 참여 인원도 엄청날 것이고, 초반이 지나면 인파가 엄청 붐벼서 레쥬메만 내고 바로 나와야 하는 경우가 많을 것이 예상되었습니다. 


모든 공대생들을 대상으로 하는 fair의 경우 아침 10시에 시작하는데 저는 7시에 와서 1등으로 기다리며 방문할 기업들 동선을 짜고 있었습니다. 나중에 보니 10시 즈음 해서는 줄이 몇 빌딩을 넘어설 만큼 길었다고 하네요.. 여담으로, 시작하기 전에 페이스북 엔지니어들이 아침 먹고 회장으로 여유롭게 들어가는 모습이 얼마나 부럽던지.. 그때만 해도 저런 위치에만 올라가도 부러울 것이 없겠구나라고 생각했었습니다 ㅎㅎ


저 같은 경우 인턴 1순위 지망 회사는 페이스북이었습니다. 제 고등학교 단짝이 페이스북 인턴 후 막 풀타임 오퍼를 받은 시점이라 인턴 사정을 잘 알기도 했고, 그 당시 가장 핫 한 회사 (지금도 탑이지만) 중 하나였기 때문이죠. 다른 가고 싶던 회사로는 구글, 아마존, 마이크로소프트, 투 시그마였지만... 사실 어디든 불러만 주면 감사히 가겠다는 심정이었습니다 ㅎㅎ


각 부스에 가서는 제가 관심사가 무엇인지 그리고 그게 왜 너희 회사에 부합한 지를 열심히 설명했습니다. 페이스북 같은 경우, "너희 news ads팀이 하는 게 흥미롭다. 나도 머신러닝을 사용해서 현실에 적용하는 그런 인턴십을 했었는데 보다 더 scalable 하게 사용해보고 싶다"라고 이야기를 이어나갔고, 마소의 경우, "너희가 론칭하는 Azure가 참 좋은 거 같다. 일반인들도 편하게 ML을 쓸 수 있도록 만든다는 건 정말 고객들을 위한 일이 아닌가 생각한다. 나도 그런 부분에서 도움이 되고 싶다" 같은 아부와 팩트가 섞인 말을 하고..


제 생각에 미리 가고 싶은 회사의 최신 제품이 뭔지, 목표나 방향이 무엇인지를 알고 가는 게 정말 중요하다고 생각했습니다. 다들 제가 그 회사의 특정 부분에 대해 언급할 때 태도나 눈빛이 달라지는 게 느껴졌습니다. 그리고 이 점은 아마존과의 인터뷰에서 가장 크게 다가왔었습니다.


되돌아보니, 두 job fair에서도 레쥬메를 총 30장 정도 돌린 거 같았습니다. 결론적으로 인터뷰 제의가 온 회사는 마이크로소프트, 페이스북, 아마존, 골드만삭스, 그리고 로컬 트레이딩 회사, 총 5군데였습니다. 마이크로소프트가 맨 처음으로 인터뷰 제의 메일이 왔는데 마침 그때가 제 생일이어서, 제의 메일만으로도 정말 기쁘고 행복했었습니다. 레쥬메를 넣을 때는 어딘가 하나 정도는 연락이 오겠지 하는 마음이지만 1주일이 지나도 답장이 없거나 "sorry"로 시작되는 메일을 읽다 보면 마음이 조급해지는 게 어쩔 수 없는 거 같네요 ㅎㅎ.


11월부터 본격적으로 인터뷰가 시작되는데, 보통 fair를 통해 인터뷰를 잡는 경우, 학교에서 우선 온 캠퍼스 인터뷰를 보고, 거기서 통과되면 온사이트 인터뷰라고 직접 회사 본사에 가서 하루 동안 인터뷰를 보게 됩니다. 아마존의 경우에는 온 캠퍼스 인터뷰를 두 번 보고, 인터뷰어 두 명 다 ok 하면 바로 인턴십을 얻게 됩니다 (한 명만 ok면 3번째 인터뷰). 


제일 먼저 봤던 인터뷰는 페이스북이었는데, 생애 첫 인터뷰인 만큼 아쉬움이 많이 남은 인터뷰였죠 ㅠㅠ 가장 가고 싶었는데.. 

페이스북의 경우 인터뷰가 시작되기 전에 후보로 뽑힌 사람들을 모아놓고 피자를 제공해주며 인터뷰어들과 casual 하게 대화를 나누는 시간을 가졌습니다. 거기서 어디서 인턴십을 했었냐라고 물어보는데 다들 아마존, 마소, 구글 이런 이름만 들어도 알만한 회사에서 인턴십을 해보고 온 애들이 많았습니다. 저는 한국 조그만 스타트업에서 일한 경력이 전부여서 위축될 수밖에 없었죠 ㅎㅎ.


인터뷰는 한 session당 보통 45분 - 1시간인데, 앞의 5-10분 정도는 레쥬메를 보면서 이전 경험 설명, 그리고 다음 30-35분은 코딩 문제 풀이, 그리고 시간이 남는다면 제가 궁금한 점을 짧게 질문하는 시간을 가졌습니다.


페이스북의 경우, 곧바로 화이트보드 코딩으로 넘어갔고, 처음이라 엄청 떨렸지만 최대한 차분하게 풀려고 노력했습니다. 문제 난이도는 평이했지만, 저는 최적의 해답이 아닌 방법으로 문제를 풀었고, 그게 제가 떨어진 이유가 아닌가 싶습니다 ㅠㅠ 막상 끝났을 때는 괜찮게 했구나 생각했지만, 페북 다니는 친구와 복기를 해보니 더 나은 방법이 있었는데 그걸 놓쳤다는 것을 깨달았죠..


두 번째는 마이크로소프트였습니다. 공교롭게도 제 인터뷰어는 한국 분이셨는데 인터뷰 동안에는 영어로 하고 시작하기 전과 후는 한국말로 편하게 대해주셨습니다. 특히 좋았던 점은, 인터뷰 후에 바로 온사이트 인터뷰로 보내주겠다고 미리 언질 해 주셨던 건데, 원래는 안되지만 같은 한국인이라 더 준비하라는 뜻에서 말해주는 거다 라고 하셨습니다 ㅎㅎ. 마소는 온사이트가 어렵기로 악명 높은데 당시에는 1차 관문을 통과했다는 사실만으로도 기뻤습니다.


그리고 세 번째가 아마존이었죠. 위 두 회사는 인터뷰를 한 번만 보고 그 후에 온사이트를 결정하는 반면, 아마존은 인터뷰를 연달아 두 번 보고 그걸로 인턴십 결정을 내리는 방식이었습니다. 아직도 기억나는 것은 두 인터뷰 다 초반에 머릿속에 든 생각이 "망했다"였습니다 ㅎㅎ. 머리가 새하얘지고 모든 걸 내려놓아야 하나..


첫 인터뷰의 경우 알고리즘 수업에서 교수가 풀어주던 문제가 나왔었습니다. 그때 주의 깊게 풀이를 보던 게 참 운이 따랐죠ㅠㅠ 처음에는 이 문제의 Big O notation이 무엇인지를 물어보고 그 후에는 실제로 어떻게 코드로 구현할래? 였습니다. 첫 번째는 수업에서 배운 내용을 복기해서 알맞게 풀었지만 직접 구현을 하는 건 시도도 안 해본 일이어서.. 잠시 뇌 정지가 왔지만 최대한 머리를 굴려서 여차저차 풀이를 설명 해 갔습니다. 거기서 인터뷰어가 List대신 Hash Map을 쓰는 게 더 효율적이지 않을까?라는 말을 했을 때 아차 싶어서 바로 그것을 받아들여서 제가 그게 왜 더 나은 방법인지 해설하며 정정했었습니다. 인터뷰에서 무조건 100% 답을 알면서 올바른 풀이를 할 필요 없이 이렇게 인터뷰어가 더 나은 길이 있을 때 힌트를 주면 바로 그거를 캐치하는 것도 중요한 포인트인 거 같습니다. 그렇게 원래 주어진 45분보다 훨씬 넘겨서 첫 번째 인터뷰가 끝났습니다. 보통은 시간이 초과되면 적당히 마무리해서 넘길 텐데 아직 옆 방 인터뷰도 안 끝났던 건지 아니면 제가 절실한 표정으로 문제를 계속 풀고 있어서 그랬는지는 모르지만 저는 한 시간이 넘어서야 방을 나섰습니다. (다 끝난 줄 알았는데 레쥬메를 보더니, 데이터베이스 수업도 들었네? 하면서 SQL 문제를 하나 내준 게 함정...) 그래도 종합적으로 첫 인터뷰어는 친절하고 제게 잘 대해주었던 거 같습니다. 일단 제게 합격을 줬다는 거 자체가..ㅎㅎ


두 번째 인터뷰어 또한 처음부터 굉장히 친절했습니다. 시작부터 자기는 너를 평가하는 게 아니라 같이 어떤 점이 맞는지를 알아가고 싶다고 말하며 긴장된 제 마음을 풀어주려 했습니다. 하지만 처음에 낸 문제에서 저는 초장부터 이건 어떤 유형의 문제다라고 단정을 지어버렸고 너무 거기에만 몰두해서 계속 헤매는 모습을 보여 주었습니다. Graph로 풀 수 있는 문제인데 저는 어째서인지 Dynamic Programming 유형의 문제라고 미리 결정을 지어놓고는 푸는데 애를 먹었죠. 말로 어떻게 풀어야 하는지 설명을 하면서도 그게 금방 막혀버리니까 제 머리도 다시금 새하얘지고 그저 떨어지겠다는 생각뿐이었습니다. 그런데 거기서 인터뷰어는 저한테 기회를 주었습니다. 이 문제로는 제가 가진 가능성을 보기가 힘드니까 다른 문제로 한번 접근해보자고. 거기서 저는 다시금 침착해질 여지를 찾았고, 다음 문제에서 다행히 올바른 풀잇법을 보여줄 수 있었습니다. 하지만 첫 번째 문제를 제대로 풀지 못했다는 사실에 저는 이미 떨어졌을 거라는 생각을 가지고 있었죠. 두 번째 문제를 다 끝냈을 때에는 이미 두 번째 인터뷰도 한 시간이 지나 있었습니다. 참으로 관대한 인터뷰어들이 아닌지.. 문제가 끝나고 인터뷰어가 제게 피드백을 주는데 미흡한 부분이 있다고 해서 그것이 끝이 아니다. 네가 군대 갔다 복학한 지 얼마 안 됐는데 몇 가지 부분은 충분히 나아질 수 있는 거 같다. 그 부분만 주의해서 보완하면 괜찮을 거 같다. 이런 식의 훈훈한 덕담을 해주었습니다. 보통은 이런 식으로 끝맺음을 잘 안 하는데 (상세하고 친절한 피드백), 저도 군대에 다녀온 게 좀 큰 reset이 된 거 같다. 그래서 더 열심히 부족한 부분을 메우려 한다 라고 어필했습니다 ㅎㅎ 망할 군대가 이런 데서 도움이.. 


그리고 더 회사에 궁금한 점이 없냐는 형식적인 질문에 저도 끝맺음 인사 한 두 마디를 훈훈하게 할 겸, 아마존이 사업을 더 확장시키려는 모습이 보이는데 참 대단한 거 같다고 툭 던졌습니다. 그러자 인터뷰어가 귀가 쫑긋하더니 왜 그렇게 생각하지?라고 물어보더군요. 저는 아마존도 미리 어떤 제품들이 나왔고 나올 것인지를 보고 갔었던 터라, 이번에 새로 나올 아마존 에코를 설명하면서, 아마존이 에코를 통해 사람들의 가정까지 들어와 그들의 정보를 얻고, 무엇을 언제 얼마큼 원하는지를 정확하게 파악할 수 있지 않을까, 쌓인 데이터를 통해서 더 나은 사업을 하지 않을까 한다라고 또 열심히 얘기하였습니다. 그것에 상당히 감명받았는지, 자기도 그렇게 생각한다라고 하면서 끝냈던 타이핑(후보에 대한 평가서)을 추가로 더 하기 시작하더군요.


그렇게 길었던 두 인터뷰가 끝이 났고 오후 1시가 채 되지 않았지만 저는 벌써 지쳐 있었습니다. 주변 사람들에게도 망했다고 얘기하고 큰 기대는 하지 않고 마소 온사이트 인터뷰를 준비해야지라는 마음으로 지냈습니다.


그렇게 다음 주가 되고, 듣던 클래스 오피스 아워에 교수를 만나기 위해서 문 밖에서 기다리고 있는데 핸드폰으로 한 이메일 알람이 왔습니다. 제목을 보고 저는 순간적으로 큰 희열을 느꼈습니다. 손이 덜덜 떨렸죠. "꿈이야 생시야..". "Congratulations from Amazon!". 얼마 만에, 아니 생애 처음으로 보는 거 같은 긍정적인 형식의 제목이었죠ㅠㅠ



매크로 같은 이메일이지만 그래도 좋은 매크로가 나은 매크로 아니겠습니까. 아마 이걸 보고 환호하던 제 모습을 교수는 이상하게 생각했을 거 같습니다. 사정을 모르니 ㅎㅎ.. 교수와의 미팅을 빠르게 끝내고 저는 빌딩을 나서면서 위에 말한 친구에게 전화를 걸어 합격 소식을 전했습니다. 이 기쁨을 나눌 사람을 찾고 싶어서 말이죠. 처음에는 걔도 제가 망했다고 말을 해서 의아해했지만, 이내 영혼 없는 축하를 해주고 (정말 친해서) , 도서관에 가서 어떻게 답변해야 하지 기쁜 고민을 하며 위 이메일에 질문들에 답을 해가며 도착한 지 한 시간도 안되어 바로 답장을 주었습니다. 사실 제가 가고 싶은 부서들은 우선순위가 정해져 있었으니까요. 


간략히 하자면, 저는 Back End에 더 관심이 많고, ML을 중점적으로 다루는 Personalization이나 Search 팀에 들어가고 싶었습니다.


이렇게 한 곳에 합격을 하고 나자, 저는 미국에 처음 왔을 때 세운 목표 (미국에서 취직)를 작게나마 이루었다는 생각에 정말 기뻤습니다. 그간 도서관에 박혀 살던 시간이 보상받던 느낌이었죠.. 핼러윈 때 다들 핼러윈 파티를 즐기고 있을 때, 도서관에서 저는 "나는 꼭 잘되고 말겠다고" 억하심정 내지 보상심리를 가지며 공부를 하고 있었는데 (지금 생각해보면 철없는 마음이죠 ㅎㅎ), 과정이 어떻든 결과가 잘돼서 행복한 마음뿐이었습니다. 부모님 피땀 흘려 버신 돈으로 유학 와있는데 꼭 인턴을 잘 마무리해서 정직원으로 들어가 갚아나가야지 하는 마음도 있었고요. 


그 이후로는 마음이 게을러져서인지 다른 곳 인터뷰에 미련을 두지 않게 되었습니다. 로컬 트레이딩 회사는 제가 답장을 안 했고, 마이크로소프트의 경우 온사이트가 1월 이후로 잡힐 수 있다고 해서 저는 팀 선택이 롤링 베이스인 아마존 인턴십에 더 무게를 두어서 인터뷰를 캔슬했습니다. 대신 정직원 채용 시기에 다시 만나자고 여지를 남겨 두었죠. 


이렇게 제 인턴 구직 생활이 끝났습니다 ㅎㅎ. 운도 따라주었고 절실한 마음이 결과로 나와주었던 대학 생활이 아니었나 싶네요. 복학 전에는 사람들 사이에 있는 게 좋고, 내가 중심이 돼서 관심을 받는다 라는 자체에 집착했었지만, 군대에 있으면서 제가 보낸 무의미했던 시간들을 후회하고 좀 더 계획적이고 목표에 다가가는 생활을 해야겠다고 한 다짐이 유효했던 거 같네요. 한국 군대는 아직도 악이라 생각하지만 (부조리, 무능력, 무책임한 국방부, 병무청..), 그저 그 정지돼있던 2년이 제게는 약이 됐던 거 같습니다.


마지막 글이다 보니 엄청 길어졌습니다. 이번이 끝이 아니라, 다음에는 인턴 기간 중에 이야기, 그리고 나아가서는 졸업 학기 (인생 망할뻔한) 이야기와 정직원 이야기를 써보려 합니다! 보다 더 나은 글로 찾아뵙도록 하겠습니다. 감사합니다!


여담: 골드만삭스의 경우 아마존 인턴 합격 메일을 받은 후에 한 엔지니어로부터 메일이 왔습니다. 본인도 베테랑 (전직 군인)인데, 내 레쥬메 군대 경력을 보고 연락했다. 전화 인터뷰를 하고 싶은데 괜찮은 시간을 알려달라 이렇게 말이죠. 저는 사실 아마존이 골드만삭스 백 오피스 (IT) 보다 더 좋다는 것을 알고 있어서 (SSG 제외..) 크게 솔깃하지는 않았지만, 경험 삼아해 보자는 마음으로 전화 인터뷰를 했습니다. 근데 얘기를 나눌수록 제가 무슨 말을 해도 온사이트로 붙여줄 생각이었던 거 같습니다. 참군인이었던 건지 제가 군대를 나왔다는 거 자체로 좋게 생각하고 있었던 거 같아요 ㅎㅎ. 문제도 linux에서 디렉터리 안에 있는 파일을 볼 때 어떤 명령어를 쓰지? 이런 문제를.. (ls) 


그렇게 저는 뉴욕으로 공짜 여행을 다녀올 수 있게 되었습니다! 그래 봤자 1박 2일에, 인터뷰 끝나면 금방 공항으로 가서 비행기를 타야 하는 ㅠㅠ. 그래도 가서 친한 누나를 만나 오랜만에 못다 한 이야기도 나누고 뉴욕 구경도 하고 좋았습니다 ㅎㅎ 인터뷰는 너무 해이해져 있었는지 망했지만요..(절 붙여준 군인 친구에게 사과를..)


참고:

미국 같은 경우 레쥬메 (이력서)는 정해진 형식이 없이 구직자 마음대로 작성하거나 꾸밀 수 있습니다. 하지만 어느 정도 회사에서 원하는 내용이 들어가 있어야 한다고 생각합니다.  저 같은 경우에는 여러 레쥬메들을 표방하고, 학교 구직 센터에 가서 첨삭도 받고, 또 많은 조언들을 따라서 작성했지만 가장 큰 틀은 아래 예제를 벗어나지 않았던 거 같습니다.

https://www.careercup.com/resume

가장 중요한 건 경력 설명할 때 내가 맡은 role이 무엇인가를 적는 게 아니라, 내가 어떤 일을 얼마큼 improve 했는가/ impact를 남겼는가를 수치로 표현하는 일인 거 같습니다. 예시) 나는 어떤 작업을 통해서 팀 프로그램의 속도를 15%만큼 발전시켰다.

사실 제일 좋은 건 남들 눈에 확 뜨일만한 회사 경력이나 학교 네이밍을 가지고 있는 것 이겠죠. 근데 그런 회사 경력을 가지려고 이런 레쥬메를 열심히 작성하는 건데... (저희는 경력을 가진 신입을 원합니다? 이런 심보..)


인터뷰 준비의 경우, 밑에 두 책이 많은 추천을 받는 거 같습니다. 저도 두 책 다 가지고 있었고요.

https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517671272/ref=sr_1_5?ie=UTF8&qid=1546307592&sr=8-5&keywords=programming+interview

https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=sr_1_2?ie=UTF8&qid=1546307574&sr=8-2&keywords=cracking+the+coding+interview


하지만 저는 leetcode 같은 online-judge 사이트가 더 효율적이고 확실하게 인터뷰 준비를 시켜줄 수 있지 않나 생각이 됩니다. 바로바로 내가 푼 결과를 알 수 있고, 다른 답과 비교해서 나은 점, 고쳐야 할 점을 찾을 수도 있죠.

매거진의 이전글 미국 개발자 이야기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari