코딩 면접

새퍼 양파의 런던 일기를 읽으니 코딩 면접 이야기가 나오네.

코딩 면접을 볼 때 시험지 식으로 줘서 풀어봐라 하는 곳도 없잖아 있었지만, 보통 1:1 면접으로 가면 화이트보드 코딩 면접을 하는데, 이 때는 문제 한 번 보고 일필휘지로 쭉 답을 써내려가면…

네. 떨어질 확률 높습니다.

그럭저럭 맞는 답이라 해도 마찬가지입니다.

…당연한 거 아니었나??

회사마다 다르긴 하지만 보통 이야기하는 전형적인 한국식 면접이라면

  1. 직무 경험 위주로 본다. 무슨 일, 무슨 일 했네요?, 이런 건 할 줄 알아요?라며 당장 필요한 직무에 필요한 경험이 있는지 묻는다.
  2. 이력서에 명시한 경력과 학력 위주로 본다.

이런 유형을 떠올리지 않나 싶다. 이런 경향은 아주~ 유명한 외국계 개발사의 한국 지사도 마찬가지인데 지사를 설립한지 오래되면 한국 사람이 많아지고 본사와는 다른 한국만의 문화를 좋든 싫든 갖추기 때문이 아닐까 싶다. 1번의 경우는 입사시 요구한 직무 경험 외에 다른 경험을 쌓는 걸 기대하기 힘들다. 오로지 회사의 요구만 중요할 뿐 입사 지원자의 욕구는 생각하지 않는다는 점에서 그다지 기분 좋지 않다. 2번도 엄청나게 많다. 대기업과 정부 조직일수록 이런 경향이 심하다. 개인의 의사 따위는 고려 대상이 아니라는 점에서 1번과 그리 다르지 않다.

코딩 면접을 여러 번 봤지만 하나 같이 스타트업이거나 소규모 지사를 둔 외국계 회사였다. 제일 힘들었던 경험은 KAIST 출신이 많은 모 스타트업이었는데 50분씩 4차례 기술 면접을 봤다. 중간중간 10분씩 쉬고 총 4시간 동안 머리를 싸맸다. 면접마다 두 명의 직원이 들어왔고 하나같이 알고리즘과 문제해결을 중점적으로 토론했다. 그 회사는 그다지 나쁘지 않은 가격에 팔려 나름 성공 사례로 남았다. 나? 합격은 했는데 당시에 자금 사정이 있었는지 무슨 문제가 있었는지 몇 달 뒤에나 통보를 받아서 가지 못했다.

시험지식으로 면접을 진행한 곳 중 기억에 남는 두 회사 모두 외국계였다. 하나는 떨어졌고 하나는 붙었다. 떨어진 회사부터 이야기해볼까? C로 짠 간단한 코드를 스무가지 정도의 요구사항에 맞춰 수정해서 본사에 이메일로 보내야 했다. 당시 내 실력이 많이 모자랐지만 그럼에도 비교적 쉬워서 실수 없이 잘 짜는 데만 집중했다. 그리고 떨어졌다. 왜? 너무 열심히 고쳐서. 문화적인 차이라 할 수 있는데 원래 이 시험의 목적은 적당한 시간을 투자해 요구사항을 다 충족하는 적당한 품질의 제품을 만드는지를 보는 것이다. 그러니 면접에 떨어지기 싫다고 하루 네시간씩 사흘을 쓰면 안 된다. 그런데 억울하긴 했다. 그러면 그렇다고 말을 하던가. 이메일로는 일주일의 여유를 준다고 해놓곤 말이지. 일주일 중 사흘밖에 안 썼다고!!! 지사의 개발 팀장님은 이런 사연을 다 알아서 나중에 다시 지원하면 뽑아주시겠다 했지만 인연은 닿지 않았다.

두 번째 회사는 대면 면접이었다. 테크니컬 디렉터가 시험지 상의 문제를 보여주면 내가 말로 설명하거나 화이트보드에 적어가며 토론을 했다. 이런 대면 면접은 문제를 하나씩 풀어나갈수록 편해진다. 대답이 만족스러울수록 정답 여부보다는 개인적인 경험이나 회사 이야기로 빠지기 십상이라 그렇다.

둘 다 시험지식이라 해도 기초를 상당히 중요시한다. C++의 경우엔 const를 서너 가지 의미로 사용하는데 빠짐없이 꼼꼼히 모두 이용해야 만점이 나온다.

문제해결을 중시하는 곳도 있다. 주로 맥킨지 등 컨설팅 회사 출신의 임원이 있는 회사에서 이런 면접을 본다. 전세계에 피아노 조율사가 몇명인가?라던가 맨홀뚜껑은 왜 원형인가?라는 황당한 문제를 낸다. 이럴 때는 당황하지 말고 면접관이 어떤 가정을 하는지 꼬치꼬치 물어야 한다. 퀴즈를 좋아한다면 꽤 즐거운 면접이 되기도 하지만 대체로 머리가 아프긴 아프다. 그런데 구글도 인정했듯 이런 인터뷰가 다른 면접 방식보다 딱히 좋은 건 아니다. 근본적으론 퀴즈와 다를 게 없어서 이런 류의 문제를 많이 접하고 적응하면 실력이 늘기 마련이라 크게 의미 없다.

자, 또 어떤 면접이 있더라? 아, 그래. 일본계 회사 인터뷰도 기억에 남네. 개인적 경험이라 모두에게 적용하긴 힘들겠지만 꽤 기분 좋은 면접 과정이었고 기억에 남아서 적어본다. 첫 면접은 기술 책임자와 회사 및 직무 경험을 주로 이야기했다. 면접관이나 나나 중간 관리직으로 막 들어선 시점이라 서로 고충을 이해할 수 있었고 덕분에 화기애애하게 잘 마무리했다. 회사에서 평소에 사람들과 몰려 다니며 회사 욕(?), 개인사를 커피 한잔에 쏟아내던 경험 덕분일까? 그러고 나서 두 번째 면접에선 화상 통화로 본사 직원과 기술에 대해 토론했다. 여기서도 좋은 인상을 남겼는데 우선 통역해주는 분을 배려해서 두 세 마디씩 끊어서 이야기한 점이 좋았던 것 같다. 통역해주는 분도 편했다 이야기했지만 면접관도 중간중간에 의문이 들면 곧바로 물어볼 수 있어서 편하지 않았나 싶다. 이 회사의 인터뷰가 기억에 남는 건 다른 사람을 배려하며 이야기하는 방식이 얼마나 강력한지 깨닫는 계기가 되었기 때문이다.

에구구. 코딩 면접 이야기하다가 엉뚱하게 자기 자랑(?)으로 빠졌네. 아무튼 한국에는 여러 회사가 있고 여러 방식으로 사람을 뽑는다. 기존의 대기업은 여전히 학력과 경력에 의존해 사람을 뽑지만 그건 개인의 의사를 중시하지 않는 그네들의 기업 문화에 맞는 방식일지 모른다. 코딩 면접은 소프트웨어 회사를 중심으로 조금씩 조금씩 퍼져나가는 중이다. 몇년 전과 비교하면 이런 기업이 정말 늘었다. 그러니 외국을 너무 부러워할 필요는 없다고 생각한다. 내 경우엔 면접이 어려울수록 이 회사 괜찮네라고 생각한다. 면접은 고용주가 입사 지원자를 판단하는 기회이지만 동시에 입사 지원자가 회사를 판단하는 시간이기도 하니 말이다. 이왕이면 지루한 면접보단 재미있는 면접이 좋지 않나?

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu