Sunday, June 12, 2016

[잡담] 실리콘밸리(Silicon Valley)에서의 Software Engineer 포지션 구직 관련 팁 및 정보


미국에서 소프트웨어 엔지니어로 일하기 가장 좋은 지역이 세 곳이 있는데 (씨애틀 지역, 샌프란시스코/실리콘 벨리 지역, 텍사스 오스틴 지역) 그 중에서도 가장 평균 연봉도 높고 구글과 애플 그리고 페이스북 같은 거대 IT 대기업의 본사가 있을 뿐만 아니라 많은 스타트업 회사들이 포진해 있어서 기회가 많은 샌프란시스코/실리콘 밸리가 지역이 가장 엔지니어한테는 일하기 좋은 지역이 아닐까 생각합니다. 이 글은 필자가 실리콘밸리 지역에서 경험한 내용과 주변 사람들의 이야기를 통해 배운 구직 관련 내용입니다.

1. 접근성
본인이 정말 실리콘밸리에 있는 회사에 취직을 하고 싶다면 우선은 실리콘밸리 쪽으로 오는 것이 가장 좋다고 생각합니다. 사실 이 부분은 꼭 실리콘밸리 지역에 국한된 것은 아니지만 많은 분들이 이 접근성의 중요성에 대해 간과하고 있는게 사실입니다. 학교를 실리콘 밸리 쪽에 있는 학교로 오든 아니면 본인이 원하는 회사는 아니지만 실리콘 밸리 쪽에 있는 회사로 취직을 한후 이직을 준비하든 우선 이 곳에 와서 생활을 하고 인맥을 넓히고 실력을 쌓으면서 인터뷰 준비를 성실히 잘 한다면 기회는 꼭 찾아올 것입니다. 특히 인맥이 중요한 이유는 다른 사람들의 인터뷰 경험을 들을 수 있으며 때에 따라서는 그 회사의 오픈 포지션에 대한 리퍼 (추천)를 받을 수도 있어서 인터뷰 성공 확률을 높일 수 있습니다. 참고로 미국 내에 있는 대부분의 회사들은 추천만으로 고용이 되는 경우는 극히 드물지만 추천을 받게 되면 서류 심사 절차는 생략이 되는 경우가 많기 때문에 인터뷰를 함에 있어서 큰 도움이 됩니다. (특히 구글이나 페이스북 또는 애플 같은 큰 회사는 온라인으로 레즈메를 접수해도 너무나 많은 지원자들 때문에 서류 심사를 통과하는 것도 힘이 드는 경우가 많습니다.) 마지막으로 실리콘 밸리 지역에서는 개발자들을 위한 여러 형태의 컨퍼런스나 Hackathon 같은 이벤트가 매년 꾸준히 열리고 있어서 기술 동향이나 인맥 형성에도 큰 도움이 되고 있습니다.

2. 실력
물론 당연한 이야기지만 실리콘 밸리에 있는 좋은 회사에 취직하기 위해서는 경력과 레벨에 따른 실력이 있어야 합니다. 작은 회사일 경우를 제외하고는 다른 사람의 추천 만으로 취직을 하기가 쉽지 않고 실력이 없다면 대부분의 Technical 인터뷰 과정에서 떨어지기 때문입니다. 참고로 이제 막 졸업한 학생일 경우에는 몇 가지 특별한 도메인의 스페셜리스트가 되기 보다는 다양한 분야에 대한 경험이 있는 것이 더 좋을 수 있습니다. 그 이유는 첫째, 학교에서 경험할 수 있는 프로젝트에는 한계가 있고, 둘째, 그 경험들이 실제 인더스트리에서 사용되는 경우도 거의 없으며 (여러가지 환경적인 요인들 때문에) 마지막으로 그렇게 되면 결국 자신이 구할 수 있는 취직 기회의 범위를 축소하는 결과를 낳기 때문입니다. 대략적인 인터뷰 과정과 준비해야할 항목에 관해서는 따로 글을 작성해서 올리도록 하겠습니다.

3. 학력
몇몇 특정 기업의 특정 포지션에 한해서는 학력을 중요시하는 경우가 있지만 이곳에 있는 대부분의 회사들은 특정 학교 졸업을 요구하거나 인터뷰 시 중요하게 보고 있지 않습니다. 단 학사 졸업은 보통 기본으로 요구하고 있으며 (CS나 CE 쪽) 석사를 선호하는 편입니다. 어떤 학교를 나오든 인터뷰를 보는 절차는 같기 때문에 인터뷰 준비만 잘 하면 학력은 크게 문제가 되지 않는 것 같습니다.

4. 언어 능력 (영어)
미국 내에 있는 회사에서 일을 하려면 영어 구사 능력은 필수이지만 그래도 다른 직종에 비해 (회계사나 세일즈맨 같은) 엔지니어들한테 요구되는 언어 능력은 조금 덜 한 편이며 특히나 실리콘 밸리 지역은 워낙에 외국인 엔지니어들이 많기 때문에 (특히 인도인과 중국인) 미국 내의 다른 지역에 비해 언어 능력 부족에 조금 관대한 편입니다. 기본적인 회화 능력과 자기 생각에 대한 정확한 서술을 할 수 있고 상대방의 이야기를 이해하고 토론 가능한 정도면 일을 하는데 있어서 큰 무리가 없습니다. (물론 이전에 미국에서 생활한 경험이 없거나 영어권 국가에서 연수 및 유학을 하지 않은 경우에는 이 정도까지 오는데도 쉽지는 않겠지만요) 그렇지만 위의 내용은 말단 엔지니어일 때의 경우이고 좀더 높은 포지션의 인터뷰 때는 (매니저나 테크니컬 리드 같은) 기술적인 실력도 중요하지만 언어 능력이 더 많이 중요하게 작용하기 때문에 이 부분에 있어서는 좀더 많은 개선이 있어야 합니다.

5. 대기업 vs 스타트업 회사
일반적으로 스타트업 회사는 경험이 많이 있거나 여러가지를 다양하게 할 줄 아는 엔지니어를 선호하며 (지금 당장 쓸수 있는 엔지니어) 대기업은 경험이 부족해도 잠재력이 있거나 기초가 튼튼한 엔지니어들을 고용하는 경우가 많이 있습니다. 입사 후에 하는 일들도 대기업은 특정 분야에 대해서만 일을 하게 되지만 스타트업 같은 경우에는 여러 가지 다양한 일을 동시에 진행하는 경우들이 대부분입니다. 참고로 이야기하자면 스타트업의 업무 환경이 대기업보다 더 좋은 곳이 많으며 평균 이상의 스타트업 같은 경우 (투자금 상황이 괜찮은 경우) 직원 대우 (연봉 + RSU)도 대기업과 거의 비슷한데다가 향후 주식상장을 하거나 대기업에 합병되었을 때 스톡옵션이 대박나는 경우들이 있기 때문에 오히려 대기업보다 더 들어가기 힘든 곳들이 꽤 있습니다. (Uber나 Airbnb 같은)

6. 회사별 몇 가지 정보
 - Google: 구글은 웬만한 지원자들한테 인터뷰 기회를 주는 편이며(학벌이나 경력 상관없이) 인터뷰한 사람들의 DB를 구축해서 관리하고 있은 것으로 알고 있습니다. 인터뷰 난이도는 높은 편이지만 절차가 상당히 체계적이고 공정하게 진행되는 것으로 알려져 있습니다. 구글 인터뷰 과정의 특징은 Hiring Manager의 권한이 제한되어 있어서 소수의 인맥을 통한 편법적인 채용이 힘들고 모든 인터뷰 절차가 끝난 후 인터뷰를 진행한 사람들이 모여 인터뷰 결과를 공유하는데 이 때 다수로 부터 높은 점수를 받아야 합격이 되는 것으로 알고 있습니다. 만약 인터뷰에 패스를 못 하면 1년 안에 다시 지원을 못하며 (지원을 하더라도 새로운 인터뷰 진행이 안됩니다) 온사이트 같은 경우에는 최대 3번까지 가능합니다. (만약 온사이트까지 가서 떨어진게 3번이 되면 삼진 아웃제 같이 차후에 지원을 하더라도 인터뷰 진행 자체가 아예 안되는 것으로 알고 있습니다.)
 - Apple: 애플은 같은 부서에서 나온 포지션만 아니면 여러 부서의 여러 포지션에 대한 동시 인터뷰 진행이 가능합니다. 인터뷰 과정 중 특이한 점은 알고리즘 쪽 관련 질문 외에도 그 부서에서 사용하는 기술 관련 질문들의 비중도 꽤 높은 편이며 구글보다는 Hiring Manager의 권한이 큰 편입니다.
 - Amazon: 애플과 비슷하게 여러 오픈 포지션에 대해 동시에 지원이 가능하며 아마존 만의 특징은 우선 Scalability 관련 질문을 많이 하는 편이며 인터뷰 시작 때 Behavioral Question을 꼭 하나 이상 하는 경향이 있습니다.
 - 스타트업 회사들: 위에 언급한 것처럼 일반적으로 경험이 많이 엔지니어를 뽑으려 하는 경향이 있으며 인터뷰 과정이 나쁘지 않더라도 자신보다 나은 경쟁자가 있을 시에는 제한된 버젯 때문에 채용이 안 되는 경우도 더러 있습니다. (돈에 여유가 있는 대기업 같은 경우에는 인터뷰 과정이 괜찮은 후보자가 여럿 있을 경우 없는 포지션을 만들어서라도 둘다 고용하는 경우가 있는데 스타트업 회사 같은 경우에는 아마래도 돈에 제한이 있다보니 꼭 정해진 인원만 뽑으려는 경향이 있습니다. 물론 인터뷰를 정말 잘 했을 경우에는 다른 이야기지만요.) 또한 인터뷰 난이도도 일반 대기업들보다 더 높은 경우들도 많습니다.