🖋️ 변별력을 200% 더 높인 개발자 채용 방법: 코드 리뷰 테스트 - 전종욱님

강남언니에서는 지난 2023년 3월부터 코드리뷰 테스트를 통해 개발자 채용을 진행한다고 한다. 합격자 수와 수준을 이전과 동일하게 유지하면서도 인터뷰 진행 시간을 50% 이상 감소시켰는데, 지원자가 코드 리뷰를 남기는 모습을 보면서 회사에 어울리는 사람인지 높은 확신을 갖고 판단 할 수 있었고, 지원자들의 부담도 적었다고 한다.

코딩 테스트나 과제 대신 코드 리뷰 테스트를 선택한 이유와 방법에 대해 알아보자.

🖋️ 코드 리뷰 테스트 탄생 계기

회사에 지원하는 개발자의 수는 늘어나고, 한정된 자원 속에서 실무와 인터뷰를 함께 병행해야 하는 개발자들의 부담도 함께 늘어나고 있는 상황이다. 한 주 인터뷰가 2~3개씩 존재하면 그 자체도 피곤하고, 실무 시간이 항상 부족하다. 우리는 왜 사람을 채용할 때 인터뷰에 많은 시간을 사용해야 하는걸까?

대부분의 회사에서 사용하는 채용 프로세스는 서류지원 > 코딩 테스트 > 인터뷰 다. 여기서 코딩 테스트는 코딩 능력, 적절한 자료구조 선택 능력, 문제 해결력이라는 중요한 요소들을 확인하는 테스트다. 그러나 이 3가지 능력은 살펴봐야할 요소들 중 일부일 뿐, 바로 지원자를 채용할만큼 절대적인 요소는 아니다.

또한 최근 들어 AI 를 이용한 어뷰징도 많아져서 신뢰도가 많이 떨어지고 있는 상태. ChatGPT 활성화 이후 코딩 테스트 통과율이 2배 상승했다고 한다.

코딩 테스트 대신 과제 전형을 진행하는 경우도 있지만, 과제 전형은 지원자에게 부담이 커진다. (이에 대한 반증으로, 실제 제출되는 과제의 수가 지원자 수의 절반도 되지 않는다고 한다.) 때문에 인터뷰에 많은 시간을 투자해서 지원자에 대해 확인할 수 밖에 없다.

‘지원자의 부담이 적으면서도, 인터뷰 전에 더 효율적으로 역량을 확인할 수 있는 방법이 있을까?’ 고민을 이어나가던 중 우연히 도착한 코드 리뷰 알림에 아이디어를 얻게 된다.

코드 리뷰 테스트는 지원자가 주어진 코드에 대한 코드 리뷰를 제출하는 채용 테스트다. 코드를 보고 도메인을 이해하는 능력, 코드를 대하는 태도나 관점, 커뮤니케이션 능력 등을 한꺼번에 확인할 수 있다. 또한 지원자에게 부담도 적다. 처음부터 집을 지어보라 하는 것보다, 이미 지어진 집에 대한 리뷰와 피드백을 요구하는 것이 훨씬 쉽다.


🖋️ 코드 리뷰 테스트 준비 방법

이 좋은 코드 리뷰 테스트를 진행하기 위해서는 어떤 준비가 필요할까?

우선 팀 내에서 특히 좋았거나 인상 깊은 코드와 코드 리뷰 코멘트를 수집해야한다. 왜 좋았는지, 채용 과정에 사용해도 적합한지 판단을 할 수 있어야 하는데, 이 판단을 위해서는 팀 내 개발자에 대한 기술 인재상 정의가 선행되어야 한다. (즉, 기준이 필요하다.)

기술 인재상 정의가 완료되고 적합한 코드와 코멘트를 수집했다면 채용 과정에 직접 사용할 수 있도록 문제 상황을 간소화한다. 가령 기존 코드가 800+- 라인이었다면 이를 300+- 라인정도로 줄이고, 사내 중요 비즈니스 로직이 노출되지 않는 선에서, 적절하게 복잡한 수준의 문제 상황을 연출한다.


🖋️ 성과

코드 리뷰 테스트를 도입한 이후 지원자의 부담이 줄어들었고, 인터뷰 시간이 50% 이상 감소했다. 기존 코딩 테스트 통과자들의 인터뷰 통과율은 25% 에 그쳤으나, 코드 리뷰 테스트 통과자들의 인터뷰 통과율은 53% 를 기록했다.

코딩 테스트보다 코드 리뷰 테스트의 난이도가 높을수록 인터뷰 통과율이 높아질 수 밖에 없다는 통계의 오류로 볼 수 있다. 그러나 강남언니 내부에서 건전성 지표 확인 결과 통계의 오류가 아니었다.

인터뷰어들도 여러가지 장점을 느낄 수 있었는데, 지원자의 문제 인식 능력과 실무 능력을 파악하기 용이했고, 검증하고 싶은 항목을 유연하게 설정이 가능했다. 과제 전형만큼이나 인터뷰에서 직접적으로 활용할 수 있는 데이터가 생김은 물론이고, 무엇보다 인터뷰 진행 전 지원자의 협업 및 커뮤니케이션 능력을 확인할 수 있다는 점이 가장 눈에 띈다.


🖋️ 한계 및 단점

코드 리뷰 테스트가 항상 완벽한 채용 프로세스가 되어주진 못한다.

우선 실무 경험이 없는 신입 개발자를 대상으로는 사용이 어렵다. 사내 기술 스택에도, 코드 리뷰 문화에도 익숙해지는 시간이 필요하기 떄문. 때문에 신입을 대상으로는 여전히 코딩 테스트나 과제 등 다른 전형을 이용할 수 밖에 없다.

또한 지원자의 기술 스택이 다를 경우에도 코드 리뷰 테스트를 진행하기 어렵다. 가령, 지원자가 C++ 을 사용해왔는데, 회사에서는 Java 를 사용한다면 지원자에게 굉장히 불리한 테스트가 될 것이다. 때문에 코드 리뷰 테스트 자료를 준비할 때 가능하면 특정 기술에 종속되지 않은 일반적인 문제도 많이 포함하여 준비하는 것이 좋다.

그 외에도, 우선 회사의 기술 인재상이 명확하지 않다면 기술 인재상 선정이 선행되어야 하며, 회사의 채용 브랜드 파워가 강력해야한다. (특이한 채용 프로세스를 진행하더라도 제출률이 낮아지지 않을 만큼의) 만약 회사에 가용 가능한 인터뷰어 수가 많다면 굳이 도입하지 않아도 될 수 있으며, 필요에 따라서 코딩 테스트와 과제가 더 높은 가치를 전달해줄 수도 있음을 인지해야한다.


🖋️ 후기

항상 코딩 테스트 전형보다 과제 전형이 더 많은 정보를 드러내 줄 수 있어서 선호했는데, 코드 리뷰 행위를 테스트한다는 신박한 아이디어를 얻게 되어 좋았다. 인터뷰에서 직접적으로 활용할 수 있는 데이터를 단기간에 얻어낸다는 점도 큰 메리트로 느껴졌고 (아무래도 과제 전형 역시 리뷰어가 코드를 읽고 파악하는데 부담) 인터뷰를 진행하기 전부터 지원자의 커뮤니케이션 능력을 확인할 수 있다는 점이 가장 돋보였다.

사내 시니어 개발자분들께도 코드 리뷰 테스트에 대해 소개해드렸는데, 소개된 장점과 정성적 후기에 공감하시며 긍정적인 평가를 내리셨다. (경수님께서는 앞으로 이직 못하겠다고 🤣)

언젠가 개발자 채용에 기여하게 된다면 코드 리뷰 테스트 도입에 대해서 적극 이야기 해봐야지!

댓글남기기