[프로그래밍 심리학 이야기 5/조상민]
프로그래머의 제1조건은 IQ?
사람들은 생각합니다. 프로그래머들은 다 똑똑하다고. 그 어려운 컴퓨터를 어떻게 그리 잘 다룰까? 특히, 프로그래밍 세계와 멀리 떨어져 있는 사람일수록 그렇게 생각하는 경우가 많습니다.
사실 우리 자신도 조금은 그런 생각을 갖고 있습니다. “프로그래밍을 잘 하려면 머리가 좋아야지.” 예, 틀린 얘긴 아닙니다. 설계 시에도, 설계를 코드로 풀어낼 때에도 프로그래머의 뇌는 쉴 새 없이 돌아갑니다. 지능이 딸리면 제대로 해내기 어려운 일이죠.
그렇다면 ‘높은 지능’이 프로그래머의 제1조건일까요? 제랄드 와인버그는 『프로그래밍 심리학』에서 이렇게 단언합니다.
대부분의 프로그래밍 관리자들은 성격보다 지능이 더 중요하다고 말한다. 그러면서도 프로그래밍을 할 수 없을 만큼 지능이 떨어지는 사람에 대한 일화를 인용하는 사람은 별로 없다. 반대로, 프로그래머가 되어서는 안 됐을 성격을 지닌 사람에 대한 일화를 아는 사람은 많다. 따라서 프로그래밍에는 지능보다 성격이 더 중요하다고 단언할 수 있다.
그리고 프로그래머가 갖춰야 할 성격 중 대표적인 몇 가지를 귀띔해 줍니다.
1. 스트레스가 많은 상황을 어느 정도의 기간 동안 견딜 수 있는 능력이 꼭 필요하다. 외부로부터 강요받은 기한은 하루하루 다가오는데, 컴퓨터는 청개구리인양 내 말을 절대 안 듣고… 프로그래머에게 마음 편할 날이 일 년 중 며칠이나 있겠는가.
2. 겸손해야 한다. 겸손함이 없는 프로그래머는 고대 그리스 희곡의 전형적인 패턴을 답습한다. 작은 성공에 자만하다가 결국 자멸하는 것이다. 프로그래머가 몇 가지 간단한 기술을 익히고 스스로 전문가라 자만하다가, 그로서는 어쩔 수 없는 컴퓨터의 힘 앞에 박살이 나는 이야기는 소포클래스가 쓴 비극 못지않게 눈물겹다.
3. 동시에 자신감도 있어야 한다. 프로그래머는 뭔가를 되게 만드는 사람이다. 그 과정에서 장애물을 만나는 경우가 있을 텐데(아니, 많을 텐데), 그것을 피하거나 넘거나 타파해야 하기 때문이다. 그런데 만약 너무 겸손한 성격이라면, 자신이 택한 방법이 틀릴 수도 있다는 비판 정신을 지나치게 발휘해 자신감을 상실할 것이다. 물론 비판 정신이 없는 자신감은 브레이크 없는 기관차만큼이나 위험하겠지만, 자신감 없는 비판 정신은 기관차는 없고 브레이크만 있는 형국이다. 사고의 위험도 없겠지만, 뭔가를 이루는 건 더더욱 없다.
다 맞는 얘기지만, 꼭 프로그래머에게만 해당되는 얘기는 아닐 듯합니다. 어느 직업에나 스트레스는 있을 테고, 겸손함은 사회인의 기본자세며, 자신감은 뭘 하더라도 필요한 거니까요. 그런데 와인버그가 마지막에 꼽은 항목은 프로그래머에게 특히 잘 들어맞는 것입니다.
마지막으로, 프로그래머에게는 유머감각이 필요하다. 컴퓨터는 자신 앞에 앉은 사람을 모두 바보로 만드는 기계다. 따라서 우스꽝스러운 꼴을 당한 자신의 모습을 웃고 넘길 수 없는 사람은 프로그래머로 오래 버티기 어렵다.
여러분도 컴퓨터에게 ‘당했다’고 느끼신 적 많으시죠? 물론 그 대부분은 우리의 실수에 기인한 것이겠지만, 무슨 실수를 했는지 힌트는 전혀 안 주고 “Error! Error!!!”만 외치던 컴퓨터는 참 무심한 존재입니다. 그런 상황을 프로그래머는 어떻게 견뎌야 할까요? 와인버그는 노래 한 곡으로 마음을 달래라 충고합니다.
프로그래머의 주제가는 “아아아아아~(괴로워하는 신음소리)”다. 작업을 하나 마칠 때마다 자기가 저질렀던 멍청한 실수와 대면하기 때문이다. 그리고 주제가의 두 번째 소절을 부른다, “하하하하하~.” 그러지 않고서는 광대 노릇을 계속할 수가 없다.
재미난 이야기 잘 읽고 갑니다..
좋아요좋아요
재미있는 이야기군요 ^^
특히나 마지막 부분..
저희는 “아~”로 끝납니다. 자신의 문제점을 발견하고 한 가닥 깨달음을 얻었기 때문이지요. ‘바보 도 터지는 소리’, ‘돌 깨지는 소리’라고 합니다만..
그런 재미가 있기 때문에 여전히 이 바닥에 붙어 있는게 아닌가 하는 생각을 해봅니다.
좋아요좋아요