팀에게 가장 적합한 인재를 선별하기 위한 가장 좋은 방법은 무엇일까? 혹시 이력서만 검토하는 것으로 충분하다고 생각하는 것은 아닐지 모르겠다. 일부 회사는 코딩 테스트를 요구하고, 일부는 과제형 프로젝트를 내준다. 또 다른 일부는 둘 다 요구하는 곳도 있다.
그래도 요즘에는 알고리즘 코딩 테스트를 연습하거나 치룰 수 있는 좋은 사이트들이 많이 있다. 코딜리티(Codility), 해커랭크(HackerRank), 탑 코더(TopCoder) 등등 말이다. 요즘엔 많은 회사들이 코딜리티를 이용해 코딩 테스트를 운영하고 있는 것으로 알고 있다. 물론, 자체적으로 개발한 솔루션을 갖고 있는 곳도 있긴 하다.
팀 차원에서 이력서 및 코딩 테스트 결과를 검토할 수 있는 기회가 있었을 때마다 다른 지원자들의 코딩 스타일이나 기법 등을 보고 나도 나름대로 배울 수 있었다. 물론, 개인정보에 해당하는 그 어떠한 것도 외부로 유출하지는 않았다. (당연한 말이지만) 내가 코딩 테스트에 대해 일가견이 있다고 말할 수는 절대 없다. 알고리즘을 (아마도) 가장 많이 풀어본다는 취준생 시절이었을 때도 백준에서 랭크 1,000 등 내에 겨우 들었다. 백준의 랭크 1,000 등은 2–300 문제만 풀면 누구든지 들어갈 수 있으니 그냥 알고리즘을 체험정도만 해본 셈이다. 그럼에도 불구하고, 많은 지원자들이 매번 공통된 실수를 하는 것이 안타까워 나 자신도 반성할 겸 기록으로 남긴다.
읽기 전에
취업/이직 목적에서의 코딩 테스트에서 가장 중요한 것은 무엇보다 점수다. 기준 점수를 넘느냐 넘지 못하느냐가 제일 중요하다. 이 사람의 꼼꼼함과 섬세함, 성향, 고집 등을 유추해보고 분석하는 것은 그 다음이다. 해서, 지금 소개할 내용은 어찌보면 메이저가 아닌 마이너일 수 있다. 또한, 지금 이 글을 읽는 그대가 이런 습관을 가졌다고해도 절대, 당신이 실력이 없는 개발자는 아님을 명심해주면 좋겠다. 또한, 이 글은 강력한 나의 주관이 포함된 글이므로 여러분들의 경험과 많이 다를 수 있다.이 글은 그 어떠한 특정인도 겨냥한 글이 아님을 밝힌다.
첫 번째. var, let 그리고 const
믿거나 말거나지만 내 경험담으로만 보자면, 여태까지 본 지원자들의 40–50% 정도는 var
와 let
혹은 var
와 const
를 섞어썼었다. 물론 항상 var
혹은 const
를 사용하라는 말이 아니다. 좀 더 자세히 이야기하기 전에…