글쓰기와 코딩

글쓰기와 코딩.

나는 (무척 미숙한) 개발자다.
아직 시간이 지난 후 스스로 보기에 그럭저럭 괜찮은 코드를 만들어내지 못한다.

그래서, 좀더 좋은 코드를 짤 수 있는 개발자가 되기 위해 항상 노력하고 있고,
이렇게 글도 쓴다.

좋은 코드를 짜기 위해 글을 쓴다고?
이게 무슨 말인가?

지극히 개인적인 생각이긴 하지만,
나는 읽기 좋은 코드가 좋은 코드라고 생각하는 사람이다.
좋은 글처럼 말이다.

내가 짠 코드를 다른 개발자가 읽을 때 최대한 편안함을 느낄 수 있어야 한다고 믿고 있다.

예전 한 때는 개발자들이 우월감을 느끼기 위해
암호같은 코드를 찍어내던 시절이 있었던 것 같다.
뭐 추상화를 그리는 화가가 있는 것 처럼
그 것 또한 개인의 지적 만족감 차원에서의 시도로 충분히 존중할 만 하다.

하지만, 협업의 관점에서 볼 때 그러한 코드는
동료에게 가하는 지적 테러에 가깝다.

"나 이런 형이상학적 코드도 만들어내는 사람이야.
네가 이걸 이해할리가 없지. 난 너와는 차원이 달라."

코드의 원작자가 없으면 다른 동료가 이해는 커녕
읽고 싶은 엄두도 내지 못하는 코드.
원작자가 휴가를 가면 장애가 발생해도 유지보수가 불가능한 코드.
그래서, 동료에게 좌절감을 안겨주는 코드.
이런 코드에 나는 결코 "좋은 코드"라는 딱지를 붙여줄 수가 없다.

우리가 읽는 좋은 글은 보통 어떤 모습일까?

좋은 글은 다양한 어휘를 구사하지만, 결코 읽기 어렵지 않다.
군더더기로 흐름을 깨지 않는다.
같은 표현을 좀 더 풍부한 느낌으로 전달해준다.
(다양한 어휘가 그러한 역할을 하는 재료이다.)
읽은 후에는 내 마음에 기분 좋은 잔상이 여운으로 남는다.

그렇다면 좋은 코드는 어떨까?
좋은 코드 역시 읽기가 쉽다.
다양한 표현(다양한 구현 기술)을 사용하기도 한다.
코드를 읽는 과정이 재미있고, 읽은 후에도 기분이 좋다.
그리고, 거기에 내가 무언가를 추가할 수 있을 것 같은 자신감을 준다.

그런데,
참 아이러니하게도 이렇게 읽기 편한 코드를 만드는 것이
이해 불가의 스파게티 코드를 만드는 것보다 훨씬 어렵다.

박경리, 유시민같은 일류 작가가 되는 것은 참으로 어려운 일이듯이,
풍부한 표현이 담겼지만 읽기는 쉬운...
그런 코드를 만드는 것이 정말 어렵다는 것이다.

풍부한 어휘를 알고 있어야만 글의 표현력이 증가하는 것처럼,
개발자는 풍부한 기술 기반을 가지고 있어야만 다양한 구현(표현)이 가능하다.

그래서, 공부를 하고 글을 쓴다.
그리고, 코드를 쓴다.
글을 지어내는 느낌과 코드를 지어내는 느낌이 너무나 유사하여 적잖이 놀란 적도 있다.

항상 진리는 단순하다.
하지만, 그 단순한 깨달음에 이르는 과정은 지난하다.

성인(聖人)들이 복잡 다난한 일생을 통해 배운 것이 단 하나.
"사랑" 인 것 처럼
글과 코드도 마찬가지라는 생각이 든다.

"사랑할 수 있는 코드", "내가 만족할 수 있는 글"을 쓰기 위해 일생을 배운다.

항상 쉽게 작성하려는 노력.
다양한 표현을 사용해보려는 노력.
널리 읽어보고 꾸준히 만들어보는 노력.

죽기 전에 "내가 사랑할 수 있는 코드"를 지어볼 수는 있을까?
참으로 멀게만 느껴진다.

You may also like...

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x