개발자들 중에 자신이 최고라는 생각하는 사람이 많다. 아마 이 글을 읽는 개발자가 있다면 어느 정도는 공감할 것이다. 심지어 ‘해커와 화가’란 책을 읽어보면 이 책을 쓴 폴 그레이엄(Paul Graham)도 이와 비슷한 성향의 사람임에 틀림이 없다. 폴 그레이엄은 그만큼 천재적인 사람이기 때문에 아니라고 말할 수 없지만, 당신은 폴 그레이엄 만큼 천재적인가? 그렇다면 여기까지만 읽기를 바란다.

그런데 왜 개발자들은 이런 말도 안 되는 생각을 하는 것일까? 그 이유 중 첫 번째는 업무 특성과 관련이 있다고 생각한다. 소프트웨어는 생각을 제품으로 만들어 내는 일이다. 즉, 소프트웨어를 개발하는 일은 무(無)에서 유(有)를 창조하는 일이다. 아마도 이런 특성 때문에 자신이 신이라도 된듯한 느낌을 받고 있지 않을까? 아마 그럴것이다.

또 다른 이유는 개발자들의 조직에 있다고 생각한다. 개발자들은 보통 다른 부서와 분리된 개발 조직에 근무하고 있다. 이유는 같은 업무를 하는 사람들끼리 함께 있어야 시너지 효과를 볼 수 있기 때문이다. 또한, 서로의 업무 공백도 메꿔줄 수 있다는 장점도 있다. 반면에 개발 조직에 업무를 할당하는 사람은 개발조직이 아닌 외부 조직인 경우가 많다. 기획부서 또는 일반 사무부서 심지어는 경영진이 직접 지시하는 경우도 있다. 여기서 문제는 업무를 지시하는 사람이 개발을 잘 알지 못한다는 것이다. 결국, 업무 지시를 할 수는 있지만 창조주와 같은 개발자님들이 안 된다고 하면 어쩔 수 없는 경우가 허다하다.

이런 생각을 하는 개발자는 결국 자신의 성장을 방해한다. 발전은 자신을 낮추고 배우고자 하는 겸손한 자세에서 출발하는데 자신이 최고라고 생각하는데 어떻게 더 발전을 할 수 있겠는가? 닫혀있는 마음은 배우기 어렵고 가르쳐 주기도 어렵게 한다. 이런 사람에게는 순수한 마음의 가르침이 오히려 화로 되돌아올 수도 있다.

또한, 이런 생각은 주위 사람들을 힘들게 하는 원인도 된다. 사회생활에서 사람과의 관계가 많은 비중을 차지한다는 것은 누구나 부인하지 못할 것이다. 이런 생각의 사람은 다른 사람들을 인정하지 않게 되어 결국 불화가 생기게 된다. 따라서 회사에 남아있거나 불만에 가득 차서 떠나거나 둘 중 하나의 선택을 하게 된다. 회사에 남아있다면 그 사람 때문에 다른 좋은 사람들이 떠나는 모습을 보게 될 것이며 다른 회사에 간다 해도 바뀌지 않는 성향 때문에 악순환은 반복될 것이다. 이런 사람은 사람과의 관계에서 상대방을 인정하지 않으려고 하므로 원만한 사회 생활을 될 수 없다.

개발자들은 이런 생각을 빨리 버려야 한다. 개발자들은 순수한 기술에 관심을 두어야 한다. 기술보다 정치에 신경 쓰는 것은 올바른 개발자의 자세가 아니다. 다시 순수하게 기술을 배우고자 했던 처음 그때로 다시 돌아가야 한다.

나 또한 이런 생각이 잠시 들었던 때가 있었음을 부끄럽지만 고백하고 반성한다. 하지만 얼마 지나지 않아 나는 내가 얼마나 아직 부족한지 깨달았다. 심지어 지금은 내가 똑똑하지 않은 것에 대해 자괴감까지 들고 있을 정도이다. 나는 똑똑한 사람들이 부럽다. 나도 조금은 느리지만 결국은 잘 하는 사람이 되고 싶다. 나 자신을 위해서도 처음의 그 열정과 배움의 자세를 잊지 않기를 희망한다.