내가 코딩을 할 때 제일 부족한 부분은 정통한 알고리즘보다는 효율성을 위한 편법에 치중한 나머지, 타인을 '설득하는 과정'이 빠져있다는 데에 있다. 극단적인 예를 들자면, '행복이란 무엇인가?' 라는 문제를 해결하는데 '태어나지 않으면 된다' 같은 솔루션을 원초적 해결 방식을 내놓기 때문이다. 얼마전 텐센트 모 개발팀의 게임 개발팀 코딩 테스트를 진행했는데, 질문은 예측 가능한 확률 설정 프로그래밍을 3시간 안에 처리하는 요청이었고, 나는 주로 겜블 게임에 내가 주로 사용하던 확률 테이블 구성 방식으로 오차율 0%의 알고리즘을 30분만에 구현하여 보여줬다.
질문자는 자신이 듣도보도 못한 방식으로, 짧은 시간안에 오차범위 자체가 존재하지 않는 확률 처리 방식 코드를 보고, "코드가 간결하니 좋군요" 라는 대답 후, 훌륭한 스킬이지만 자신들의 프로젝트 팀과는 매칭되지 않아 조인이 어렵다는 최종 결과를 받게 된다.
일반적인 중국 기업이면 이정도 피드백으로 끝내겠지만, 나는 그 담당자에게 다시 위챗으로, 미안하지만 불합격한 사유를 좀 들려달라고 했고, 일반적인 중국인 특성상 아주 뒤끝없이 다 얘기해줄 꺼라 기대했으나, 답변은 "기대했던 결과와 많은 차이가 있는 코딩법이라 당황했다. 코딩 스타일은 지나치도록 간결해서 다른 코더들과 잘 조화가 될 지 모르겠다. 또한 오차율이 없는 확률은 문제가 있어보인다. 우리는 게임 프로젝트에서 안정적인 확률 시스템을 유지하는 것이 목적이지 완벽한 확률을 원하는건 아니기 때문이다" 라는 것이었다....
더보기