“음, 코드 리뷰 필요하면 문자 해요. 어? 반응이 왜 이래? 경력 10년 차가 봐주는 기회 흔치 않아.”
격렬한 반응으로 좋아했어야 하나? 그가 떠나고 난 후 조금 후회 비슷한 것을 했다. 아직 이 분야를 잘 모르니깐 언제나 자신만만한 그가 어쩐지 실력으로서는 굉장한 경지에 있는 것이 아닐까 하는 생각을 했더랬다. 한 번은 나의 질문에 답을 주진 않고 화이트보드에 스도쿠 그림을 그리며 소크라테스식 산파법 류의 철학적인 질문으로 대응했다.
“여기 세로 문제를 하나 못 풀었잖아요? 근데 여기 가로 문제 중에 세로랑 교차되는 한 문제를 풀었어. 어? 세로줄이 완성됐네?! 이게 문제예요. 해결은 됐는데 왜 해결됐는지 몰라. 무슨 말인지 이해되죠?”
큰 프로젝트들을 진행하며 이제는 레거시로 불리는 그의 코드를 보면 그에게 자신감을 준 것은 그저 ‘도메인 지식’이었을 뿐이었음을 안다. 분별없는 확장, 상속으로 인해 디버깅이 거의 불가능한 수준으로 만들어두는 코딩 기법인 Consciousness Driven Development, 줄여서 CDD, 우리말로 의식 주도 개발, 좀 더 와닫게 스파게티 코드를 그는 늘 자신만만한 태도로 만들어 왔던 것이다. 이해는 한다. 홀로 개발한 기간이 길었고, 늘 슈퍼바이저 위치였기에 스스로의 실력을 반성해볼 기회가 없었을 것이다.
요즘 나는 10년 차 개발자에게 매주 코드 리뷰를 받고 있다. 흔치 않은 기회는 아니었던 것이다. 게다가 CDD를 항상 경계하는 리뷰를 해준다. 반복적으로 실수하는 부분에 대해서도 지속적으로 리뷰를 준다. 지속성, 일관성 있는 리뷰에 부족한 부분이 고쳐지지 않을 리 없다. 게다가 레거시 그분과 다르게 거만하지 않다. 실력이 없어도 거만하기 쉬운데 실력이 있으면서도 겸손하다.
다행이다. 너한테 리뷰받는다는 말 안 해서.