우버, 신입 실수로 15분 다운·수십만달러 손실…신입 어떻게 됐나

이학렬 기자
2015.11.02 13:21

[美유학생의 글로벌 기업 인턴면접후기]네 잘못 아닌 내 잘못… 개발자 공격적 채용

[편집자주] 대표적인 ‘미생’인 인턴. 하지만 인턴은 회사가 어떤 일을 하는지를 경험하고 정규직으로 가는 가장 빠른 길이기도 하다. 특히 미국에서는 구글, 마이크로소프트 등 글로벌 기업들이 다양한 인턴십 프로그램을 운영하고 있다. 머니투데이는 글로벌 기업 인턴을 준비하는 학생들과 취업준비생들에게 도움이 될 수 있도록 미국 유명 사립대인 노스웨스턴대 컴퓨터공학과 학/석사 통합과정 3학년 재학중인 유학생 황성윤씨(20)의 인턴십 면접 후기를 옮겨왔다. 황씨는 캘리포니아 마운틴뷰에 위치한 교육 스타트업 Shmoop에서 파트타임 소프트웨어 엔지니어링 인턴으로 2년째 일하고 있다. 황씨의 면접후기는 개인적인 경험일 뿐이며 모든 지원자들이 같은 과정을 겪는 것은 아니다. 또 미국내 인턴 지원 과정과 한국내 지사의 인턴 지원 과정이 다를 수 있다.
/사진제공=우버

최근 나온 스타트업 중 가장 핫한 스타트업을 꼽아보자면 Uber(우버)를 꼽지 않을 수 없습니다. Uber에 대해 간단히 설명하자면 공유 라이딩 서비스입니다. 즉, 누구나 택시 운전자처럼 손님을 태울 수 있게 손님과 운전자를 연결시켜주는 서비스입니다.

제가 살고 있는 시카고, 실리콘밸리에 위치한 샌프란시스코, 자타공인 미국 최고의 도시 뉴욕 등을 비롯해 미국에서는 많이 쓰이고 있는 서비스입니다. 물론 택시업계로부터 엄청난 질타를 받고 있습니다.

공유 경제 플랫폼인 만큼 한국을 비롯한 수많은 나라와 도시들에서 법적 분쟁에 휘말리고 있습니다. 말도 많고 탈도 많은 스타트업이지만 제가 관심이 있는 것은 온전히 Engineering standpoint(엔지니어링 관점)에서 Uber라는 회사가 직면한 문제입니다.

Uber는 3개월 전의 피크 트래픽이 평균 트래픽이 된다는 얘기가 있을 정도로 엄청나게 빠른 속도로 성장하고 있습니다. 페이스북의 성장을 능가할 정도라고 합니다. 우버 애플리케이션 자체도 운전자와 손님을 실시간으로 연결시켜주고, 손님이 많은 시간대와 위치를 예측해 운전자들을 미리 그 주변에 배치하는 등 여러가지 편리한 기능을 갖추고 있습니다.

물론 편리한 기능은 개발자들의 피땀으로 만들어질 겁니다. 그래서 우버는 개발자들을 최근 공격적으로 채용하고 있습니다.

친한 학교 선배 중 한 명이 지난해 Uber에서 인턴을 했습니다. 그 선배가 저보고 꼭 지원해보라고 하셔서 학기가 시작하기 전에 Uber 웹사이트에 들어가서 제 이력서를 보냈습니다.

그런데 다음날 아침에 일어나 보니까 리크루터에게서 이메일이 왔습니다. 엄청난 속도의 답장에 참 놀랐습니다. 면접은 2주후로 잡혔고, 가장 관심있는 팀 2개를 선택하라고 했습니다. 우버 개발팀에는 6개의 부서가 있습니다.

1. Growth - 비즈니스/애널리틱스 관련된 부서입니다.

2. Mobile - 모바일 앱 개발 팀입니다

3. Front End - 웹 프론트엔드 담당 팀입니다

4. Infrastructure - 인프라 담당. 아무래도 Dev Ops(디봅스)쪽 인것 같습니다

5. Backend - 백엔드 담당 팀입니다

6. Realtime - 실시간 예측, 데이터 분석 등 담당 팀입니다

저는 backend와 realtime에 관심이 있다고 말했습니다. 2주 후 전화가 왔습니다.

제 이름을 제대로 발음하지 못하길래 영어이름을 알려주니 좋아했습니다. 굉장히 친근한 면접관이었습니다.

그리고 처음 물은 것은 "Well, I have your resume in front of me, but this is just a sheet of paper. Tell me more about yourself. Who are you? Who is this guy James?(음, 지금 네 이력서를 보고 있는데, 이건 종이 한장일 뿐이지. 너에 대해서 더 얘기해봐. 넌 누구야? 제임스가 대체 어떤 사람이야?)

저는 제가 왜 컴퓨터공학을 전공하게 됐는지, 제가 일하는 방식, 제가 하고 싶은 일들에 대해서 줄줄 얘기했습니다. 문제 푸는 걸 좋아하는 성격, 원래 수학을 전공하고자 했지만 좀 더 직접적으로 문제를 해결하고자 컴퓨터공학으로 오게 된 얘기, 뭔가 흥미로운 문제나 주제가 생기면 그냥 파고드는 특성 등등에 대해 얘기를 하자 면접관이 "어! 너 나랑 참 비슷하다!"하면서 이제 자기를 소개하겠다고 했습니다.

면접관은 우버의 Realtime팀에서 일하는 엔지니어였습니다. 우버로 오기 전에는 야후, 구글에서 일했었고, 우버에는 새로운 문제들과 씨름하기 위해서 왔다고 했습니다.

현재 우버에서 쓰이는 실시간 요청 분석 서비스 플랫폼을 대체할 서비스를 Go 언어로 작성하고 있다고 하면서 저보고 Go를 아냐고 물어봤습니다 마침 지난해 봄 학기에 분산 시스템 수업을 들으면서 Go 언어로 한 학기동안 프로젝트를 Go 언어로 만들었던 경험에 대해서 얘기하자 아주 흥미로워하더니 면접 질문을 그냥 분산 시스템에서 내겠다고 했습니다.

팍소스(Paxos) 알고리즘의 수도코드 구현, Go 언어에서의 goroutine(고루틴)과 비동기식 channel(채널) 등에 대한 질문이 나왔습니다. 분산 시스템 수업을 아주 열심히 들었던게 도움이 많이 됐습니다.

제가 질문에 답변을 다 하자 면접관이 굉장히 좋아했습니다. 그리고 나서 저에게 질문이 있냐고 묻길래 우버에서 개발자로써 경험했던 일 중 가장 최악이 뭐였냐고 물어봤습니다.

팀 밑으로 신참이 하나 들어왔을때 엄청난 실수를 해서 한번 우버가 15분간 다운되는 일이 있었다고 합니다. 엄청난 양의 항의전화가 빗발치고 그 때 손실액만 몇십만 달러라고 했습니다. 버그를 고치기 위해 우버의 전체 개발팀이 다 달라붙어서 고쳤다고 합니다.

그래서 "그 신입 어떻게 처분했나요?"라고 물어봤더니 "그 친구 잘못은 없고 팀의 리드 엔지니어로써 그걸 제대로 자기가 먼저 파악하지 못한 잘못"이라고 했습니다. 여기서 참 감동이었습니다.

물론 다른 개발팀들이 코드 리뷰를 제대로 못한 책임도 있지만, 스타트업에서는 그걸 항상 제대로 해내기가 참 힘듭니다. 특히 릴리즈 스케쥴이 빠듯하고 서비스 트래픽이 갑자기 늘어날 경우 인력이 가뜩이나 부족한 스타트업에서는 그걸 메꾸기가 굉장히 힘듭니다.

하지만 그걸 서로의 책임으로 돌리는 대신 내 잘못이다! 이렇게 당당하게 말하는 모습이 참 보기 좋았습니다. 누군가가 실수를 했을때 그 실수를 그 사람 탓으로 돌리기보다는 모두 힘을 합쳐서 극복해 나가는 그런 환경. 개인적으로 이런 곳에서는 꼭 일하고 싶다라는 생각을 심어줬습니다.

개인적으로 스타트업에서 인턴을 해 봤는데 구글, 야후같은 큰 기업에서 일하다가 우버에 오니 어떤 면이 가장 다르냐고 물어봤습니다. 구글, 야후에 비해서 개발팀들이 훨씬 sense of ownership(오너십)이 강하다고 했습니다. 큰 회사들에서는 벽돌 한 장인 것 같은 기분이었지만 우버에서는 실질적인 difference(차별점)를 만들어 나가는 것 같아서 업무량은 훨씬 많지만 그만큼 보상이 크다고 말해줬습니다.

얘기를 하다 보니 원래 면접이 45분이었는데 한시간 15분을 훌쩍 넘겨서 면접관이 마지막에 얘기했습니다.

"Oh, it's already been an hour and fifteen minutes. James, I'm getting kicked out of this conference room. But I really hope to see you here at Uber next summer! I'll pass that on to the recruiter, so don't go to Google or Microsoft!"(아, 벌써 시간이 이렇게 됐네. 제임스, 나 지금 이 회의실에서 쫓겨나고 있어. 너 내년 여름에 여기 꼭 왔으면 좋겠어! 리크루터한테 그렇게 전할테니까 구글이나 마이크로소프트로 가지마!)

'참 유쾌한 면접관'이라는 생각이 들었습니다. 예의상 저렇게 말한 걸 수도 있지만 면접관이 지원자를 웃게 하는 경우는 참 드문데 저런 면접관을 만나서 참 운이 좋다고 생각했습니다. 저도 나중에 회사에 대한 좋은 이미지를 심어 주는 그런 면접관이 되어야겠습니다.

인터뷰 본 바로 당일날에 리크루터한테 이메일이 왔습니다. 피드백이 너무 좋아서 최종 면접으로 바로 가겠다고요. 보통 한 번 정도 더 보는 것 같습니다.

최종 면접 역시 전화 면접이었습니다. 최종 면접은 20년의 경력을 가진 실시간 데이터 분석 팀의 manager(팀장)였습니다. 우버로 오기 전에 Netflix(넥플릭스)에서 일했고 그 전에 AOL에서 일했다고 말해줬습니다.

전화를 하더니 가장 처음 물어본 질문이 "Which team do you want to work at?"(어떤 팀에서 일하고 싶니?)였습니다.

좀 당황해서 "umm.. I'm not really sure. I did put down the realtime team as my first interest. Are you asking me for more specific interest?" (음. 잘 모르겠어요. 실시간 팀을 가장 우선순위로 꼽긴 했는데, 더 세부적인 관심을 알고 싶으신건가요?)라고 물어봤습니다.

그랬더니 수요 예측 플랫폼, 실시간 위치 분석 플랫폼 등 여러가지를 얘기해줬습니다. 그래서 저는 다 흥미롭지만 특히 분산 시스템과 관련된 일을 하고 싶다고 했습니다. 알겠다고 하더니 갑자기 긴급 미팅이 잡혀서 가봐야 한다고 미안하다고 했습니다. 대신 어려운 문제를 하나 줄 테니까 파이썬으로 코딩해 놓으면 나중에 읽어보겠다고 했습니다. 근데 아주 어려운 문제는 아니었습니다. Minkowski sum(민코스키 합계)에 관련된 문제였씁니다.

코딩을 마치고 주석으로 "# Thank you for taking the time to interview me, it was a great experience to interview with Uber!"라고 달아놓고 코더패드를 닫았습니다.

그리고 나서 한 2주가 지났는데도 연락이 없길래 떨어졌나 했습니다. 참 초조했습니다. 첫 번째 면접 끝나고 우버에 대해 굉장히 좋은 인상을 받았고, 가장 핫한 스타트업 중 하나에서 제가 관심있어 하는 분야의 일을 할 수 있다고 생각해서 꼭 우버에 가고 싶다고 생각했는데.

그러다 갑자기 2주 후에 리크루터한테서 이메일이 왔습니다. 자기가 1주일간 출장을 갔다와야 해서 그동안 연락을 못했다고 하면서 바로 다음날에 전화로 면접을 또 보겠다고 했습니다. '떨어진게 아니라니'하고 바로 알겠다고 하고 면접을 준비했습니다. 이번 면접은 리크루터 본인과의 면접이라고 하길래 인성 질문들이 나올것 같아서 미리 준비를 했습니다.

다음 날 전화를 하더니 바로 "congratulations! We'd like to extend you an offer for software engineering internship at Uber!"(축하해! 우버 인턴십에 합격했어)라고 했습니다.

당황해서 말이 안나오길래 "Oh.. Oh!! Really?"(어.. 어!! 정말요?)라고 말해버렸습니다. 리크루터가 웃으면서 "Yes! Congratulations!"라고 말해줬습니다. "Ha. Thank you so much!!!"라고 감사인사를 전하자 우버의 benefit(혜택)들을 읊기 시작했습니다.

조건은 매우 좋았습니다. NDA(비밀유지계약서)를 사인한 관계로 여기에 적지 못하지만 선배들이 구글, 페이스북에서 받은 오퍼들보다 훨씬 더 좋았습니다.

<저작권자 © ‘돈이 보이는 리얼타임 뉴스’ 머니투데이. 무단전재 및 재배포, AI학습 이용 금지>