Perl 언어의 창시자 "래리 월(Larry Wall)" 선생은
개발자가 가져야 할 세 가지 미덕에 대해서 다음과 같이 말씀하셨다고 한다.
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris"
그 세가지 덕목은
"게으름"과 "조급함(조바심, 성급함, 안달)"...그리고 "자신감(오만)" 이다.
1. 게으름
"개발자는 게을러야 한다?"
나는 이 말을 이렇게 받아들인다.
"절대 노가다에 익숙해지지 마라!"
개발자가 노가다에 익숙해졌다는 것은 바로 매너리즘에 빠졌다는 것이다.
개발자는 매번 동일하고 반복적인 단순 노가다를 부지런히 해내는 그런 사람이 아니다.
매번 동일하고 반복적인 단순 노가다를 단순히 행하는 데 그칠 것이 아니라,
거기서 패턴을 찾고 그 패턴을 정형화하고 자동화해서 프로그램으로 승화시킬 줄 알아야
진정한 개발자인 것이다.
손은 바쁘고 머리는 놀고 있을 것이 아니라,
손은 놀아도 머리는 바빠야 한다는 것....
이것이 바로 개발자가 가져야 할 "게으름(Creative Laziness)"의 미덕이다.
2. 조급함
어렸을 때 문제집 한 권을 풀면...
문제를 모두 다 풀 때까지는 절대 뒷면 정답을 확인해보지 않는 편이었는가?
아니면…
한 문제 풀 때마다 자기가 쓴 답이 맞았는지 틀렸는지 궁금해서
매번 문제집 앞 뒤를 왔다갔다 하며 문제를 풀었는가?
개발자는 후자라야 한다.
"기다릴 줄 아는 지혜" 따위는 가수 이덕진에게나 줘버려라!
개발자는 "기다릴 줄 아는 지혜" 따위 안 키운다.
개발자는 기다려서는 안 된다.
웹 페이지 Response Time이 느려도 참고,
쿼리를 날렸는데 반응이 없어도 참고,
프로그램 수행 결과가 늦게 나와도 참고...
언제까지 기다릴 셈인가?
고쳐라, 수정해라, 개선해라.
항상 리팩토링하고 튜닝하고 안정화시키고 고도화시켜라.
참지 않는 개발자에게 복이 있나니...
3. 자신감
자신의 소스 코드에 자긍심을 가져라.
자신의 산출물에 자신감을 가져라.
자신을 믿어라.
나의 프로그램은 스스로 완벽하고 위대하며,
그러한 위대한 프로그램을 만든 나는 더 더욱 완벽하고 위대하다는 점을 명심하라.
심지어 자신감이 지나쳐 오만해진다고 해도 상관없다.
스스로를 천재라고 외쳐라!
무엇보다 중요한 것은,
이러한 자신감을 계속해서 유지할 수 있도록 끊임없이 노력하는 것이다.
누구도 나의 소스 코드에 대해
이러쿵 저러쿵 왈가왈부할 수 없도록-!
항상 연구하고 노력하며 스스로의 실력을 갈고 닦는 것이야말로
개발자가 가져야 할 최고의 미덕인 것이다.