실무 개발자에게 알고리즘은 덜 중요할까? (마무리)

한달 쯤 전 구현과 알고리즘에 대한 어떤 주장에 대한 반박을 미디엄에 적었다. 나는 그런 사고방식을 매우 혐오하기 때문에 글을 매우 세게 적어서, 표현 부분에 대해서는 어느 정도 비난을 받을 것이라고 생각은 했었다.

그러나 생각보다 까는 내용이 나에게는 거의 노출되지 않았다. 소셜미디어는 개인 취향을 분석하여 편향적으로 정보를 전달한다는 연구를 많이 보았는데, 그 영향인 것 같다. 그나마 지인들을 통해서 조금씩 내용을 접할 기회가 있었다.

그렇게 접한 일부 내용을 본 끝에 도달한 생각은 대한민국에 잘난 개발자가 참 많다는 것이었다. 물론 비꼬는 말이다.

어떤 주장을 뒷바침 하려면 객관적인 근거가 필요하다. 개인적인 경험이라고 할지라도 최소한의 표본은 필요하다. 그런데 까는 내용들을 보면 참담하기 그지 없었다. (글의 일부 내용을 따로 떼어서 180도 왜곡하거나 거짓 정보를 내세워 주장한 것은 반박의 가치가 없으니 언급하지 않겠다.)

우리나라에는 다양한 채용 실험에 대한 결과를 공유하는 정보가 별로 없다. 그도 그럴 것이 수 많은 국내 인터뷰 경험으로는 그다지 과학적이고 체계적인 인터뷰를 수행하는 회사가 거의 없기 때문이다. 그래서 외국 사례가 좀 더 객관적인 판단을 하기에 적합할 뿐더러 최근에는 국내 기업들도 그런 외국 사례를 벤치마킹하여 자기식대로 흡수하는 방향으로 진행되고 있다. 이런 인터뷰 실험에 대해 지금까지 가장 많은 정보를 제공한 회사는 구글이고, 직접적인 경험으로는 아마존에서 최종 면접까지 마치면서 깊은 인상을 받았었다(국내에서는 텀블벅과 쿠팡이 인상 깊었다). 그런데 이런 사례를 언급하자 나는 사대주의자가 되었다. 그렇다면 우리나라의 인터뷰 시스템은 그들에 견주어 체계적이며 분석적이고 공개적으로 인터뷰 실험에 대한 데이터를 공개하고 있을까? 아니, 체계적으로 실험해서 데이터를 축적하기는 하는가?

또한, 제프딘이나 리누스 토르발즈, 피터 노빅 같은 사람들의 사례는 우리의 현실과는 확실히 동떨어진 세계이다. 그래서 나는 내 주변에서 알고리즘 PS를 등한시하지 않고 잘하는 사람들은 좋은 회사에서 좋은 연봉을 받는다는 사례 제시를 했다. 나 역시 더 많은 기초 학습과 트레이닝을 한 후부터 대한민국 평균보다는 나은 상황이 되었다고 말했다. 그러자 나는 천박한 사람이 되었다. 그렇다면 그들은 무슨 근거로 자신들이 성공의 척도이고 자신들의 경험과 주장이 타인의 미래를 위해 훌륭한 조언이 된다고 자신하는 것일까? 실명으로 유명하지도 않고 누구나 부러워할만한 회사를 다니지도 남들보다 훌륭한 대우를 받지도 않는데, 무엇때문에 자신의 경험을 기반으로 한 조언에 귀를 기울이라고 하는 것일까? 익명 커뮤니티의 네임드이기 때문에? 페북에 좋아요 눌러주는 개발자 친구가 많아서? 조그만 회사지만 높은 직함을 달고 있으니까? 나도 2005년도부터 발길을 끊기까지 다음카페 최대 프로그래밍 커뮤니티의 가장 유명한 네임드였고, 2005년 작성한 글이 아직도 메인 게시판에 모두가 꼭 읽어봐야 하는 글이라는 의미로 공지사항에 걸려 있지만, 그 당시의 나는 훌륭하지도 뛰어나지도 않은 천둥벌거숭이 애송이 개발자였다. 나는 그들이 도대체 무슨 근거로 자신들이 훌륭한 조언을 한다고 생각하며 인터넷에 불특정 다수를 대상으로 그런 말도 안되는 글을 남기는지 이해할 수 없다.

나는 정말로 알고싶다. 부실한 PS 사고능력과 부족한 CS 기초 지식에 기반한 구현 능력의 극대화가 훌륭한 가치를 갖는다는 합당한 근거는 무엇이 있을까? 그들이 대학 커리큘럼이 시대착오적이며 구시대적이고 잘못됐다고 당당하게 주장할 수 있는 그런 강력한 합리적 근거가 무엇일까? 그런 것이 존재는 할까? 나는 아직도 전혀 모르겠다. 내가 이해하는 그들의 근거는 “내가 해봐서 아는데… 내가 생각해 보기에는…”이라고 말하는 것 이외에는 아직 찾아내지도 이해하지도 못했다.

사실상 두 개의 가치에 대해 평가하려면 구현도 잘하면서 CS의 기초도 탄탄해야 한다고 생각한다. 그래야 내가 가진 지식이 실제로 실무와 얼마나 괴리가 있는지 알 수 있으니까 … 그런데 그들의 말은 “내가 알고리즘도 잘 못하고 네트워크니 뭐니 하는 CS 이론에도 해박하지는 않지만, 그래도 똑똑하고 잘나가는 개발자야.” 수준에서 벗어나지 못한다. 재미있는 것은 이런 주장을 강하게 펼치고 동조하는 집단에는 CS 전공자가 아닌 사람의 비율이 높다. 오히려 내 주변에 CS 전공자들을 뭐가 더 중요한지 거론하기는 커녕 무엇이 더 중요하고 덜 중요한지 가치판단을 한다는 것 자체를 느낄 수가 없다. 그들이 학교에서 당연하다고 배웠던 지식이 비전공자들에게는 알아야하는가 몰라도되는가의 영역에 있기 때문에 생기는 현상이라고 판단되는 부분이다(어떨 때는 자격지심으로까지 느껴지기도 한다).

벼는 익을수록 고개를 숙인다고 했던가… 물론, 나도 이러고 다니는 것을 보면 겸손하지 않다. 그러나 최소한 “내가 해봐서 아는데…”보다는 “정말 잘난 사람들을 본받으려고 관찰해 보니…” 정도의 근거를 가지고 이야기 했으면 좋겠다.