우리가 프로그래머로 일하는 이유는 두가지이다. 프로그래밍이 좋아서 프로그래머가 되었다. 어떻게든 먹고 살려다보니 밥벌이 삼아 프로그래머가 되었다. 전자는 순수한 열정이 느껴지고, 후자는 치열한 생존 전쟁의 이미지가 풍긴다.

어렸을 때 빌게이츠와 애플의 스티브잡스등의 IT영웅들을 잡지에서 보던 나는, 세상의 프로그래머는 단지 프로그래밍이 좋아서 프로그래머가 되었을 것이라고, 프로그래머는 뭔가 순수하고 특별한 세계를 가진 사람들일 것이라고 기대했다.

나는 존재하지 않는 이상계에 대한 꿈을 꾸었다. 우리나라는 프로그래밍이 좋아서 프로그래머가 되는 순수한 열정을 지켜주진 않는다. 우리나라 프로그래머는 밤12시 넘어서 일하고, 새벽에도 일하고, 주말에도 일하며, 명절에도 일하고, 결혼기념일에도 일하며, 심지어는 장인어른 칠순잔치에도 야근하는 모습을 보았다. 마치 전쟁터의 포화로 아름다운 도시가 쑥대밭이 되듯이, 우리나라의 개발 환경은 프로그래밍이 좋아서 프로그래머로 일하는 사람들의 열정을 파괴한다.

그래서 우리나라 대부분의 프로그래머는 먹고 살려는 밥벌이로 프로그래머를 하고, 프로그래밍이 좋아서 프로그래머가 되었어도 결국 먹고 살려는 밥벌이의 목적으로만 프로그래머를 할 것이었다.


밥벌이의 목적으로만 프로그래밍을 할때의 문제점은 장인 정신이 사라진다는 것에 있다. 장인 정신이 깃든 프로그램은 내가 만든 프로그램에 열과 성에다가 혼까지 집어넣어 정성을 다한 프로그램이다. 마치 장인의 자부심이 깃든 도자기 처럼 예술 작품을 만들기 위해 혼신의 노력을 기울인다. 

하지만 밥벌이의 목적으로만 프로그래밍을 할 경우는, 월급과 비례하고 업무량에 반비례하여 개발자의 노력이 작동한다. 대부분의 개발자는 박봉에 비해 엄청난 업무량에 시달린다. 그래서 제대로 프로그램을 만들 생각보다는, 그저 갑의 감시를 피할 정도의 테스트 통과용 코딩에 집중한다.


그렇다면 우리나라 IT환경과는 상관없이 장인의 정신을 지니게 된 프로그래머가 자신의 프로그램으로 추구하는 가치는 무엇일까 생각해보았다. 먼저 내가 만든 프로그램을 고객이 만족스럽게 사용 하는 것이 중요한 가치일 것이다.

잘 만든 프로그램은 고객이 동작시킬때 만족스러워 한다. 그 이후에 고객이 계속 프로그램을 다룰때도 계속 만족스러워 한다. 고객의 업그레이드 요청이 쉽게 해결될때 만족한다. 이렇게 고객의 가치를 최우선으로 생각한 프로그램이 잘 만든 프로그램이다.

고객을 위한 프로그램은 밖을 지향한다. 프로그래머를 위한 프로그램은 안을 지향한다. 프로그래머는 자신의 프로그램이 유연하고 확장하기 쉽고 유지보수 하기 편할때 만족스러워 한다. 프로그래머는 자신과 미래에 자신의 프로그램을 다룰 다른 프로그래머를 위해, 자신의 프로그램을 유연하고 확장하기 쉽고 유지보수 하기 편하게 만들어야할 사명감을 가져야 한다. 장인 정신이 깃든 프로그래머는 이런 사명감을 가진 프로그래머이다.


그래서 정리하면 고객과 프로그래머가 골고루 만족할 수 있는 프로그램이 잘 만든 프로그램이며, 장인정신이 깃든 프로그램이다. 이 명제를 지키지 못한 프로그램은 대부분 척박한 개발 환경에서 이루어지는 테스트 통과용이며 밥벌이용 프로그램이다.

그나마 척박한 개발 환경에서도, 고객과 프로그래머를 모두 생각한 프로그램을 만들기 위해 노력하는 장인 프로그래머들을 위해, 객체지향의 다양한 디자인 원칙이 도와주고 있다. 우리는 '객체지향 디자인 원칙'같이, 프로그래밍 장인이 되기 위한 기술을 부단히 익혀야 할 것이다.

저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon 호환 2009.10.05 00:09 신고  댓글주소  수정/삭제  댓글쓰기

    공감이 많이 가는 글입니다 저희과에서 늘 하는 말이 있죠 코딩할때 가슴이 안설레??

    그럼 경영학과로 가~~~ 그만큼 프로그램을 짜는 일이 고되고 힘든일임에는 분명하고

    밥벌이를 위해 하는 분들이 많은 현실이 안타까울 뿐입니다.

  2. BlogIcon shinlucky 2009.10.05 02:58 신고  댓글주소  수정/삭제  댓글쓰기

    직접 쓰신글이시죠?
    다름이 아니라 너무 공감가서요 ㅠ.ㅜ;
    저는 특히 후자의 입장에서 입문한 초보입니다.

    기타 다른 글들도 잘보고 갈께요.

    수필 객체지향이라, 멋지세요!

  3. BlogIcon Rbel 2009.10.05 08:36 신고  댓글주소  수정/삭제  댓글쓰기

    테스트 패스용 코딩.. 맞는말이죠..

  4. BlogIcon bluepoet 2009.10.05 13:54 신고  댓글주소  수정/삭제  댓글쓰기

    저도 윗분들과 같이 공감이 많이 가네요~


    그리고 진정한 프로그래머가 되기 위한 님의 깊은 고찰~


    저도 100% 동감합니다. 최소한 생계형 개발자는 되기 싫으니까요~ ^^

  5. BlogIcon montreal florist 2009.10.14 02:51 신고  댓글주소  수정/삭제  댓글쓰기

    정말 쉬운 일은 없군여, 일단 공부하는것만도 참 어렵져

  6. BlogIcon 데굴대굴 2009.10.20 18:10 신고  댓글주소  수정/삭제  댓글쓰기

    꼭 프로그래머가 아니라도.. IT 업에 있는 많은 분들이 여기에 속하는 듯...

  7. BlogIcon 산골 2010.07.08 09:58 신고  댓글주소  수정/삭제  댓글쓰기

    악플은 주인장 마음대로 삭제하기로 했습니다.

    이 글에 악플이 달렸는데, 결론적으로 악플을 달게 만든
    의도는 알았습니다.
    다음 고쳐쓰기할때 감상적인 글은 없애고 최대한 건조하게
    써야 겠습니다.

  8. 지나가는 나그네 2013.02.25 00:20 신고  댓글주소  수정/삭제  댓글쓰기

    악플마저 허락하는 여유있는 블로그가 되었으면 좋겠네요.
    글 잘 읽고 갑니다. ^^