실리콘 밸리 회사의 인터뷰 절차는 인터넷에서 많이 찾으실 수 있으시겠지만, 이 글에서는 저의 경험을 중심으로 이야기를 풀어볼까 합니다. 우선, 인터뷰를 하시기 위해서는 그 회사의 웹사이트를 가시거나 링크드인(https://www.linkedin.com), 인디드(https://www.indeed.com), 엔젤닷코(https://angel.co)등에 들어가셔서 원하는 포지션에 직접 지원을 하시는 방법과, 링크드인이나 다른 리크루팅 웹사이트를 통해서 연락이 오는 경우가 있습니다. 마지막으로, 아시는 리크루터들에게 연락을 하시거나, 관심 있는 회사를 다니는 친구에게 부탁해서 자사 지원자로 등록하는 방법이 있습니다. 혹시, 친구가 있는 회사에 리퍼럴을 부탁하는 경우라면 인터뷰를 받을 때 가산점을 받을 가능성은 적지만(대부분 리퍼럴을 한 사람을 제외한 팀 멤버가 인터뷰를 보게 되므로), 회사 내의 리크루터가 포지션이 생기면 우선순위에 배당되어 빠른 시간 내에 연락을 받아 인터뷰를 잡을 수 있습니다. 여기서 제가 드릴 수 있는 팁은 링크드인에서 자신이 가고 싶은 회사의 리 쿠루 터들의 프로파일을 여러 번 클릭하시면, 링크트인에서 그 사람에게 추천을 하게 되는 알고리즘이 있습니다. 결국, 이는 리쿠루터의 추천 목록에 지원자가 보이게 되며, 연락이 올 가능성이 높아지게 되니 해 볼만한 팁인 듯합니다.

그럼 본격적으로 인터뷰에 대해 풀어보겠습니다. 대부분의 인터뷰는 알려진 바와 같이 세 단계로 나누어집니다. 

첫 통화는 대부분 리쿠르터들과 전화로 대화를 나누고, 어떤 분야에 관심이 있는지, 어떠한 경험이 있는지에 대해 서로 얘기하게 됩니다. 가끔씩은 리쿠르터들이 엔지니어들이 써준 간단한 문제로 질문을 하는 경우가 있기는 하지만, 최근에는 그런 경우가 적습니다. 여기서 혹시 간단한 문제도 못 맞히시게 된다면, 다음 단계로 넘어가지 않는 경우도 있으니, 어느 정도 배경 지식은 다시 리뷰하시는 게 좋을 듯합니다.

두 번째는 집이나 인터뷰 숙제로 코딩 문제를 푸는 단계입니다. 이때에는 알고리즘이나 간단한 아키텍트 관련 문제를 물어보는 경우가 많으며, 문법은 많이 상관이 없습니다. 가끔씩은, 코딩 시험을 보는 플랫폼에서 문법과 함께 알고리즘 시험을 보는 경우도 있을 수도 있습니다만 이때는 대부분 첫 번째 리크루터의 인터뷰 후 코딩 플랫폼 링크를 보내주는 경우로, 미리 한 번쯤은 들어가셔서 둘러보는 것도 좋은 팁입니다. 대부분의 문제는 리트코드(https://leetcode.com/)나 Cracking the code interview 책의 기출문제나 살짝 변환된 문제로 나옵니다. 제 경험상 리트코드의 무료 문제보다는 각 회사 별로 나뉜 유료 문제에서 나오는 경우가 많으므로 한 달 정도는 구독비를 내시고 쉬운 문제와 중간 정도 레벨의 문제를 풀어보며 인터뷰를 준비하시는 것이 확실히 유리합니다.

마지막은 온 사이트입니다. 말 그대로 그 회사에 방문하여 약 6시간 동안 인터뷰를 보는 것으로 3~6명 사이의 사람들을 만나고 점심도 같이 먹으면서, 코딩 문제도 풀며 회사의 문화나 팀에서 일어나는 문제점의 해결책 등을 얘기하는 단계입니다. 이때에는 인터뷰를 보는 엔지니어의 과거 경력과 경험에 따라 또는, 포지션에 따라 코딩 문제를 보는 경우도 있고 안 보는 경우도 있습니다. 코딩 문제를 본다면 2~3번의 인터뷰 세션 중 하나만 물어보는 경우가 대부분이며, 아키텍트 질문이나 과거 프로젝트를 설명하며 거기서 인터뷰어들이 질문을 하는 경우가 많습니다. 예를 들면 소프트웨어 디자인을 왜 그렇게 하였으며, 아쉬운 점이나 도구는 어떤 것을 사용하였는지가 그것입니다. 꼭 알아야 하실 점은 그 프로젝트에서 자신이 어떤 부분의 문제를 해결하였는지 정확히 밝혀야 한다는 것입니다. 거짓말을 하거나 부풀려서 이야기를 한다면, 경험 있는 인터뷰어들이 이를 간파하는 경우가 대부분이니 그런 점은 삼가시는 것을 추천드립니다. 물론, 기존 경력이 없거나 3년 이하의 소프트웨어 엔지니어 지원자들은 대부분을 코딩 문제를 하는데 시간을 보낼 경우도 있습니다만, 말 그대로 경우마다 다른 것 같습니다.

인터뷰가 끝나게 되면, 리크루터가 마무리를 하며, 기대하는 연봉을 물어보게 됩니다. 중요한 점은 리쿠르터들이 현재 본인이 받는 연봉을 물어보는 것은 불법이므로 지원자가 직접 말하지 않는 이상 알 길이 없습니다. 하지만, 실리콘 밸리의 연봉은 거의 리쿠르터들끼리 교류하므로 현실에 맞지 않는 터무니없는 높은 연봉을 부르게 된다면, 안타깝게도 이 점 때문에 떨어지는 경우도 있습니다. 지역별 연봉이나 분야나 언어별 연봉의 정보는 기존 제가 올린 포스트를 참고하시는 것도 좋을 듯합니다.

미국의 지역별 소프트웨어 엔지니어의 연봉 비교

소프트웨어 엔지니어 스킬 별 연봉 비교

실리콘 밸리에서의 인터뷰는 거의 일상입니다. 이는 많은 엔지니어들이 회사의 문화적 이유나 개인의 관심도에 따라 혹은 연봉의 문제로 2년에서 3년에 한 번씩은 회사를 옮기기 때문입니다. 또한 RSU가 입사하기 전보다 작아진다면 더 이상 있을 이유가 없겠죠. RSU는 보통 4년에 걸쳐 받으며, 중간에 더 보상을 해 주기도 하지만, 입사 때보다는 작은 게 대부분입니다. 혹시 RSU나 Stock option에 대해 궁금하시다면, RSUs vs. Stock options 다른 점은? 이라는 기존 블로그를 참고하시면 됩니다.