우선 컴퓨터공학과라면 누구든지 가고 싶어하는 신의 직장! 구글에 대해서 써볼까 합니다. 구글에 대한 회사 소개는 필요 없을것 같으니 패스~
제가 구글에 지원했을 때는 1학년을 막 마치고 2학년 시작하기 전. 2014년 9월 중순쯤이었던 것 같습니다.
http://www.google.com/about/careers/
여기 가보면 가끔 인턴 공고가 뜹니다. 미국 기준 여름 인턴십은 9월에 뽑기 시작해서 12~1월 정도까지 뽑는 것 같습니다.
저는 지원하고 나서 1주일 정도 지나자 구글에서 이메일로 연락이 왔습니다.
구글의 채용 프로세스는 다음과 같았습니다. 전화 인터뷰 2번→On-site(현장) 인터뷰→오퍼. 전화 인터뷰는 back-to-back, 즉 두 개를 연달아서 봤습니다.
구글은 Google Drive(구글 드라이브)에 Doc을 하나 만들어서 거기에 코딩을 시킵니다. 마치 마이크로소프트 워드에 코딩하는 것처럼 상당히 귀찮고 불편합니다.
면접을 보기 전에 준비를 했어야 하는데 학교 다니는게 바쁘기도 하고 따로 시간내서 공부할 시간이 없어서 그냥 봤습니다.
인턴십들에 대해 말하자면 미국의 모든 컴퓨터과학 관련 인턴십들은 다 코딩을 시킵니다. 기본적으로 얼마나 학점이 좋고 학벌이 좋던 무조건 코딩을 시킵니다. 학벌, 학점은 인터뷰 스크리닝 용인듯 보입니다. 그래서 수업시간에 집중해서 수업을 들어야 합니다. 특히 자료구조와 알고리즘.
첫 번째 인터뷰는 꽤 쉬웠던 걸로 기억합니다. 한 20분정도 제 background(배경)와 experience(경험)에 대해서 잡담을 하고 나서 문제를 하나 던져줍니다. 대충 이런 문제였던 것 같은습니다. "There is a linked list like this: a → b → c → d → e. Write an algorithm to 'fold' this linked list, to make it look like a → e → b → d → c".
C++로 코딩을 했는데 그냥 하나씩 돌면서 vector에 저장해놓고 나중에 for loop으로 돌렸습니다. 인터뷰어도 나쁘지 않다고 생각했는지 아니면 아무것도 몰라서 물어볼 필요가 없겠다라고 생각한건지 더 물어보진 않았습니다.
두 번째 인터뷰는 좀 더 어려웠습니다. "Design a system in which you have to keep track of all the actions of the users that visit your site."
문제를 듣고 살짝 멍했습니다. '분명 알고리즘, 자료구조만 물어볼 줄 알았는데'라고 생각했는데 '이런 걸 물어보지?' 해서 어버버 하고 패닉에 빠졌던 것으로 기억납니다. 인터뷰어가 매우 친절하게 walkthrough를 해줬지만(단계적으로 알려줬지만) 저는 거기서 눈앞이 깜깜해져서 '아 이제 끝이구나' 생각했습니다. 아니다 다를까 결과는 불합격이었습니다.
엄밀히 말해서 제가 가장 처음 본 technical interview(기술면접)였는데 준비를 제대로 안하고 본 결과였습니다. 다른 분들은 준비를 열심히 하셔서 저와 같은 일이 없길 바랍니다.
구글 면접을 저와 비슷한 시기에 봤던 선배도 scalability(확장성)에 관한 문제가 나와서 당황했다고 했습니다. 그래서 알아보니까 구글이 가장 좋아하는 문제 카테고리는 scalability입니다.
예컨대 "Design a data structure to hold user data for YouTube"란 문제를 내서 C struct로 name, age, ID, password 이렇게 썼더니 유저가 1000만명으로 늘면 어떻게 될까? 라고 follow-up(후속조치)을 물어보는 등 scalability에 굉장히 신경을 많이 씁니다.
그리고 저처럼 2학년이나 1학년 끝나고 구글과 면접보는 사람들은 꼭 Google Engineering Practicum으로 지원하기 바랍니다. 1학년, 2학년 학부생들을 대상으로 한 소프트웨어 엔지니어링 인턴십이지만 일반 인턴십보다 면접도 훨씬 더 쉽다고 들었습니다. 저는 그냥 소프트웨어 엔지니어링으로 지원했다가 망했습니다.
2016년 공고 이미 나와있습니다.https://www.google.com/about/careers/search#!t=jo&jid=120165001&
제 같은 기숙사에 살고 있던 중국인 선배가 1학년부터 4학년까지 구글에서 인턴십을 했었는데 구글 인턴십의 조건은 꽤 좋습니다. 실리콘밸리 집값 비싸서 걱정되나요? 구글이 대줍니다. 이건 인턴십만 해당되는 사항입니다.
밥 어떻게 해먹을까요? 구글이 대줍니다. 이건 인턴, 풀타임 둘다.
의식주 중 식, 주 다 대줬는데 '의'는 안대줄까요? 대줍니다. 진짜로. 이것도 인턴, 풀타임 둘다. 하지만 맨날 구글 티셔츠만 입고 다니는 풀타임은 없는 것 같습니다.
그 선배가 구글로 인턴하러 올 때 청바지 두 벌만 가지고 오면 된다고 장난식으로 말했습니다.
구글은 work-life balance(일과 생활의 균형)가 상당히 좋은 회사로 유명한데 인턴도 마찬가지 인 것 같습니다.
그럼 단점은 무엇일까요?
인턴십의 기본은 아무래도 full-time, 즉 정규직 전환이 가능하냐인 것 같습니다. 구글은 인턴들에게 풀타임 오퍼를 안뿌리는 회사로 유명한 것 같습니다. 저 선배도 3년간 구글에서 인턴십을 했지만 결국 풀타임 오퍼를 못받고 마이크로소프트로 갔습니다. 아무래도 구글에 오겠다는 인재들이 그만큼 넘친다는 뜻이겠죠?
구글 풀타임 엔지니어 분께서 여기까지 보고 연락을 해주셨습니다. 구글도 인턴들에게 풀타임 오퍼를 주지만 다른 회사들에 비해 그 프로세스가 빡빡하다고 합니다. 인턴십 중 좋은 인상을 주고 호스트가 남기자고 하면 50% 이상 받는다고 합니다.