IT 이야기2009. 1. 9. 13:05

작년에 모기업 서류통과-필기시험-실기시험을 통과하고
마지막으로 인성면접때 면접관이 나에게 한 질문이다.

물론 질문은 나한테 한거지만
기본적으로 프로그래머들은 "고집불통에 독선적이고 까칠한 성격이라서 타협할 줄 모르고 자기 주장만을 하는 인.종."이라는 인식이 있다. (.. 라는 사실을 프로그래머들도 알고 있다. )

그냥 대충 상황에 따라 다르다 라고 말했지만(그리고 그 인성 면접에서 떨어졌다-ㅅ-)
속으로는 다른 생각을 하고 있었다.

개인적으로는 - 비록 다른 인종들은 그닥 동의하지 않지만 -
프로그래머들 이야말로 타협의 프로라고 생각한다.
프로그래머는 항상 타협을 한다.

요구사항때는 수많은 이해당사자와 타협을 하고
설계시 여러 프레임워크와 여러 아키텍쳐, 방법론들 사이에서 타협하고
코드를 짤때 시간의 효율과 공간의 효율 사이에서 타협을 한다.
그리고 현재의 코드와 미래 발생할지 모르는 유지보수 사항과도 타협을 해야 한다.

사실 프로그래머의 일상은 타협의 일상에 다름아니다.

그러함에도 프로그래머들이 타협을 할 줄 모르는 독단적인 캐릭으로 취급받는 이유는
프로그래머는 항상 타협을 할때 타협의 이유를 무의식으로 생각하기 때문이다.


"당신은 6개월의 일정을 예상했지만 나는 2개월을 예상합니다. 이제 4개월로 타협합시다"
라는걸 타협이라고 부른다면 계속 읽지 않아도 된다.


사람들이 자주 망각하는 것중 하나는 프로그래머라는 직업은 매우 지적인 활동이며 관리자들이 생각하는 것보다는 훨씬 더 프로그래머는 영리한 사람들이라는 것이다. 물론 프로젝트가 4개월 이내에 완성되지 않으면 안되는 이유가 있을 수도 있다. 그때까지 완료하여 자본회수가 안된다면 회사가 심각한 위기에 처해 도산한다든가 그때까지 완료되지 않으면 핵발전소가 폭팔한다던가 혜상이 지구와 충돌하는 아마게돈이 일어난다고 개발자에게 솔직이 말한다면 중요도에 따라 일부 기능을 삭제한다든가 "상황은 매우 안좋지만 분발해보죠"라는 도전의식을 가질지도 모른다.


하지만 사실은 이 계약을 따낼때 접대 술자리에서 4개월에 무조건 하기로 했다던가 사실 당신의 말보다는 파킨슨의 법칙을 더 신용하기 때문이라면 프로그래머들은 타협의 이유를 생각하게 된다. 팀원에게 육체적,정신적 건강과 인간관계를 희생하라고 할때 그 희생의 결과는 무엇일까. 사실 대부분의 프로그래머들은 이러한 문제 프로젝트들은 대부분 실패하고, 또 그 정도까지는 아니라도 다른 생활을 포기하면서까지 매달릴만한 가치가 없다는 사실을 그동안의 값진 경험을 통해 잘 알고 있다. 그리고 그 타.협.대로 진행되서 일주일에 100시간 근무를 했더라도 25% 확률의 수고했어 라는 한마디 말 정도의 보상밖에 없다는 것도 말이다.


그렇다고 나를 비롯한 프로그래머들이 이러한 프로젝트를 항상 거부하는 것은 아니다. 사실 대부분의 프로그래머들이 그러하듯이 컴퓨터에 열광하는 내성적이고 그닥 사람들과 어울리는 것에 크게 관심이 없고 관심을 끌만한 도전의식이 있는 과제라면 최저한의 보상이라도 이러한 프로젝트에 참여할 것이다.

등산가들이 산이 거기 있기때문에 라는 어처구니 없는 이유로 에베레스트를 오르듯이 멋진 무언가를 만들기위해서는 일주일데 2번 가는 희생따위는 아랑곳 하지 않는 비정상적인 사람들이 우글우글 몰려 있는곳이 IT 바닥이다. 하지만 변덕스러운 고객의 마음을 독심술을 동원하여 맞추는데만 3개월이고 사실은 그저그런 재미없는 새로울것도 없고 멋진것도 없는 어디 내놔도 부끄러운 것을 만들어야 한다면 의욕은 감퇴하기 마련이다. (그래서 보통은 기한을 이유로 기능을 줄이지 않고 품질을 희생시키는 것은 좋은 생각이 아니다.)


결국 프로그래머들이 타협을 할 줄 모르는게 아니다.
다만 타협의 이유를 아무도 알려주지 않거나 사실 타협의 이유 따윈 없기때문에 타협을 하지 않는 걸 오해받을 뿐이다.




"전에도 말했지만 나는 누구나 한번씩은 문제 프로젝트에 참가해 볼 필요가 있다고 생각합니다. 그 외에도 한번씩 해봐야 할 일로는 이런것들이 있어요
 - 감옥에서 하룻밤 보내기
 - 변기를 끌어안을 정도로 술 마시기
 - 어린아이 키우기
 - 창업하기
 - 후지산 등반하기 "
by Rick Zahniser









'IT 이야기' 카테고리의 다른 글

재사용이라는 성배 2  (0) 2009.01.20
재사용이라는 성배  (0) 2009.01.20
멘델의 우열의 법칙  (0) 2009.01.15
좋은 프로그래밍과 훌륭한 프로그래밍  (0) 2009.01.13
미네르바의 구속을 보며  (0) 2009.01.09
Posted by bleujin