“개발자에게 알고리즘 공부가 필요한가?”라는 질문은 익명 커뮤니티의 단골 토론 주제다. 누구는 현업에서 그리 필요하지는 않다고 말하고 누구는 기본기(基本技)로서 소양을 갖춰야 한다고 말한다. 다만 누구도 부인할 수 없는 점은 소위 FAANG(페이스북, 아마존, 애플, 넷플릭스, 구글)과 네카라(네이버, 카카오, 라인)에 개발자로 입사하고 싶다면, 알고리즘 인터뷰는 선택이 아닌 필수라는 사실이다. 여러분이 주니어라면 더더욱 그렇다.
국내에 개발자 코딩 테스트가 처음 도입된 시기는 대략 2005년 무렵이다. 저자와 함께 다음커뮤니케이션에 재직하던 당시, 마이크로소프트와 야후! 등의 개발자 인터뷰 모델을 기반으로 알고리즘을 이용한 문제 해결 능력을 측정하는 코딩 테스트를 시작했다. 대규모 사용자 트래픽을 처리하는 인터넷 포털의 입장에서 전혀 예상하지 못했던 문제를 늘 맞닥뜨리게 되는데, 이를 해결하기 위해서는 기본적인 알고리즘 능력이 필수였기 때문이다.
『파이썬 알고리즘 인터뷰』는 알고리즘을 이용한 문제 해결 능력을 키우는 탄탄한 기본기를 더하는 데 전혀 부족함이 없다. 물론 이 책에 나온 알고리즘 예제들이 입사 시 치르는 모든 코딩 테스트에 완벽하게 대비해주지는 못할 수도 있다. 하지만 분명히 주니어 개발자에게는 학교에서 배운 개념을 실제 문제로 대입하는 능력을 키워주고, 시니어 개발자에게는 그동안 잊고 있던 알고리즘을 다시 복습하면서 필요하다면 좀 더 나은 경력과 이직을 위한 출발점이 되어줄 것이다. 만약 입사 시 코딩 테스트를 안 하는 회사가 있다면 ‘프로그래머 채용 인터뷰 때 코딩 테스트를 합니까?’라는 조엘 테스트 11번 항목을 위반하는 회사니 걸러도 된다.
저자는 과거 유명 블로거로서 많은 기술 정보를 공유하면서도 현업 개발자로서 다양한 경험을 겸비하고 있다. 700페이지에 달하는 분량의 꼼꼼한 설명과 문제 풀이가 이를 보여준다. 필요에 따라 알고리즘을 써야 할 때 예제로서 활용하기도 좋고, 2-3년에 한 번씩 슬럼프가 찾아올 때 이직 인터뷰를 준비하면서 마음을 다잡는 계기로 삼을 수 있기에 여러분의 책장 한편에 두시라 추천하는 데 전혀 손색이 없다.