Why Good Programmers Are Lazy and Dumb

예전 내 멘토(그 당시에는 그냥 우리 파트의 장이었지만 생각해 보면 그때 부서의 선배들이 모두 멘토였다. 그 중에서도 지금 언급하는 이 분은 특히나 내겐 멘토같은 분이었다)가 했던 말이 있었다.

좋은 시스템 프로그래머가 되려면 게을러야 한다.

그때도 어렴풋이 의미를 이해했지만 어제 트위터에 올라온 글을 보니 그때 그 말이 기억난다.

그 분이 하셨던 말씀도 같은 요지였다. 사람이 적당히 게을러야지(혹은 어떤 면에서 게을러야지) 귀찮은 일들 특히나 머리를 쓸 일이 없이 손이나 발만 쓰는 반복적인 일을 귀찮아 하면 그런 일들을 좀 더 효율적으로 하기 위한 방법을 찾기 위해 머리를 쓴다고.

위 링크에서는 좋은 프로그래머는 lazy하고, dumb해야 한다고 한다. Lazy는 앞에서 말한 것과 같은 이유다. “Because only a lazy programmer will avoid writing monotonous, repetitive code – thus avoiding redundancy, the enemy of software maintenance and flexible refactoring” Dumb은 다소 의외일지 모르지만 겸손해야 한다는 것으로 해석하면 된다. 자신을 “Smart”하다고 생각하는 순간 더 이상 a) 배우기를 멈추고 b) 문제를 제대로 보지 못하고 선입견을 갖게 된다는 점이다.

주변에 보면 아주 간혹 “Lazy하고 Dumb”한 “Smart”한 친구를 보게 된다. 늘 배우기를 멈추지 않고, 다른 사람을 고려해서 설계하고 프로그램을 짠다. 하지만 내가 만나본 99%이상의 개발자는 그렇지 않다. 자신이 “Smart”하나도 생각해서 그런지 자신만 이해할 수 있는 디버깅이나 로그 출력문을 사용하고, 시간이 나면 늘 포털의 신문을 들락거린다. 어떤 기능을 물으면 늘 똑같은 답변. “코드를 봐야 알겠는데요”. 정말 “Lazy하고 dumb”하다.

재밌는 건 그런 친구들은 자신들이 관리자들의 눈을 피해서 딴짓을 하기 때문에 윗 사람들은 모를 거라고 생각한다. 하지만 내가 보기엔 안 그렇다. 관리자가 된 분들은 나름의 경험과 경력이 있다. 그리고 연륜이. 대부분의 사람은 나이를 먹을 수록 사람 보는 눈을 갖게 마련이다. 내가 아무리 숨겨도 내 머리가 비었음이 드러나고, 노력하지 않고 성실하지 않음이 몸에서 보인다.

1 Comments.

  1. cychong's me2DAY - trackback on November 28, 2009 at 8:54 am

Trackbacks and Pingbacks: