코더, 프로그래머, 개발자


  1. 코더(Coder) – 정해진 명세에 따라 프로그램을 짜는 일종의 오퍼페이터
  2. 프로그래머(Programmer) – 다양한 언어를 사용하여 기술적인 요구사항을 스스로 처리할 수 있는 사람
  3. 개발자(Developer) – 프로그래머보다 진보적인 개념으로 프로그램을 짜는 차원을 넘어서 소프트웨어 제품을 만드는 사람 & 기술뿐 아니라 커뮤니케이션, 문제해결, 팀워크에 대한 능력을 가진 사람

프로그래머 권리장전 (The Programmer’s Bill of Rights)

프로그래머 권리장전



Coding Horror라는 유명한 블로그를 운영하는 Jeff Atwood씨의 포스팅 중 하나가 나의 눈길을 사로 잡는다. 바로 “프로그래머 권리 장전 (The Programmer’s Bill of Rights)”. 이름 하나 거창하다. 프로그래머에게 주어져야 하는 6가지 “기본권리”에 관한 것이다. 모두가 내가 회사 생활하면서 느낀 것과 너무 동일하여 옮겨 본다.



사용자 삽입 이미지


1. 모든 프로그래머는 두 개의 모니터를 가져야 한다.


절대 동감. 회사에서 다 구려 터진 17인치 배불뚝이 모니터 하나 던져주며 높은 생산성을 바라는 것은 어불성설. 그것도 모니터의 주파수가 70Hz 정도라면 깨알 같은 소스 코드를 껌뻑이는 모니터 속에서 눈 빠지도록 봐야 한다. 생산성뿐만 아니라 몸 버리기도 딱 좋다. 이미 여러 연구 결과(?) 듀얼 모니터의 작업 효율성이 좋다는 것은 알려진 사실. 나도 듀얼 모니터 환경을 집에서 사용한지 4년이 다 되어간다. 그러나 회사에서 감히 이런 것을 주장하는 것은 정신 나간 짓. 결국 사비를 털어 LCD 모니터 하나 사서 일을 하였다.


2. 모든 프로그래머는 빠른 컴퓨터를 가져야 한다.


꼰대를 연상케 하는 나이 많으신 관리자라면 “명필이 붓을 가리는 것 봤냐”라는 말을 할 것이다. 더 빠른 컴퓨터로 더 빠르게 컴파일을 한다면 이건 결국 생산성의 증대로 이어진다. 1분 걸릴 컴파일이 20초로 줄어든다면 나머지 40초 동안 웹 서핑을 할 수 있지만, 그래도 그 중에서 10초 정도는 업무 관련 지적 활동으로 채워질 것이다. 비싼 컴퓨터 비용을 뽑고도 남을 수 있다. 회사에서 쓰던 컴퓨터의 메모리는 고작 512MB. 도저히 참을 수가 없었다. 결국 사비를 털어 1GB 램을 별도로 구입한다.


3. 모든 프로그래머는 자신이 선택할 수 있는 마우스와 키보드를 가져야 한다.


프로게이머에게 있어서 키보드와 마우스는 군인에게 있어서의 총알과 소총과도 같은 존재다. 오늘도 키보드로 예술 작품을 만드는 우리 프로그래머에게 있어서 키보드와 마우스는 피아니스트의 피아노에 견줄 수 있을 것이다. 그러나 회사에서 던져주는 키보드는 자랑스러운 SAMSUNG 마크가 새겨진 직사각형 키보드. 물론 이러한 키보드를 좋아하시는 분도 많지만 네츄럴 키보드 사용한지 10년이 넘은 나로서는 역시 적응하기 힘들었다. 마우스 역시 정체를 알 수 없는 “묻지마 마우스”. 결국 직접 돈을 들여 내츄럴 키보드 + 마우스 + 마우스 패드, 3종 세트를 구입해서 비치한다.


4. 모든 프로그래머는 편안한 의자를 가져야 한다.


아마 내 블로그에서 가장 많이 읽힌 글은 에어론 체어에 관한 일 것이다. 나의 편안한 의자를 향한 열정 역시 무소음 컴퓨터를 향한 열정 못지 않았다. 다행히 두 번째 회사에서는 듀오백을 주기는 하였으나, 이름만 듀오백일 뿐, 듀오백 중에서도 가장 싸구려 모델이었다. 참을 수 없는 불편함에 결국 주변 동료의 눈치를 뒤로 하고, 과감히 사재 듀오백 의자를 주문하기에 이른다. 사실 첫 번째 회사 시절에도 그러려고 하였으나, 그 당시에는 내가 가장 어린 놈이었다. 의자까지 사재로 지를 용기가 없었던 것이다. 그러나 두 번째 회사에서는 또래 개발자들이 대부분이었고 나름 짬밥이 된다고 판단, 과감히 지른다.


5. 모든 프로그래머는 빠른 인터넷 접속 환경을 가져야 한다.


아마 사장님들이 싫어할 대목일 것이다. 근무시간에 일 안 하고 인터넷만 한다고. 하긴, 내가 만난 최악의 상사 중 한 명은, 내가 MSDN 웹 페이지를 통해 자료를 검색하고 있는 것도 “너는 왜 인터넷으로 자료를 찾냐? 책 놔두고 뭐해?” 이런 멘트를 날려 주시며 나의 근무 태도에 태클을 걸어 오신다. 업로드는 그렇다고 쳐도 “근무하는데 인터넷이 왜 필요해?” 라는 마인드로 모뎀 수준의 라인을 깔아주시는 사장님께서는 제발 쫌.


6. 모든 프로그래머는 정숙한 작업 환경을 가져야 한다.


첫 번째 회사의 주요 업종 중 하나가 CTI라고 하는 것이었다. 각종 장비가 사무실 도처에 즐비 한다. 내 자리 옆에도 아름다운 서버가 한 대 계셨는데, 포근한 소음을 근무시간 내도록 들려주셨다. 너무 시끄러워서 일을 할 수 없다고 투정을 부리자니 나는 이제 갓 입사한 신입 사원. 보나마나 ROTC 출신 상관의 “뭐가 그렇게 시끄럽다는 거야. 일이나 열심히 해!”라는 소리 들을 것이 뻔해 가슴만 졸인다. 다행히 몇 달 뒤, 자리 옮길 기회가 있어서 잽싸게 안락한 자리로 옮겨 간다.




이걸 보면 나는 성격이 꽤나 모난 편이다. 그냥 아무런 환경에서나 일 하라고 하면 안 한다. 제대로 코딩을 하려면 모니터 주파수 및 핀 쿠션 확실히 맞춰야 하고 에디터 색상까지 깜장 바탕으로 해놓아야 비로서 코딩 할 맛이 난다. 책상도 깨끗하게 정리 정돈 하고 걸레질 한번 해줘야 한다. 키보드와 마우스의 때도 좀 벗겨 줘야 한다. 딱, 직장 상사가 싫어할만한 타입이다. 그러나 이러한 요구가 과도한 것일까?


프로그래머에게 있어서 빠른 컴퓨터와 안락한 근무 환경은 과도한 요구가 아니다. 적당히 구린 컴퓨터와 책상 의자 던져주면 당장엔 비용 절감으로 이어질 수 있을 것이다. 그러나 결국 그것은 생산성 저하와 척박한 애사심으로 연결된다. NHN의 수 많은 에어론 의자가 무엇을 말하겠는가? 회사가 그 만큼 직원들을 위해 노력하고 있다는 성의의 표시다. 보다 빠르고 편한 컴퓨터와 편안한 근무 환경은 모든 프로그래머가 가져야 할 필수 조건임을 감히 주장해본다!