개발자 면접에 대한 오해
개발자는 어느 직업보다 결과물이 명확한 직업입니다. 그래서 간혹 가다가 여러가지 면에서 오해를 할수가 있습니다.
그중에 가장 중요한 부분이 면접이지 않을까 생각합니다.
저도 처음 면접을 본 회사가 N사인데 결국은 떨어 졌었습니다. 지금은 그때로 돌아가면 제가 했던 실수를 하지 않고 다시 붙을수 있지 않을까 생각합니다.
어쨋든 개발자가 면접에서 가장 많이 하는 오해는 "면접은 객관적이다" 라는 착각일 겁니다.
좀더 세세하게 이야기 하면 내가 질의한것에 대해 올바른 답을 하고 내가 코딩을 잘하기만 하면 객관적으로 나는 뽑일것이다 라는 생각입니다.
최근에는 대부분의 회사가 개발자 채용시 과제나 코딩 테스트를 합니다. 코딩 테스트나 과제에 생각보다 많은 정보들을 획득 할수 있습니다.
지원자의 기본소양은 물론이고 개발 전체적인 스타일도 파악이 됩니다.
만약에 다음과 같은 과제 혹은 코딩 테스트가 주어졌다고 가정해 봅시다.
[2, 3, 5, 7, 8] 와 같이 배열 데이터를 주어지고 특정수를 검색하는 코드를 작성하라고 주어졌을때 여러분은 어떻게 작성할까요?
실제로 제가 같이 일할 개발자를 채용했을때 과제로 출제했던 문제입니다. 어떻게 보면 시시한 문제라고 볼수 있습니다. 아래글을 읽기 전에 한번 고민해 보시면 재미있을 겁니다.
당시 출제 했을때 저는 너무 쉬운 문제라고 생각했고 제 의도를 지원자들이 모두 알아 차리고 "너무 쉽게 풀면 어떻게 하지?" 너무 쉽게 출제했나 라고 고민 했었습니다. 결과적으로 지원자들 중에 1명만 올바르게 해당 문제를 풀었습니다. 저는 그 사실에 너무 놀랐고 실망하게 되었습니다. 결국 올바르게 푼 1명을 채용하게 되었습니다.
저 문제의 의도는 지원자가 자료구조를 잘 알고 있고 제 의도를 잘 파악 했는지 파악 하는 문제 입니다.
배열에 데이터를 의도적으로 이진 검색에 용이하게 만들어 두었고 지원자가 해당 문제를 보자 마자 "아 이진검색으로 짜라는 거구나" 라고 느낄수 있도록 의도 했습니다.
실제로 해당 문제를 못 푼사람들도 면접을 했지만 대부분 자료구조나 알고리즘에 익숙하지 않는 지원자였습니다.
결국 제 의도를 알아차린 지원자는 1명 뿐이 없었고 저 과제를 통하여 지원자들의 기본소양과 제가 의도한 지식 및 센스? 등을 살펴 볼수 있습니다. 어찌보면 이것은 객관적이지 않을수 있습니다. 어떤 사람은 for 문으로 데이터 검색하는 코드를 했고 저런 데이터 셋에서 이것도 올바르다고 판단할수 있습니다. 하지만 제 의도를 알아차리지 못한게 감점에 요소입니다.
면접은 이런 기본적인 소양을 확인한 지원자를 주로 보거나 기본적인 소양 외에도 지원자가 회사에 얼마나 맞는 사람인지를 주로 봅니다.
즉 면접은 개발을 제일 잘하는 사람을 뽑는 목적 보다는 회사에 얼마나 잘 맞는 사람인지를 뽑는지가 중요 합니다.
최근에 면접관들은 대부분 같이 일하는 사람이 보는 경우가 많습니다. 그렇다면 면접관 자신과 같이 일하고 싶은 사람을 주로 뽑을수 밖에 없습니다.
"아 실력은 괜찮은거 같은데. 같이 일하면 좀 어려울거 같네" 라고 판단할 경우 해당 개발자를 뽑지 않는 경우도 있습니다.
회사에 주니어 개발자가 필요하다면 시니어 개발자급은 뽑히지 않을수도 있습니다. 단지 그건 회사가 원하는 포지션이 자신과 맞지 않기 때문입니다. 회사의 주관적인 기준일뿐 객관적이지는 않습니다.
그렇다면 꼭 가고 싶은 회사라면 기본소양은 당연히 갖추어야 하고 지원한 회사의 니즈에 대하여 잘 파악하고 면접관이 의도한 것들을 잘 파악하여 면접을 진행해야 해당 회사에 합격할 확률이 높지 않을까 합니다.
agune