2004년 10월 2일 토요일

프로그래머

내가 프로그래머가 되고 싶었던 이유는
내가 원하는 시간에 원하는 장소에서 창의적으로 일할 수 있을 꺼라는 생각에서 선택한 것이었다.
논리적이고 구조적이고 계획적이고 효과적이고 예측가능하고 뭐 그런 걸 생각하면서 말이다.


하지만 프로그래머라는 직업과는 조금 다른 것 같다.
논리적인 것이라면 engineer보다는 scientist나 수학자가 낫고
구조적이고 계획적인 것은 보다 성숙된 engineering 분야에서나 가능한 것 같다.
예측 가능한 일만 하는 일은 대게 단조롭고 창의적이지 못하다.
효과적으로 일하고 성과가 가시적인 것은 영업직이나 군인 같은 직업에서 가능하다.


프로그래머는 원하는 시간에 일한다고 할 수도 있지만 24시간 일해야 하는 직업이기도 하다.
다른 직업은 퇴근하면 땡인데, 시스템 프로그래머라면 서버에 장애나면 24시간 출동해야 한다.
도무지 언제 서버가 죽을 지 알 수도 없다.
잘 디자인하고 좋은 장비를 쓰면 막을 수도 있지만 국내 기업에서 그런걸 쓸 리 만무하다.
가장 로드가 큰 시간이 밤 12시라서
(인터넷 폐인들은 모두 밤시간에 몰린다. 서비스 인터넷 트래픽은 밤12시에 최고가 된다.)
서버도 그 때 근처에 죽는 일이 많다. 그럼 밤새 디버깅이다.
추석 때 고향에 가든 산골에 가든 인터넷 안되는 곳이 없다.
그러니까 휴가를 냈어도 문제 생기면 가서 고쳐야 된다.
가려면 휴대폰/인터넷 안되는 섬나라로 해외 여행을 떠나야 한다.


시장이라는 게 원래 예측가능하지도 않으니까 기획자들은 맨날 이상한 주문만 한다.
내일 무슨 짓을 해야 할지 아무도 모른다.
무조건 빨리 하라고 아우성만 친다.


버그를 발견할 수록 내 일감만 늘어나고 동료들의 불평만 늘어난다.
"누가 이런 썩는 프로그램을 만들었어?"
"왜 웹사이트는 느려지는 거야? 개발자 책임 아니야? 환불해줘."
"버그 없이 완벽하게 짜란 말이야." (공학적으로 불가능한 주문들이다.)
"아.. 녀석 까다롭기는.. 남의 프로그램에 있는 버그는 잘 찾아요."


죽도록 버그를 고쳐도 별 보상도 없다.
의사가 환자의 질병(버그)를 발견하고 고쳐주면 환자들은 이렇게 말한다.
"아.. 의사 선생님 너무 감사합니다. 생명의 은인입니다."
"병을 초기에 발견해서 다행입니다. 늦게 발견했으면 죽을 뻔했습니다."
자동차 수리공은 차의 이상을 많이 찾아낼 수록 돈을 많이 번다.
더 많은 부품을 교환해야 하기 때문에 돈을 더 많이 번다.
"음.. 고치다 보니, 여기도 고장이 났네요. 이 부품도 갈아야 합니다. 20만원 더 주세요."
프로그래머는 버그를 찾아낼 수록 TODO list만 길어지고 시간을 뺏긴다.
다른 일 할 시간이 줄어들어서 평가도 낮게 받고 연봉도 줄어든다.
그래서 별로 버그를 찾고 싶지도 않고 버그가 생기면 덮어버리고 싶다.

댓글 없음:

댓글 쓰기