-----------------------------------------------------------------------------
소프트웨어 업계의 잘 알려지지 않은 명작 [ Wicked Problems, Righteous Solutions ]에 
나온 일화를 국내 XP(Extreme Programming)의 전도사 김창준님이 각색한 것이다. 
-----------------------------------------------------------------------------

'열심히' 씨와 '훌륭한' 씨는 각각 '엄청난 소프트웨어 회사'와 '허벌난 소프트웨어 회사'의 두 직원이다. 
우연치 않게 두 회사에 정확히 똑같은 내용의 주문이 들어왔다. 
'열나 어려운 문제' 해결을 위한 프로그램을 작성해 달라는 것이었다. 

열심히 씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 
하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월 마지막 날 
매니저에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰습니다. 밤샘도 하고요. 
제가 지금까지 작성한 프로그램은 2,000줄입니다. 그런데 새로운 문제가 기술적으로 불가피하게 발생했습니다. 
복잡한 버그(프로그램 오류)도 몇 가지 해결해야 하고요. 한달 가량이 더 필요합니다". 
그러고 한 달 후 열심히 씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 
매니저와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미처 깎지 못한 수염, 
무지무지 어렵고 복잡해 보이는 2,500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡한 문제였군요. 
정말 수고하셨습니다."라는 칭찬을 들으면서, 

훌륭한 씨는 매니저가 '의무적으로' 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 
매니저는 훌륭한 씨가 월말이 되어서 "정말 죄송해요. 아직 한 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 
처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭한 씨는 예의 '너무도 태연스러운' 모습으로 나타났다. 
150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 '열나 어려운 문제'를 해결했다. 
하지만 매니저 가 그 코드를 들여다 보자, 한 마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 
매니저와 고객은 이름을 '열나 쉬운 문제'로 바꾸는 데에 전적으로 동의한다. 
훌륭한 씨는 "이렇게 간단한 문제를 3개월씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다. 

둘 중에 누가 승진을 했을까? 열심히 씨는 승진하고, 급여인상을 받았다. 
훌륭한 씨는 급여삭감을 직면하고는 퇴사해 버렸다. 훌륭한 프로그래머는가난하다. 
훌륭한 프로그래머의 딜레마인 것이다. 

출처 : 자바한다는 창영이 친구.
출처 : http://no-smok.net/nsmk/훌륭한 ;프로그래머의 딜레마


저작자 표시 비영리 동일 조건 변경 허락
신고
  1. 케이 2008.09.26 17:34 신고

    빈둥거린게 아니잖아 훌륭씨!! 지금 난 열심씨에서 훌륭씨로 가는 길이라 생각해야지...

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2008.09.29 09:24 신고

      훌륭씨도 다 잘한건 아니지만
      그래도 나름 현실에서 부조리한부분을 잘 꿴거 같아서 씁쓸해

  2. 투더리 2008.09.26 17:38 신고

    왜.. 이게 이해가 되지. 서럽게. -ㅁ-

  3. 금도리 2008.09.29 11:07 신고

    ㅎㅎㅎ 그래도 훌륭한 씨가 되고 싶네여..ㅋㅋ

  4. 투더리 2008.09.29 11:50 신고

    앗... 제목은 열심히씨와 성실한씨의 이야기인데...
    내용에는 열심히씨와 훌륭한씨의 이야기만 있닷!!!!!!!!!!!!!!!
    성실한씨를 출현 시켜 달라!!!!

  5. Favicon of http://2rang.tistory.com 꽃녀 2008.09.29 23:41 신고

    열심히 훌륭한 사람이 되고 싶어요 ㅜㅜ

  6. andwhy 2008.09.30 16:42 신고

    오유훼인...

  7. 프로젝트는 일단 무조건 한번 빵구 내고,
    위에서 뭐라그러면,
    비굴한 표정으로 살살빌듯이 애원하면,
    일정을 연기해 주니...
    연기한 만큼 띵가띵가 놀다가.
    마감일 오면,
    전에 미리 만들었던 소스코드 덕지덕지 붙여 넣어 완성 시키면
    연봉을 올려준다는 소리인가...?

  8. 2011.02.13 12:31 신고

    완전 동의 합니다. 제가 훌륭한 프로그래머의 전형이거든요.
    제가 팀장일때는 열심보다는 훌륭한 프로그래머를 더 대우하고 했지만 제가 밑에 있을때는 진급은 꿈도 못꿨습니다.
    결국 회사를 옮길때마다 진급한 케이스입니다.
    칼퇴근하면서도 모든 프로젝트를 일정보다 다 처리했을때는 진가를 모르다가 퇴사후에 다른 프로그래머가 들어와서 헤딩을 해봐야 그때되서야 다시 재입사를 권유하는 사태가 발생합니다.
    유비가 위대한것은 관우나 장비처럼 훌륭한 프로그래머를 발굴하고 지원하는 능력때문입니다.
    유비가 칼 싸움을 잘해서가 아니죠.
    훌륭한 팀장은 훌륭한 팀원을 알아보는 눈입니다.
    하지만 대한민국 회사는 야근으로 일을 잘하는 평가 시스템입니다.
    오죽하면 제 주변에서는 일부러 일정을 빵구 내고 야근하면서 자리지키고 놀고 있으라고 권유합니다.
    그래야 승진할수있다고... 참 아이러니한 세상입니다.

+ Recent posts

티스토리 툴바