All I Need To Know To Be A Better Programmer I Learned In Kindergarten라는 오래된 글이지만, 훌륭한 프로그래머가 되는 것은 먼 곳에, 어려운 곳에 있지만은 않다는 느낌을 받았다. 기본적인 내용들이지만, 그동안 바쁘다는 핑계로 잊었던 것들을 다시 생각해 보는 계기가 되었다. 그리고 조금씩 먼저 실천해 가는 개발자만이 훌륭한 프로그래머로 되지 않을까? 생각해 보면서 정리해 본다.
프로그래밍은 참으로 복잡하다. 그렇지만, 훌륭한 프로그래머가 되기 위해서 필요한 대부분의 것들은 우리가 어릴때 학교에서 배운 것과 크게 다르지 않다. 즉, 훌륭한 프로그래머는 어릴때 유치원에서 배운대로만 하면 된다는 이야기다.
아래의 리스트에 대한 영감은 Robert Fulghum의 All I Really Need to Know I Learned in Kindergarten라는 에세이에서 많이 왔다.
1. 모든 것을 공유해라.
가능하면 오픈 소스를 사용하고 할 수 있다면 기여까지(contribute) 해보자. 커뮤니티의 집단 지성은 몇몇 대기업의 제한된 비전(생각들)보다는 훨씬 좋다.
2. 공평하게 해라.
다른 기술들이나 프레임워크, 방법론, 그리고 의견들에 기회를 주자. 자신의 선택만(내 방법만) 잘 동작한다고 생각하면 안 된다. 다른 대안들도 잘 동작할 수 있고 열린 마음으로 다른 것들을 알아가는 것도 좋다.
3. 사람을 공격하자 마라.
2번에서와 같이 사람들이 .net이나 Java, PHP를 사용하고 있다는 이유만으로 그들을 공격하지 말자. 때로는 그들이 당신이 생각하는 것보다 훨씬 사용성이 좋고 더 유용할 수 있다. 당신이 그들을 공격하지 않는다면 당신은 그들로부터 더 많은 것을 배울 수 있다.
4. 내가 어지른 것은 내가 정리하자.
잘 동작하는 코드를 배포할 수 있도록 노력하자. QA가 너의 모든 버그를 찾아준다고 생각하면 안 된다. 자주 테스트하고 때로는 치밀하게 때로는 광범위하게 테스트 하자.
5. 내것이 아니면 가지지 말자.
자신이 사용하는 것의 라이센스를 따르자. 절대로 훔치는 것은 안된다. 그리고 나중에 몰랐다고 잡아떼도 안된다.

