내가 Microsoft 면접에서 떨어졌던 때
2015년, 컴퓨터과학 학사 과정을 절반쯤 마쳤을 때였다. 몇 달 동안 오픈소스에 기여하면서 자신감이 한껏 올라 있었고, 이런 생각이 들었다. Microsoft 여름 인턴십에 한번 도전해 보면 어떨까?
2026년을 기준으로 보면 수많은 회사 중 굳이 Microsoft를 목표로 삼았다는 게 이상하게 들릴지도 모른다. 하지만 당시 Microsoft는 멋진 회사였다. 적어도 내게는 그랬다. Typescript 개발과 C# 컴파일러를 오픈소스로 다시 만든 작업이 인상 깊었다. Anders Hejlsberg, Joe Duffy, Eric Lippert 같은 사람들과 함께 일하는 모습을 꿈꿨다. Eric은 이미 Microsoft를 떠난 뒤였지만, 나는 그의 블로그를 무척 좋아했다. 내 프로그래밍 영웅 중 한 명을 고용했던 회사라는 사실만으로도 Microsoft를 좋게 봤다.
조금 순진하게도 Microsoft 채용 포털에 담당자로 올라온 사람에게 이메일을 보냈다. 어떤 인턴십을 골라야 할지 몰랐고, 그쪽 사람과 이야기하면 답을 찾을 수 있으리라 기대했다. 혹시 필요할지도 몰라 이력서도 첨부했다.
그 순진한 시도는 뜻밖의 성과로 돌아왔다. 약 한 달 뒤, 대학 채용팀 직원에게 이메일을 받았다. 제목은 "Microsoft 전화 면접에 초대합니다"였다. Microsoft가 나와 이야기하고 싶다니!
이제 뭘 해야 할까? 우선 면접 시간을 예약해야 했다. 나는 네덜란드에 살았고 태평양 시간대에 있는 Microsoft 사람들보다 9시간 빨랐다. 선택지는 많지 않았다. 내 쪽에서는 저녁, 그쪽에서는 아침에 통화하기로 했다.
일정을 정했으니 다음은 면접 준비였다. 인터넷에서는 당시 빅테크의 면접 방식을 문외한에게 낱낱이 알려 주는 책인 "Cracking the Coding Interview"를 한목소리로 추천했다. 책의 조언에 따라 이른바 행동 면접 질문에 답할 내용을 준비하고, 자료구조 지식을 다시 익혔으며, 수수께끼 문제도 여러 개 풀어 봤다.
마침내 면접 날이 왔다. 통화할 조용한 방을 찾고 노트북 옆에 면접 노트를 펼쳐 둔 다음, 호기심과 긴장감을 함께 안고 회의에 접속했다. 그런데 이게 웬걸? "Cracking the Coding Interview"의 내용은 놀라울 정도로 정확했다. 예상했던 유형의 행동 면접 질문이 나왔고, 노트 덕분에 하나도 긴장하지 않고 답할 수 있었다. 심지어 책에 그대로 나온 수수께끼도 받았다! 대략 이런 문제였다.
구슬 12개와 양팔저울이 있다. 구슬 하나는 나머지와 무게가 달라 정상적인 구슬보다 무거울 수도, 가벼울 수도 있다. 양팔저울을 정확히 3번 사용해 12개 중 어느 구슬의 무게가 다른지 찾아내고, 그 구슬이 정상보다 무거운지 가벼운지도 알아내야 한다. (출처)
이제 난감한 선택을 해야 했다. 한편으로는 이 수수께끼를 모르는 척하면서 생각하는 과정을 소리 내어 연기하고, 면접관에게 그 자리에서 답을 찾아낸 것처럼 보일 수도 있었다. 하지만 정말 연기하고 싶지 않았다! 게다가 시간 압박을 받으며 수수께끼를 푸는 능력보다 정직함이 더 중요하지 않은가? 회사가 그 가치를 알아보지 못한다면 손해 보는 쪽은 회사라고 생각했다.
벌써 결말이 보일 것이다! 나는 이 수수께끼를 이미 안다고 면접관에게 말하고 다른 문제를 요청했다. 면접관은 조금 놀랐지만 잠시 멈췄다가 내가 방금 요청한 새 수수께끼를 내줬다. 그 문제는 책에 없었다. 그리고 나는 면접의 압박 속에서 풀지 못했다. 얼마나 불편하던지!
그럼에도 면접은 예정대로 끝까지 이어졌다. 통화를 마친 뒤에는 이런 생각이 들었다. 수수께끼 앞에서 내가 보여 준 대담함을 Microsoft가 높이 평가해 줄까? 내 이상주의가 조금 우스워 웃음이 났다. 어떤 결과든 받아들이기로 했고, 혹시 모르니 기대치는 낮춰 두었다.
그렇게 낮춘 기대는 한 달 뒤 후속 이메일을 받으면서 정확히 현실이 됐다.
귀하의 자격과 역량을 신중히 검토했습니다. 현재 채용 중인 직무를 고려한 결과, 지금 저희가 필요로 하는 배경과 능력에 더 가까운 다른 지원자들과 채용 절차를 진행하기로 했습니다. 궁금한 점이 있다면 귀교 담당 채용 담당자에게 문의해 주시기 바랍니다.
이런!
어쩌면 Microsoft는 인턴이 실제 업무에서도 수수께끼를 풀기를 바랐는지 모른다. 아니면 내가 다른 무언가를 망쳤을 수도 있다. 안타깝게도 그 이유는 영원히 알 수 없을 것 같다!
source https://ochagavia.nl/blog/that-time-when-i-failed-the-microsoft-interview/
HN에서는 구슬 퍼즐을 이미 안다고 밝힌 태도보다, 이런 질문이 실제 개발 역량을 제대로 가려내는지가 더 큰 쟁점이었다. 제한된 시간 안에 특정 발상을 떠올리거나 문제를 미리 접했는지가 결과를 좌우한다면, 도구와 경험을 활용해 장애를 해결하는 현업 능력과는 거리가 멀다는 지적이 많았다. 정답을 외웠는지 확인하는 면접은 뛰어난 엔지니어보다 퍼즐 훈련에 익숙한 지원자를 고를 수 있다는 비판도 뒤따랐다.
면접관 경험이 있는 이들은 업무와 맞닿은 간단한 구현 과제를 대안으로 꼽았다. JSON 구조를 탐색하거나 의존성을 처리하는 코드를 작성하게 하면 기본기와 코딩 습관을 함께 볼 수 있다. 과제를 미리 풀게 한 뒤 설계와 구현 이유를 묻는 방식도 제시됐다. 다만 어떤 알고리즘이 실무적이라는 판단조차 직무와 분야에 따라 달라진다. 경력이 길어도 특정 용어나 구현을 접하지 않았을 수 있어, 지식의 유무만으로 역량을 재단하기는 어렵다.
솔직함을 평가하는 기준도 면접관마다 달랐다. 익숙한 문제라고 밝힌 지원자를 신뢰하고 더 유익한 질문으로 넘어간 사례가 있는 반면, 풀이를 먼저 보여주지 않고 새 문제부터 요구하면 쉬운 문제를 고르려는 태도로 받아들일 수도 있다. 그러나 원문의 탈락 사유는 끝내 확인되지 않았다. 정직함 때문에 떨어졌다고 단정하기 어려우며, 질문 선택과 진행 방식, 면접관의 판단처럼 지원자가 통제할 수 없는 변수도 크다.
