진보 개발자 vs. 보수 개발자

요즘도 그렇게 생각하는 사람이 있을까 정도로 상당히 옛스럽게? 생각하는 선배가 있었습니다. 이 선배는 총각시절에 이런 말을 입에 달고 살았습니다.

요즘 여자들은 말이야, 남자 알기를 아주 우습게 알아. 남자는 하늘이고 여자는 땅인데, 남자들 이야기할 때마다 꼬박꼬박 말 대답하는 여자들하고 절대 결혼 못하지.

전 이 선배를 볼 때마다 과연 장가나 갈 수 있을까 하고 생각했습니다. 한편으로 어떤 분이 이 선배하고 결혼할지 모르겠지만, 정말 고생할 것 같다는 쓸데 없는 걱정도 했죠. TV프로그램 중에서 버릇없는 아이를 착한 아이로 바꿔 주는 게 있죠. 이 프로그램을 볼 때마다 정말 신기하게 생각했는데요. 며칠 사이에 버릇없는 아이를 착한 아이로 바꿀 수 있다는 게 참 신통방통했습니다. 그런 일을 행한 사람보다, 그렇게 변한 아이가 말이죠. 사람의 가능성이란 참 대단하다는 걸 깨달았기 때문인듯요.

가부장적인 것으로 치자면 전국 순위 안에 들, 이 선배가 결혼을 하더니 정말 싹 바뀌었습니다. 형수와 겸상도 하지 않을 것이라고 생각했는데, 신혼 때부터 저녁을 차려서 형수한테 주지 않나, 휴일에는 화장실 청소에 집안 구석구석을 청소하느라 힘들다는 푸념 아닌 자랑?을 하는 걸 들어야 했습니다. 아이러니하게도 선배와 결혼한 형수는 평소 선배가 말하던 여자답지 않게, 꼬박꼬박 남자의 말에 대답하는 스타일이었습니다. ^^

가령 누군가가 책상에 편하게 걸터앉으려고 한다면, 책상의 본질을 맹신하는 사람은 상당히 불쾌감을 느끼게 될지도 모른다. 만약 이 상대방이 자신의 아이였다면, 본질주의자는 분명 아이를 야단쳤을 것이다. 책상에 걸터 앉는 것은 책상의 본질, 즉 공부하고 책을 읽는다는 본질적 행위에 어긋나느 것이라고 말이다.

흥미로운 일이 아닌가? 이 간단한 하나의 사례만 보더라도, 흔히 본질주의자라는 사람들은 결과적으로 볼 때 의도했든 그렇지 않든 간에 보수주의자일 수밖에 없다는 사실을 알수 수 있다. 본질주의자는 사물의 사용 목적에 대해 편집증적으로 집착한다. 나아가 자신이 믿고 있는 본질을 어기는 타자에 대해서는 폭력적이고 보수적인 태도를 견지한다.

철학 vs. 철학 중에서

보수주의자와 진보주의란 말을 많이 씁니다. 보수와 진보를 가르는 기준이 무엇일까요? 전 위의 예문처럼 보수와 진보를 정확하게 설명하는 글을 접하지 못했습니다. 이 글에 따르면 보수주의자는 사물에 본질적인 것이 있다고 믿는 사람인 반면, 진보주의자는 사물의 본질은 변할 수 있다고 믿는 사람입니다.

source: http://www.flickr.com/photos/bjacques/1215587450/sizes/m/in/photostream/
source: http://www.flickr.com/photos/bjacques/1215587450/sizes/m/in/photostream/

선배의 예로 다시 돌아가 보죠. 선배는 “무릇 여자란…”으로 시작하는 여성에 대한 본질적인 정의를 항상 내리고 있었습니다. 따라서 선배의 정의를 벗어나는 여자는 여자로 인식하지 못하는 일종의 보수주의자였죠. 하지만 결혼 후 선배는 여자의 정의에서 한참 벗어나는 분과 결혼했기 때문에 극 보수주의자에서 현실적인 진보주의자로 변신한 셈입니다. 사랑의 힘은, 참 대단하죠.

자, 그렇다면 진보는 좋은 것이고 보수는 나쁜 것일까요? 사실 그렇지 않다고 생각합니다. 보수주의자들이 지키려고 하는 본질적인 가치가 인류애나 우리의 삶에 도움을 주는 것이라면 의미가 있다고 생각합니다. 반대로 급진적인 진보주의자가 바꾸려고 하는 것이, 우리의 삶을 힘들게 하거나 황폐하게 하는 방향이라면 고쳐서는 안되겠죠.

개발자들도 보수 개발자와 진보 개발자로 나눌 수가 있을 것 같습니다. 우리 사회의 진보나 보수냐 처럼 거대 담론 정도는 아닙니다. 진정한 보수 개발자와 참된 진보 개발자를 말하기 전에, 현실 세계에서 보수와 진보를 말할 때 조롱의 대상인 수구 보수와 설익은 진보가 있는 것처럼, 수구 보수 개발자와 설익은 진보 개발자에 대해서 살펴 보죠.

수구 개발자는 누굴까요? 자신이 IT업계에 몸 닫고 나서 몇 년 동안 배운 게 IT분야의 진리인양 믿는 개발자가 여기에 속하겠죠. 아니면 자신의 MS쪽 기술에 능통한 탓에 모든 IT 기술은 MS가 진리라고 믿으며 다른 기술들을 하찮게 여기는 개발자도 속할 겁니다. 반면 설익은 진보 개발자는 새로운 트랜드만 나오면 그것을 쫓아하기에 바쁘기 때문에, 자신이 얼마전에 배운 기술도 완전히 습득하지 못하거나 퇴보한 기술로 생각하는 분들이겠죠.

이에 반해 진정한 보수 개발자는 자신이 사용하는 기술보다 소프트웨어 개발의 본질에 충실하려는 분들이겠죠. 예를 들자면 MS기술을 쓰든 다른 기술을 쓰든 그 기술이 담고 있는 본질적인 것, 예를 들면 설계를 어떻게 하면 잘할지, 그런 기술을 써서 확장성이 좋은 프레임워크를 만들거나 최적의 속도를 내도록 알고리즘을 만들거나 하는 데 초점을 맞추는 분들일 겁니다.

참된 진보 개발자는 그렇다면 누굴까요? 새로운 기술에 대해서 회의적인 자세를 유지하면서 가능성에 대해서 열어 둔 분들일 겁니다. 3분만에 웹사이트를 만들어준다는 데모를 봤을 때, 그런 데모가 가능하다는 사실에 혹해서 오늘 잘 쓰는 기술을 폐기처분하는 게 아니라. 그런 데모를 보고 현실에 기술을 적용했을 때 어떤 난제가 있을지, 그런 기술을 실제로 잘 쓰려면 어떻게 해야 할지를 고민하는 분들입니다. 설익은 진보가 몇 번 해보고 관두는 데 그친다면, 참된 진보는 당장 기술을 도입하는 데 느릴지 모르지만, 가능성을 넘어 그런 기술을 현실에 적용하려고 극단까지 실험하는 분들일 겁니다.

사회는 보수와 진보의 양날개로 난다고 하죠. IT기술도 그런 것 같습니다. 회사 안에 진정한 보수 개발자와 참된 진보 개발자가 적당한 비율로 있을 때, 이들 사이에 발전의 공진이 있고, 더 나은 소프트웨어를 만들어 내겠죠.

* 물론 진보 개발자와 보수 개발자의 특성을 모두 보이는 분도 있습니다. 사회가 극보수와 극좌 사이에 어딘가에 속하듯, 개발자도 양극단 어딘가에 있겠죠.

%d bloggers like this: