[우리가 모르는 개발자 생태계] 코드 리뷰와 코딩 테스트의 차이

  • 김용욱 Dev2Job CMO
    입력 2020.10.09 06:00

    IT 개발자라면 이직이나 취업 시 코딩테스트에 대한 고민은 한번쯤 해 봤으리라 생각한다. 개발자를 채용하는 기업에서도 코딩 테스트에 대해 적지 않은 고민을 하는 것으로 알고 있다.

    소위 네카라(네이버, 카카오, 라인)로 불리는 IT대기업은 개발자 채용 시 코딩테스트가 필수인 경우가 많다. 국내 뿐만 아니라 개발자들의 최종 목표 또는 끝판왕이라고 할 수 있는 구글 역시 코딩테스트를 치르지 않고서는 개발자로 취업할 수 없다고 알려져 있다. 이런 배경으로 국내외 전세계 IT 기업들은 개발자 채용 시 코딩테스트를 통과의례처럼 생각하고 있다.

    그렇다면 개발자들은 이를 어떻게 받아들이고 있을까?

    스택오버플로우를 비롯해 국내의 개발자들 커뮤니티 사이트들에서 코딩테스트에 대한 글들을 쉽게 찾아볼 수 있다.

    80% 이상의 개발자들은 코딩테스트에 대해 부정적인 입장이다.

    단순히 코딩 테스트 자체가 싫어서 그런 것은 아니다. 코딩 테스트 대부분은 교과서적인 내용 위주로 이뤄지는 경우가 많다. 때문에 경력직 개발자들은 다시 책을 찾아서 공부해야 하는 상황이 발생한다. 또는 코딩테스트를 출제하는 기업에서 코딩테스트에 대한 평가를 할 수 있는 인력이 없는 상황에서 이뤄지는 경우가 많다 보니 대행 업체에 의뢰해 각종 부정행위나 다른 기업에서 나온 것과 동일한 테스트를 치루게 되는 등 합리적이지 못한 코딩테스트가 이뤄진다.

    경력직 개발자들이나 이직을 준비하는 개발자들은 "정말 대단한 회사가 아니고서야 내가 굳이 코딩테스트를 준비할 필요가 없다"고 반응하기도 한다.

    개발자들의 반응 대로 코딩테스트는 준비할 게 많다. 코딩테스트에 대비한 시험공부(?)와 코딩테스트를 치르기 위한 별도의 시간과 장소 등이 부가적으로 필요하다.

    이러한 노력에도 불구하고 코딩테스트를 제대로 치르지 못하는 상황이 발생하거나, 코딩테스트 때문에 이직을 못한다면 개발자가 쏟은 시간과 노력은 물거품이 되는 상황이 발생한다. 그렇다면 코딩테스트 말고 다른 방법은 없을까?

    코딩테스트 이전에 코드리뷰라는 것이 있었다.

    이전에 개발한 코드 전체 또는 일부를 제공하고 어떤 방식으로 개발하는지 확인하는 방식이다. 하지만, 일부 개발자가 다른 개발자의 코드를 제공하거나 인터넷 검색을 통해서 본인이 개발하지 않은 코드를 제공하는 경우가 발생했고, 대부분 기업들이 이를 신뢰하지 않게 된 것이다.

    하지만, 깃(Git) 서비스가 개발자와 기업의 개발 환경에 필수 도구가 되면서 상황이 달라졌다.
    각 개발자들이 사용하는 깃 계정에 등록된 개발 프로젝트 중에서 인증된 프로젝트를 확인할 수 있게 된 것이다. 즉, 해당 프로젝트의 소스 코드가 해당 개발자가 직접 개발한 것인지 아닌지 확인 가능한 환경이 주어졌다. 개발자들은 기업이 요청하는 소스코드를 제공하고, 기업은 해당 소스코드를 검증하면 되는 것이다.

    개발자는 따로 공부하거나 시간이나 장소를 마련할 필요가 없게 된 것이고. 코드리뷰를 한다면 개발자들의 부담이 줄어든다는 장점이 있다.

    하지만 앞서 말한 것과 같이 장점만 존재하는 것은 아니다. 기업이 원하는 분야나 특정 기능에 대한 개발 여부를 확인하기 어렵다는 단점도 물론 있다.

    코딩테스트와 코드리뷰는 서로 대체할 수 있는 수단이라기보다는 서로 보완할 수 있는 도구라고 볼 수 있다.

    1차 스크리닝에서 기존에 개발한 소스코드를 리뷰하고, 이를 통과한 개발자들을 대상으로 코딩테스트를 한다면 개발자의 역량을 좀 더 객관적이고 자세하게 확인할 수 있지 않을까 하는 생각이다. 기업 입장에서는 코드리뷰에서 전반적인 개발 역량을 평가하고 코딩테스트에서는 세부적인 내용에 대한 평가를 할 수 있다. 지원자 모두에 대한 코딩테스트를 하는 것보다 훨씬 효율적이며 효과적인 방법이 아닐까 한다.

    채용과 취업은 동시에 이뤄지면서도 이렇게 다른 방향을 바라보는 관계의 입장이므로 쉽게 이뤄지지 않는 듯하다.

    국내 개발자들의 업무 환경도 마찬가지이겠지만 채용 환경 또한 시대가 제공하거나 필요로 하는 요소들에 따라 변화되고 있다. 기업과 개발자 또한 주어지고 변화되는 상황을 영리하게 잘 활용하고 조율해 기업과 개발자 모두가 더불어 발전하기를 기도하고 응원한다.

    ※ 외부필자의 원고는 IT조선의 편집방향과 일치하지 않을 수 있습니다.

    김용욱은 기업과 IT 개발자 Job Matching 전문 서비스 Dev2Job의 CMO로 재직 중이다. 20년간 한국과 일본의 IT 관련 업계에서 퍼블릭 클라우드, 프라이빗 클라우드, 금융 클라우드, 하이브리드 클라우드 관련 컨설팅을 해왔다. 현재는 개발자 채용 전문 서비스인 Dev2Job을 운영하고 있다.


    키워드