작가가 글을 사랑하듯, 개발자는 코드를 사랑하기

카테고리
Empty
레퍼런스
Empty
내가 예전에 정말 좋아하는 수필이 있었는데, 어쩌다보니 TV에서 접했던 이슬아 작가님의 수필을 좋아했다. 이 작가님의 수필은 특이하게 책으로 출판을 하는 것이 아닌 (현재는 책도 출판을 하신다) 이메일로 저녁 시간에 글을 보내주시곤 한다. 구독료도 온라인으로 보내는 방식이었는데, 구독료를 그렇다고 빡빡하게 가져가시는 것도 아니었다. 구독료가 없다면 나중에라도 보내달라는 메세지가 적혀있었고, 그냥 작가님은 글을 사랑하는 내가 생각하는 작가의 이상적인 모습 그 자체였다.
시간가는 줄 모르고 봤던 일간 이슬아 작가님 수필
문득 회사에서 코드를 작성하면서 불편한 점들이 정말 많았다. 몇년 전 코드들을 보면서 그 코드를 작성한 사람이 회사에 남아있다면, 자리로 가서 이 당시의 코드는 어떤 의도를 가지고 만든 코드였는지 조심스레 여쭙곤한다. 그런데 그 코드를 작성한 사람이 퇴사자라면 어떤 의도로 이 코드를 만들고 설계했는지 정말 많은 시간을 가지고 고심해 파악하곤한다.
그래서 중요한 이슈로 인해 추가되는 코드인 경우, 특이사항으로 인해 긴급하게 추가되는 코드인 경우에는 꼭 나의 발자취처럼 주석을 친절하게 남기곤한다. 아래처럼 코드 안에 글을 새기곤한다.
/** 
* @description (아래 코드는 ~ 이슈로 인해 추가된 코드입니다, ~ 동작 과정을 가지고 있습니다.. )
* @see (링크를 첨부하거나, 중요한 함수의 이름을 남겨준다거나..)
*/
현재 회사에서 3년 가까이 재직을 하면서 이러한 코드들이 점차 쌓여나가고 있다. 개발자로 입성하기 아주 오래 전에는 정말 좋은 코드는 주석 없이도 볼 수 있는 코드라는 말을 들었는데, 나는 사실 서비스를 하는 기업에서 방대한 코드들 속 다양한 개발자와 협업하는 환경에서는 그러기가 정말 쉽지 않다고 생각을 한다. 그래서 쉽사리 공감은 되지 않지만 어느정도는 함수 명을 정말 고심해서 짠다거나 하는 노력을 한다.
내가 입사했을 때의 초창기의 코드들을 회사에서 한번 살펴보자. 정말 엉망이다. "왜 이렇게 설계하고, 왜 이렇게 짰을까?" 라는 생각을 하기도 한다. 또 1~2년 후에 나는 지난 나의 코드들을 보면서 "왜 이렇게 코드를 작성했을까?" 라고 생각을 할 것 같다. 그런데 지난 나날들을 바라보고 평가할 수 있는 자체가 내 스스로 성장했다는 증거가 아닐까 싶기도 하다. 영원히 좋은 코드는 없다. 단지 그 상황에서 가장 적합하고, 문제를 해결할 수 있는 코드를 작성했기에 당시에는 좋은 코드로 평가받을 수 있다고 생각한다.
내 코드를 사랑하게 되면 지난 나날들의 내 코드를 자연스레 돌아보는 습관이 생긴다. 그렇지만 너무 사랑하게 되면 버리는 것을 못하게되니 버린다는 어감보다는, 업그레이드 시켜준다고 생각하고 과감히 과거의 코드는 버려보는 습관을 가져보는 것도 좋겠다. 나는 혼자 있을 때는 다양하게 실험을 해보면서 로그 출력도 해보며 코드를 작성하는 편이다. 그래서 누군가 내 IDE를 바라보면, 순간 뇌정지가 와서 잠깐 코드를 작성하던 손을 멈추곤 한다. 지나와보니 내 코드에 대해 자신감이 없었던 것 같기도 하고, 내 코드를 사랑하지 않았기에 나오는 스탠스 같았다.
그래서 반성을 하며 이제는 내가 써내려가는 코드를 사랑하려고 한다. 코드의 결과물이 괜찮았기에 여러 서비스에 기여할 수 있었다고 생각하고, 내 문제 풀이 방식의 코드 또한 누군가에게는 또 하나의 방법처럼 와닿을 수 있을 것이다. 작가가 시간 가는 줄 모르고 글을 쓰듯, 나도 IDE에서 나만의 글을 앞으로도 자유롭게 창작해봐야겠다.
울 회사 1층 기념관에 IBM 컴퓨터
👍