폴 그레이엄 (Paul Graham)의 해커와 화가라는 책을 읽고 난 후부터 얼마 전까지만 해도 나는 프로그래머와 예술을 하는 화가가 예술적인 작품을 만들어간다는 점에서 매우 닮아있다고 생각했었다. 사실 더욱더 그렇게 믿고 있었던 까닭은 아마 폴 그레이엄뿐만 아니라 그에게 영향을 받은 많은 사람이 비유를 통해서 프로그래머와 화가의 예술적 공통점 찾고자 했었기 때문에 지금까지 그렇게 내가 믿고 있었는지도 모르겠다.

그러나 얼마 전 미술전을 다녀오고 나서 생각이 바뀌게 되었다. 많은 천재적이었던 화가들이 다시금 칭송받는 이 시대에 프로그래머들이 자신의 활동들을 예술적 경지로 끌어올리기 위한 마음을 전혀 이해하지 못하는 것은 아니지만 그렇다고 해서 예술적인 부분과 동일시하는 데에는 문제가 있어 보인다는 다고 생각하게 되었다. 프로그래머와 화가는 그 근본부터가 전혀 다른 것이다. 프로그래머와 화가가 닮은 부분은 어떤 작품을 만들어가는 그 정신일 뿐이지 그것에 대한 모든 활동과 과정들이 닮아있다고 생각하는 것은 문제가 있다.

예전에 베트남으로 출장을 갔을 때의 일이다. 베트남 개발자들이 어떻게 일하는지는 가까이서 볼 기회가 있었는데 놀라운 것은 자신의 실력에 상관없이 소프트웨어를 개발하고 있다는 자부심이 굉장히 강하다는 사실이다. 그들은 창조적인 작업을 하고 있다고 생각하고 있었고 그만큼 대우받아야 한다고 생각하는 듯이 행동하는 것을 볼 수 있었다. 민족적인 차이를 고려하고 보았을 때에도 나로서는 받아들이기 어려운 일이었다. 나는 이것들이 모두 소프트웨어와 예술작품을 만들어가는 과정을 동일시하는 데에서 오는 착각이라고 생각한다.

프로그래머는 화가들처럼 창조적이지 않다. 소프트웨어는 먼저 요구 사항에서부터 시작된다. 요구를 만들어내는 사람(제품 기획자, 고객 또는 프로그래머 자신일 수도 있다.)있고 그 요구에 맞추어 작성되는 것이 소프트웨어이다. 요구에 맞고 그 기능에 문제가 없다면 좋다고 말할 수 있고 요구에 맞지 않는다면 그냥 간단히 Shift+Del 키를 눌러서 그냥 삭제해버릴 뿐이다.

하지만, 화가들이 그려내는 예술적인 작품은 그렇지 않다. 돈을 벌려고 고객들의 요구를 들어주기는 하지만 결과물들을 판단하는 우리의 눈에 비치는 그림들은 그런 요구 말고도 하나같이 작가 개개인의 깊은 생각들을 추가로 담아내고 있다. 가장 널려진 ‘레오나르도 다 빈치 (Leonardo da Vinci)’의 작품 ‘모나리자 (Mona Lisa)’도 누군가의 요구로 만들어진 초상이기는 하지만 저자의 의도가 드러나 있다. 그 인물의 눈썹에서부터 미소, 손동작 및 배경까지 그냥 그려졌던 것은 없다. 하지만, 소프트웨어는 좋고 나쁘고 맞고 틀림의 구분이 명백하다. 분명히 예술작품의 그것과는 확실히 다른 부분이다.

또한, 예술작품은 시간이 흘러도 그 작품성을 인정받는 데 반하여 소프트웨어는 그렇지 않다. 예술작품은 500년, 천 년이 흘러도 그것의 감동이 고수라니 사람들에게 전해진다. 1500년대를 살았던 브뤼헐(Pieter Bruegel)이나 1600년대를 살았던 람브란트(Rembrandt van Rijn)이 아직도 사랑받는 이유는 이 때문일 것이다. 하지만, 소프트웨어는 30년은커녕 짧게는 고작 1~2년이 지나고 나서는 언제 그랬느냐는 듯이 그것에 대한 혹평이 이어지는 것이 현실이다. 심지어는 당신은 몇 일전에 개발한 프로그램을 바라보며 지금도 속으로 욕하고 있을지도 모른다.

예술작품은 시간이 흘러도 많이 배운 사람이건 아니건 간에 그것을 보는 이에게 개개인 나름대로 감동을 준다. 각자 해석하는 방법은 다를 수 있지만, 감동 주는 것은 같다고 하겠다. 하지만, 소프트웨어는 전혀 그렇지 않다. 심지어 전혀 감동적이지 않다. 적어도 예술작품과 비교할 정도라고 하면 컴퓨터에 친숙한 사람이건 아니건 간에 그 소프트웨어를 접했을 때 전해져 오는 예술작품과 비견할만한 정도의 감동수준이 있어야 한다고 생각한다. 이것이 소프트웨어 개발을 공학적으로 접근해야 하는 가장 명백한 이유일 것이다.

무작정 예술작품과 동일시하고 자신의 지위를 격상코자 목소리를 내기에 앞서서 그만큼 예술작품을 만드는 정신으로 소프트웨어를 만들었는가부터 자답해보는 것이 바람직하다. 예술작품에 대해 우리가 먼저 배워야 하는 것은 소프트웨어를 개발하는 데 있어서 예술작품을 만들어가는 과정과 같은 많은 노력과 고통과 헌신을 먼저 배워야 하는 것이 아닐까?