brunch

You can make anything
by writing

C.S.Lewis

by 채규병 Nov 23. 2019

[번역] 데이터과학 인터뷰에서 살아남는 방법

데이터 과학자를 꿈꾸며


데이터과학 인터뷰에서  살아남는 방법


원문 보기

번역: 채규병



머신러닝의 끝과 끝

인터뷰들은 뭣 같이 무섭다. 당신의 연봉과 안정적인 삶을 정해주는 힘을 가진 누군가의 테이블 건너편에 앉아야 한다. 그들의 손에 당신의 미래가 달려있다. 또 그들이 당신을 믿고 좋아할 수 있도록, 당신이 똑똑하다고 생각하게 만들어야 한다. 평생 동안 몇 번 오지 않는 기회일수록 굉장히 더 걱정이 된다. 하지만 운 좋게도, 이를 당신에게 좀 더 유리하게 바꿀 수 있는 몇 가지 방법이 있다.




인터뷰 준비하기

여기에 데이터 과학에 대한 굉장한 것이 몇 가지 있다. 미칠 듯하게 넓은 데이터 과학 영역은 이 중에 하나는 아니다. 데이터 과학자라는 타이틀은 회사마다 의미하는 게 다르다. 몇몇 곳에서는 통계학 박사를 뜻한다. 또 어디서는 엑셀에 능숙한 것을 말한다. 또 어떤 곳은 머신러닝 제너럴리스트를 의미한다. 또 스파크와 하둡을 잘 다루는 것을 의미하기도 한다. 구인 공고를 잘 읽어보라. 특히 특정한 기술이나, 도구 그리고 프로그래밍 언어들에 유념해서 말이다. 잘 쓰인 공고는 그들이 무엇을 찾고 있는지에 대해서 많은 인사이트를 준다.  


당신은 제한적인 준비 시간을 가지고 있다. 이는 당신의 예산이다. 그리고 당신은 이를 사용해서 최대한 큰 수익을 얻기는 바란다. 이런 당신에게는 몇 가지 선택사항이 있다.


최선: 어떤 것을 준비해야겠다는 강한 느낌이 온다면, 그걸 해라.

차선, 하지만 여전히 멋진 것: 만약에 리크루터가 조언을 주었다면, 그걸 해라.

마지막 방법: 어디서부터 시작해야 할지 모르겠다면, 아래 내용 중에서 하나를 선택하길 추천한다.



포켓 플랜(10시간짜리)

이는 단지 이미 아는 것을 털어내기에 적합한 시간이다. 편안함을 느끼는 당신의 레벨과 구인 공고에 나온 내용을 비교해보라. 당신이 최근 5년 간 사용하지 않은 기술들이 있는가? 몇몇 용어는 전혀 모르겠고? 어디에 당신과 큰 차이가 있는가? 이런 것들에 당신의 예산을 더 써라.


여기에 권총 자루에서 당신의 근본적인 스킬을 풀어낼 방법이 있다.

1. 코딩
 해설서를 펼쳐라(for example). 자료구조나 문자열 다루기 같은 기초적인 영역의 6가지 기초 사항을 읽어라. 연습 문제 2개를 풀 수 있는 프로그램을 짜고 설명해보아라.

2.  데이터 엔지니어링
 해설서를 펼쳐라. WHERE 절과 같은 조건과 JOIN과 같은 기초적인 영역의 6가지 기초사항을 읽어라. 3개 문제에 대해 SQL 쿼리를 써서 설명해라.

3. 확률과 통계
 입문서의 앞 절반을 펼쳐라. 모든 중요 정의와 방정식을 읽어라. 2개 연습 문제 대한 답을 쓰고 설명해라.

4. 머신러닝 그리고 알고리즘
 Steven Skiena's Algorithm Design Handbook의 첫 3 챕터를 펼쳐라. 익숙지 않은 두 개의 섹션을 읽어라. 당신이 익숙한 머신러닝 알고리즘에 대해 그림을 가지고 설명해라.


만약에 연습문제에 대한 아이디어가 필요한다면,  GlassDoorLeetCode 가 도움이 되는 원천이 될 것이다.


만약 당신이 이 모든 걸 큰소리로 연습한다면 굉장히 도움이 될 것이다. 당신의 고양이 혹은 빈 의자에 대고 당신의 답을 설명해라. 펜과 종이 혹은 화이트보드(더 낫다)를 이용해라. 이것들은 작게나마 인터뷰 환경에서 당신이 편안하게 임하는 데에 도움이 된다.


또한, 다섯 가지 영역을 할 시간을 남겨두는 걸 잊지 마라: 회사에 대해서 배우기. 웹페이지를 방문해라. 그들이 어떻게 돈을 벌고, 고객이 누구인지에 대해 감을 얻어라. 기술 블로그를 읽어라. 그들이 쓰는 도구가 무엇인지, 어떤 인프라 구조로 이루어져 있는지 알기 위해서 말이다. 그들의 CEO 이름을 알아두어라. 만약 운 좋게도 면접관 이름을 알게 되었다면, 그의 커리어에 대해서 구글링 해라. 그들이 관심 있는 연구를 알아두어라. 그들에게 중요한 게 무엇인지에 대한 느낌을 얻어라.




스탠다드 플랜(40 시간짜리)

만약 포켓 플랜이 팬케잌 한 장이라면, 스탠다드 플랜은 그 더미이다 - 같은 방식으로 반복하고, 각 회차마다 지난번보다는 조금 더 깊게 들어가라. 같은 예제를 더 풀어보고, 같은 레퍼런스를 더 읽어라. 포켓 플랜이 단순히 당신이 아는 것을 털어낼 정도만 충분하다면, 스탠다드는 아는 것을 더 날카롭게 다듬게 해 준다. 즉, 들어 본 적은 있지만, 체득하지 못한 것에 대해 익힐 수 있다.


포켓 플랜에 대한 첫 회차가 지난 후에, 잠시 뒤로 물러나서 최소한 준비해야 할 부분이 무엇인지 살펴보라아. 예를 들면, 구인 공고에 "SQL 필수"라고 쓰여있거나, 리크루터가 몇몇 SQL 테스트가 있다고 말해줬음에도, 당신이 SQL을 전혀 모른다면, 이게 이다. 당신이 더 깊게 파고들 부분의 위시리스트를 만들고 가장 큰 갭부터 시작해라. 그 후에 포켓 플랜으로 돌아가서 당신의 시간을 문제와 레퍼런스들을 유심히 읽는 데에 쏟아라.





딜럭스 플랜(100+ 시간 짜리)

만약 딜럭스 옵션을 사는 아주 럭셔리한 구매 의사를 가지고 있다면, 축하한다! 당신은 스크래치만 내던 새로운 스킬을 얻을 충분한 시간을 가지고 있다. 이를 위해서는 스탠다드 플랜(갭 분석하기)을 시작해야 한다. 다른 점은 큰 한 방을 가져오기 위해 연습 문제를 하는 것 대신에 해야 할 것이 있다: 미니 프로젝트 그리고 인터뷰 연습.


미니 프로젝트. 미니 프로젝트는 시작부터 끝까지 10시간이 넘지 않은 크기의 프로젝트이다. 이는 새로운 스킬과 개념을 전체적으로 마스터하는 여정 위에 당신을 올려줄 것이다. 어떻게 이 프로젝트가 통하는지 알아보자.


1. 선택하기. 프로젝트를 선택해라. 이 프로젝트는 하나 또는 두 개의 갭이 있는 스킬을 사용하게 해야 한다. 이것은 아마도 어렵겠지만, 과대평가할 필요는 없다. 유스 케이스는 우스울 수 있다. 결과도 하찮을 수 있다. 오직 필요한 것은 하나다. 이 프로젝트가 당신이 배우려는 스킬을 요구한다는 것이다.

2. 실행하기. 이 부분이 재밌는 부분이다. 당신의 이 작고 귀여운 프로젝트를 완성하기 위해선, 당신은 어떤 것이든 배우려고 노력할 것이고, 이는 작게나마 실전 경험이 된다. 인터넷 검색, 시행착오, 아마도 몇 번의 눈물까지도 엄청 많이 겪을 것이다. 이것들은 매우 좋다. 자기 주도 학습은 고통스럽지만, 새로운 스킬을 키우는 가장 빠른 방법이다. 포기하지 마라.

3. 멈추기. 프로젝트는 그들만의 생명을 가지는 경향이 있다. 그리고 이와는 사랑에 빠지기 쉽다. 10시간 뒤에는 당신 스스로를 강제로 멈추게 해야 한다. 그렇지 않으면 당신은 다른 갭들을 무시하게 되는 위험에 처할 수 있다. 만약 그 프로젝트를 죽일 수 없다면, 최소한 인터뷰가 끝난 후까지 보류해라. 인터뷰가 끝나면 돌아와서 열정적인 프로젝트를 다시 해라.

4. 보고하기. 프로젝트를 큰소리로 설명하기 전까지는 당신은 아무것도 끝낸 게 없다. 풀려고 했던 문제는 무엇인가? 사용한 접근법은 무엇인가? 어떻게 그게 작동했는가? 배운 건 무엇인가? 다음번엔 무엇을 다르게 할 것인가? 이게 당신이 얻을 수 있는 최고의 인터뷰 연습이다.




인터뷰 연습하기. 불행히도, 데이터 과학자를 원하는 회사가 원하는 것을 배우는 가장 좋은 방법은 그들과 인터뷰를 하는 것이다. 하지만 같은 고용주를 몇 년이 넘게, 여러 번 인터뷰하는 것은 흔하지 않다. 직접 인터뷰하기는 당연히 비싼 데이터 축적 프로세스지만, 인내심이 있는 후보자에게 멋진 보상을 준다.


만약에 이 프로세스에 대한 더 빠른 버전을 원한다면, 연습 삼아 다른 회사와의 인터뷰를 이용해라. 당신이 목표로 하는 회사에 대해서 알 수 있진 않다. 하지만 내가 아는 어떤 방법보다 인터뷰 스킬을 키우는 빠른 방법이다.






인터뷰 날

https://commons.wikimedia.org/wiki/File:A_Special_Forces_Assessment_and_Selection_candidate_conducts


만약 당신이 정말로 충분히 준비되어 있다면 당신은 인터뷰를 주도하고 제안을 받을 수 있다고 내가 보장할 수 있다면 좋겠다. 불행히도 진실은 이보다도 더 차갑다. 하지만 절대 실망하지 마라! 눈을 크게 뜬다면 데이터 과학 인터뷰에서 스타일리시하고 우아하게 살아남을 것이다.


차가운 현실 1: 당신은 아마도 제안을 받지 못할 것이다. 평균적으로, 우리는 제안을 얻기까지 한 번 이상의 인터뷰를 갖는다. 그리고 어떤 인터뷰라도 그보다 더 많은 거절을 초래한다.


해결책: 절대로 "진짜" 인터뷰를 하지 마라. 만약 매 인터뷰가 다음을 위한 연습이라면, 당신은 절대로 "나는 절대로 붙어야 돼"라는 추가적인 부담을 가지지 않을 것이다. 그리고 제안을 받지 못하더라도 큰일이 아닐 것이다. 이러한 방법으로 접근할 때, 이상한 일이 일어날 수 있다. 예상치 못한 하나의 연습 인터뷰가 잘 될 것이고, 재밌는 문제를 해결하려는 좋은 사람들과 일하게 되는 제안을 잡는 스스로를 발견하게 될 것이다.




차가운 현실 2: 당신의 면접관은 편향적이다. 그들은 인간이기 때문이다. 성별, 인종, 나이 그리고 성적 지향점과 같은 선입관이 있다. 또한 굉장히 바보 같은 편협함도 있다. 예를 들어, 음색, 모교, 심지어는 당신이 쓰는 텍스트 편집기가 무엇인지와 같은 거 말이다. 이것들이 의식적이고 의도적일 때, 이는 도덕적 실패이지만서도, 의도적이지 않은 편향들은 피할 수 없다. 우리 또한 이것들과 연관되어 있다.


해결책: 여기에 당신이 할 수 있는 건 없다. 그러니 시도하지 마라. 이런 걸 예상할 수 없으며, 보상을 받을 수도, 원하지도 않을 것이다.




차가운 현실 3: 당신의 뇌는 당신이 하려는 걸 망치려고 할 것이다. 머릿속에서 들리는 목소리를 무시하는 것은 어려운 일이다. 이는 유혹적이다. 예를 들어, "모두가 나보다 똑똑해 보여", "그렇게 말하면 안 되었는데...", "베이즈 이론을 더 배워야 할 거 같아".


해결책: 당신은 당신의 목소리를 무시할 수 없다(내가 해봤다). 혹은 멀리 떠나보낼 수도 없다(이 또한 해봤다). 그냥 그게 있다는 것만 알아두어라. 이 목소리는 진실을 말하지도 않고 당신을 돕지도 않는다. 그러나 좋든 싫든 당신의 일부이다. 그냥 뒤에서 외치도록 놔두어라. 그리고 그냥 당신의 일에만 신경 써라.




차가운 현실 4: 당신은 아마도 다음과 같은 회사와 일하는 걸 원하지 않을 것이다. 어떤 그룹의 사람은, 풋볼 팀이든지 뭐든, 락 밴드 혹은 가족 같은 회사는 그들만의 방법으로 참으로 기발하다(기능적 결함이라고 말하진 않겠다). 요점은 우리와 맞는 기발한 회사를 찾는 것이다. 불행히도, 단어 자체의 정의만 봐도 기발함이라는 것은 흔하지 않고, 보완적인 부분을 찾는 것도 어렵다. 이는 마치 클라이밍 파트너나 좋은 모자를 찾는 것과 같다. 당신은 몇 번을 시도해서 통하는 하나를 찾아야 한다.


해결책: 인터뷰를 할 때, 당신이 좋아하는 것과 그렇지 않은 것을 찾아라. 만약 살펴보고 그 자리에서 그 사람들과 일하는 장면이 쉽게 그려진다면, 이는 좋은 징조이다. 만약 스스로 생각하기에 "이건 할 수 있겠다"라는 생각이 든다면, 조심히 진행해라. 만약 당장 박차고 나가고 싶다면, 이는 강한 NO이다.




고개를 들어라: 굉장히 큰 상이함이 있든지 간에, 몇몇은 언제나 도움이 될 것이다. 퍼스널 트레이너가 당신을 한계까지 몰아붙인 운동 세트를 한 것처럼, 인터뷰 후에 피곤함을 느낄 수 있다.


당신은 다른 사람의 즐거움을 위해 춤추고 기었다고 느끼지 않아야 한다. 만약 그런 경우라면, 이는 명백한 신호이다. 당신은 이러한 작은 학대를 허용하는 문화와 연결되고 싶지 않다는 것이다. 이들은 또한 큰 학대를 조장하고 조장한다. 운 좋게도 이런 상황은 흔하지 않지만, 주의를 할 필요는 있다.







당신이 되어라

https://commons.wikimedia.org/wiki/File:MCCC_15_-_University_of_Michigan_Stormtrooper_(17473982183).

긍정적인 부분을 보자면, 인터뷰를 할 때에는 당신이 해야 할 대부분의 일은 끝났다는 것이다. 해야 할 것은 샤워하고 제시간에 나타나는 것이다. 그러니 가서 좀 자라(할 수 있다면). 아침을 먹어라(소화할 수 있다면). 그리고 출발하라.


체크리스트는 잊어라. 미러링 혹은 파워 포즈 같은 잔기술에 힘쓰지 마라. 하이퍼하게 열정적인 척하지 마라. 그냥 당신 자체가 되어라. 목이 마르다면, 마실걸 요청해라. 무언가 궁금하면, 물어봐라. 뭐가 재밌다면, 웃어라. 헷갈린다면, 그렇다고 말해라. 당신은 어떻게 답해야 할지 모르는 수많은 질문을 받게 될 것이다. 이는 면접의 목적이다. 이를 받아들이고 질문에 명확함을 요구해라. 당신이 말하려고 하는 모든 것을 기억하려는 순간, 당신은 화이트보드에 무언가를 쓰는 데에 더 많은 정신적 에너지를 쓰게 될 것이다.


잠재적인 고용주에게 당신이 누구인지에 대해 정확한 인상을 주는 것에 관심이 있을 것이다. 이런 광고에 있어서 진리는 당신이 거짓인 척할 필요 없다는 사실이다. 만약 당신이 열정적인 양키스 팬이라면, 그걸 언급해도 괜찮다. 당신이 답 없는 미친놈이라면, 당신의 면접관이 알게 하라. 당신은 이러한 당신의 부분을 어떻게 대해야 할지 아는 사람들과 일하고 싶을 것이다. 만약 당신이 페어 프로그래밍을 하느니 손톱을 뽑겠다면 말해라. 만약 C++ 코드를 평생에 두 줄만 써보았다면, 그것도 괜찮다, 말해라. 당신의 과거를 포함해서, 누군가에 대한 험담은 피해라. 하지만 똑바로 해라. 다른 것인 척하는 것은 당신에게 도움이 되지 않고, 당신의 면접관에도 도움이 되지 않는다.


진실로 당신이 되는 것의 힘은 강력하다. 이는 자석과도 같다. 당신에게 아우라를 주고 당신을 흥미롭게 만든다. 마치 이는 두려움과도 비슷하다. 결과적으로, 이는 당신을 면접관의 마음에 남게 해 준다. 제안을 받든 아니든, 어떤 경우든지, 이것은 당신에게 가장 좋은 결과일 것이다.


당신의 길에 행운이 있기를 빈다. 이 행운은 계획하는 것보다 더 좋은 곳으로 당신을 이끌 것이다.



기권: 이 내용은 나의 현재 혹은 과거의 고용주들의 데이터 과학 인터뷰 과정에 대한 가이드가 아니다. 단지 이 업계에서의 나의 인터뷰 경험으로부터 만들어졌다. 내 의견일 뿐이다. 다른 누군가를 비난하지 말아 달라.



Brandon

January 24, 2018







브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari