내가 생각하는 개발자의 덕목은 다음과 같다.
- 게으름
- 유머감각
- 부정적인 생각
1. 게으름
게으르다고 표현했지만, 사실 개발자의 반복되고 지루한 일을 싫어하는 모습이 성실하지 못하고 게으르다 보여질 수 있어서 그렇게 표현한 것 뿐이다. 이 반복되고 지루한 일은 스크립트화와 자동화를 개발하게 하는 동력이다. 이 과정에서 개발환경은 발전된다. 만들면서 새로운 것들을 알게 되고, 좋은 아이디어를 얻을 수도 있다. 그리고 개발자는 더욱 게으른 상태로 남을 수 있다.
좋은 개발자는 더욱 더 게으름 상태를 유지함으로써 더 좋은 실력과 환경을 얻을 수 있다.
2. 유머감각
개발자는 문제를 해결하는 사람이다. 평범하고 상식적인 방법만으로 접근해서는 문제를 해결하지 못하는 경우가 많다. 더욱 다양한 시각으 가지고 문제를 바라봐야 하고, 오히려 아무일도 아닌 것을 문제로 바라볼 수 있어야 한다.
남들은 재미없는 아재개그나 언어유희는 대상을 다른 시각으로 보게 하는 좋은 훈련이다.
유머감각을 통해서 개발자는 다양한 시각을 가질 수 있고 문제 해결을 하기 위한 실마리를 얻을 수 있는 기회가 많아진다.
3. 부정적인 생각
부정적인 생각은 두 가지 의미를 갖는다.
아무도 불편이나 문제를 인지하지 못할 때 부정적인 생각은 그것을 불편하게 느끼게 한다. 불편함은 곧 문제이고 문제를 해결헤서 상상도 못한 것들을 이뤄낼 수 있다.
아무리 뛰어난 개발자라도 버그없이 완벽하게 동작하는 프로그램은 없다. NASA의 뛰어난 개발자들이 모여 조심스럽게 몇 번이고 리뷰를 했더라도 작은 실수가 우주선을 폭발하게 만들기도 한다. 그래서 개발자들은 자신이 작성한 코드를 항상 부정적인 시각에서 의심하고 또 조심해야 한다.