All of Software 블로그를 RSS Feed에 등록을 해 놓으시면 편리하게 받아보실 수 있습니다.
RSS Feed
연기자나 가수를 뽑을 때 오디션을 보듯이 개발자를 채용할 때는 코딩테스트가 꼭 필요합니다.
하지만 코딩테스트를 하지 않고 채용하는 경우가 매우 흔합니다.
이력서를 통해서 그 개발자가 과거에 참여했던 프로젝트가 무엇인지 보고 인터뷰에서 이거 저거 물어보는 것만 가지고는 개발자의 실력을 평가하기는 아주 부족합니다.
코딩 테스트는 다음과 같이 3가지 타입으로 진행할 수 있습니다.
첫째, 인터뷰를 하기 전에 E-mail을 통해서 코딩테스트 과제를 전달할 수 있습니다.
이때는 시간이 반나절이나 하루 정도 걸리는 과제를 줄 수 있고 꽤 많은 내용을 점검할 수 있습니다.
단순히 로직 뿐만 아니라 코딩 습관, 최적화 시도, 소스트리, 빌드 스크립트 등 다양한 실력을 엿볼 수 있습니다.
1차에 끝나는 경우도 있고, 시험대상자가 너무 많으면 1,2차에 걸쳐서 1차에서는 기본적인 과제로 기본 이하의 개발자를 거르고 2차 과제에서 진짜 문제를 낼 수도 있습니다.
이 테스트의 단점은 다른 사람이 도와줄 수 있는 것입니다. 대부분의 경우 본인 스스로의 힘으로 과제를 해결하지만 실력이 좋은 사람이 도와 줄 경우 이를 확인하기 어려우므로 인터뷰 시 몇몇 내용을 확인하는 것이 좋습니다.
예) Caching 알고리즘 구현
둘째, 인터뷰를 하는 날 인터뷰를 하기 전에 코딩테스트를 하는 것입니다. 인터뷰 전에 약 한 시간 정도면 풀 수 있는 과제를 주고 코딩을 하게 하는 것입니다. 노트북을 준비해 오게 해서 인터뷰 전에 코딩을 시키고, 인터뷰 시 발표를 하게 하는 방법입니다. 실력을 적나라하게 볼 수 있는 좋은 방법 중에 하나입니다.
예) Quick sort 알고리즘 구현
셋째, 인터뷰 시 칠판에 간단한 코딩 과제를 풀게 하는 겁니다. 약 10분이면 풀 수 있는 간단한 문제여야 하고, 이 때는 개발자가 최소한 논리적인 사고를 하는지 점검할 수 있습니다. 사실 코딩 인터뷰를 시도해보면 이 10분에서도 각 개발자들이 엄청나게 많은 차이를 보입니다. 일반 인터뷰 질문으로는 확인할 수 없는 수많은 것들을 여기서 파악할 수 있습니다.
예) itoa함수 구현, strtok 함수 구현
위 3가지 방법은 모두 효과가 있기 때문에 회사의 상황이나 규모 등에 따라서 적절히 선택을 하면 되겠습니다.
코딩테스트는 추가 비용 거의 없이 개발자의 실력을 구분할 수 있는 좋은 방법입니다. 아주 뛰어난 개발자를 판단하기는 어려울 수 있어도 형편 없는 개발자는 잘 걸러 낼 수 있습니다.
과거의 경험에 대해서 얘기를 들어보면 경력만 보고 채용을 했다가 아주 쉬운 코딩도 믿고 맡기기 어려운 경우가 많더군요. 코딩테스트는 이러한 것을 막아줄 좋은 수단입니다.
전규현
사람과 기술
인터뷰,
코딩테스트
트랙백도 남겼습니다만...
제가 그동안 면접도 꽤 많이 봤는데 국내 회사 중엔 '다음 코드의 결과값은?' 하는 정도의 필기 문제는 있었어도 실제 코딩 테스트를 하는 데는 없었던 것 같습니다.
프로팀에서 투수를 뽑는데 피칭을 안 시켜 보는 것과 마찬가지겠죠? -_-;
Eminency님 안녕하세요.
코딩테스트를 하는 회사가 있기는 합니다. 하지만 그리 많지는 않은 것 같습니다.
대학을 막 졸업한 새내기는 그런 간단한 문제가 도움이 될지는 몰라도 경력 개발자는 제대로된 코딩테스트가 꼭 필요합니다.
이번에 이직한 회사는 두 번째, 세 번째 모두 테스트를 했고, 임원면접때 또 물어보더군요. 잘 코딩을 했긴 했는데, 왜 그렇게 했는지 다시 설명해 보라고... "코딩습관 때문에 그렇게 했다" 라고 해서 떨어질법 했는데, 통과해서 4개월째 잘 다니고 있답니다.
그런데, 개발프로세스가 거의 없고 너무 약했습니다. 팀단위조차도... 그래서 슬슬, 혼자서 환경구축해서 쓰면서 전도나 할까 합니다. ㅎㅎㅎ 말로 하는 것보다 직접해서 구경시켜주면서 장점을 얘기해야겠지요. 근데, 힘들어요. ㅎㅎ