productivity


20
Dec 09

Stop making progress and start making products.

Is Scrum dangerous that way? Absolutely. If you are doing Scrum well it will require you to change your life. You will have to give away your belief that having a checklist makes things run smoothly. You will have to stop chasing the perfect process and, instead, start cultivating your ability to trust the resourcefulness of others. You will cease using line items checked off on a plan as your measure of value. You will face your fears, all of them, about yourself and other people. You will stop making progress and start making products.

회사에서 무슨 껀수만 있으면 새로운 Process를 만드는 것이 유행처럼 되어 가는 것이 두렵다. 뭐든지 필요한 Process가 없어서 문제가 생기는 거라고 생각하는 사람들이 자리를 차지하고 있어 정작 그 Process를 따라야 하는 개발자들은 죽어난다.

Progress가 아니라 Product을 만들어라. 결국 본질에 충실해야 한다는 말. 그 분들은 혹시 Progress도 Product도 아닌 Process를 만드는 것이 목표라고 착각하고 있는 것은 아닐까?

출처 : This is not like That


29
Mar 09

InfoQ: How Agile Benefits the Individual

“…Most importantly, I still feel I’m growing as a developer. I honestly believe the best thing a developer can do in their career is to always be learning. Everything else will follow. “

InfoQ: How Agile Benefits the Individual

Things에 적은 “할 일 목록”에는 늘 “새로운 거 한 가지 배우기”가 있다.

오늘 난 개발자로써 뭘 배웠을까?


28
Mar 09

(펌) 난 더는 미루지 않을 거야!

미루는 사람들은 완벽주의자다. 다만, 완벽하게 일을 해내지 못할 따름이다

심하게 공감하는 말. 의식적으로 일을 미루지 않으려고 하는데 자꾸 하고 싶은 일을 먼저 하게 된다. -_-

그럴 때마다 “어차피 해야 할 일이면 빨리 즐겁게 해 버리자” 라고 되뇐다.

via へ( ̄∇ ̄へ) (っ ̄∇ ̄)っ :: 더는 미적거리고 싶지 않은 사람들을 위하여 – 난 더는 미루지 않을 거야!


19
Feb 09

덩치에 맞는 옷을 입자.

개발에 그렇게 많은 문서가 필요 없다는 글. 정말로 업데이트할 수 있을 정도의 핵심 문서만 만들어야 한다는 글. 저작권법때문에 인용글 삭제

via 소프트웨어 개발의 극과 극

100% 동감. 매 단계마다 몇 가지의 문서를 만들어내야 하고, 그런 과제 몇 개를 동시에 진행하면서 문서의 품질을 기대한다는 것 자체가 무리한 요구 아닌가? 창피하지만 우린 그런 문서 쓰는 거 교육 받은 적도 없다고. -_-


8
Feb 09

Waterfall과 Agile? 현실은?

이미 Waterfall 방식은 너무 느리고 비용이 많이 들어서 대부분의 소프트웨어 프로제트에서는 사용하지 않습니다

via Waterfall과 Agile :: All of Software

정말일까? 현실적으로 대부분 Waterfall 방식을 사용할 듯한데.
왜냐하면? 대부분의 기업에서(인터넷이나 벤처는 잘 모르겠다) Project 를 관리하는 역할이나 그 관리자를 관리하는 사람이 저것밖에 모를텐데. Agile? Scrum? XP? 정말 들어본 적이나 있을까?

최소한 내 주변에 있는 백명이 넘는 개발자 중에 저 세가지 단어를 들어본 사람의 수는 손가락으로 꼽을 수 있다고 장담한다.

내가 우물한 개구리이거나(상당부분 그렇긴 하지만) 혹은 현실은 인터넷에서 떠드는 소프트웨어 공학과는 아직 거리가 있거나.


8
Feb 09

Time Tracker

Downloads: TimeEdition is a Simple and Stylish Time Tracker

만약에 내가 하는 일이 외부 인터럽트에 의해 중단되는 경우가 적다면 유용할 듯하다. 근데 전화, 메신저, 긴급 메일등의 인터럽트로 점철된 현실은…

그래도 Bakcpack에서 제공하는 journal 의 기능과 더불과 과거를 회고하는데 도움이 되겠다. 매년 시간이 지나도 뭘 했는지 전혀 기억이 없는 요즘의 나를 위한 툴인 듯.

gCal/iCal/Outlook등으로도 업로드가 된단다.


11
Nov 08

Test 되지 않은 것은 분명히 문제가 있다.

지난 주까지 개발자들이 BT를 마치고 부서내 검증팀에 패키지가 넘어갔다.
조마조마 했는데 본격적인(?) 시험 첫날 점수가 38점. 달랑 13가지 시험했는데 그 중에 8개가 NOK 판정을 받았다.

문제점 나온 걸 보니 참 답답하다.
다행히(?) 많은 문제들이 H/W 케이블 이슈로 보이고, 아직 정리되지 못한 DB data 초기값 오류로 보인다. 후자의 경우에도 참 할 말은 많지만 일단 접고.
그 외에 눈에 띄는 문제는 역시나 제대로 시험하지 않은 경우에 발생한 문제다.

부서내 검증랩이 생긴 지 근 1년이 되었다. 그들도 이제 몇 차례(10번은 넘은 듯) 시험을 하면서 나름대로의 노하우가 생겨서 흔히 개발자들이 간과하기 쉬운 경우도 꼭 시험할 것이다. 이번에도 개발자들이 제대로 확인하지 않은 내용들이 우수수 걸리고 있다.

이번에도 어리숙한 친구들이 딱 걸렸다. 당최 이해가 안되는 것은 늘 하는 가장 기본적인 설정에서 동작하는 것을 확인했다고 테스트 다했다고 하는 마음이다.

사실 늘 하던 경우를 위해 코드를 수정해 가면 이 과제를 할 이유는 없다. 이 과제에서 바뀐 내용이 무엇이고, 그 변경된 내용을 확인하려면 어떤 경우를 테스트해야 하는 지를 고민했어야 한다. 구체적으로 못 챙긴 내 잘못도 크지만 실은 각 파트별 PA에게 몇 번을 반복해서 했던 말이다.

변경사항에 대해 확인하고, 그 내용이 구현되었는 지, Test case에 추가되었는 지 확인해라

사람들은 말한다. PA 한 번 쯤은 해 봐야 한다고. 나도 평생 개발자로 남고 싶은 심정이지만 그래도 딱 1번 쯤은 해 볼 필요가 있다고 생각한다. 그래야 남의 입장이 되어 보고, 개발자들을 이끌고 과제를 진행하는 역할도 해봐야 얼마나 담당자들이 허술하게 생각하는지를 알 수 있다. 이런 경험을 한번 해 봐야 내 담당 블럭을 책임 질 때도 좀 더 신경쓰게 될 것이다. 그리고 얼마나 사람들에게 일을 하게 만드는 것이 어려운 지. 얼마나 사람들이 Block Test(Unit Test)을 허술하게 하는 지, 얼마나 사람들이 남에 대해서 배려하지 않는 지, 이런 점을 보완하기 위해 “뭔가”가 필요하다는 것을 알게 된다. 아니 알게 되었다.

자 그럼 이제 어떻게 해야 할까?

사실 이런 점을 개선하기에 하나의 과제만을 담당하는 PA(Project Assistant?)는 적당한 배역이 아니다. 개발자를 챙기는 매니저들이 신경을 써 줘야 하는데 매니저들 대부분이 PA를 겸직하고 있어 그 들 역시 신경을 쓸 겨를이 없다. 하지만 개발자들에게 있어 PA는 그저 시어머니 같은 역할 일 뿐이다. 일정을 재촉하고, 문제점 해결을 종용하는 역할만을 하니. 사실 담당자들에게 있어 어떤 과제를 (더) 한다는 것은 큰 의미가 없다. 그거 귀찮은 일 하나가 늘었다는 것 외에 어떤 의미가 있겠는 가.

그래서 결국 개발자들의 자질을 높이고, 개발자가 만들어내는 코드의 품질을 높이기 위해서는 매니저나 선배들이 관심을 가지고 좋은 습관을 들이도록 잔소리도 하고, 좋은 본보기를 보여줘야 한다.

써 놓고 보니 내 주변의 현실의 정확히 정 반대의 이야기를 쓰고 있다.

그나저나 오늘 받은 숙제를 내일 아침 가자 마자 확인하려고 할 텐데

점수가 너무 낮다. 근본 문제가 뭐고, 해결 책이 뭐냐?


10
Nov 08

Scrum

Agile 방법론에서 가장 유명한 것은 XP이지만 그 외에는 Scrum도 있다. Scrum은 MS에서 사용해서 유명한 듯하다. MS에서 나온 몇 권의 책도 있고,

이번에 Scrum 책 한권이 번역되어 나왔다. 아직 읽어보지는 못했지만 정진호 님의 글을 읽다가 손뼉을 치고 싶을 만큼 “맞아 맞아”를 외치게 한 문장 하나.

프로젝트의 일정이 점점 꼬이고 제어할 수 없는 상태에 빠지는 것은 숨어 있던 문제가 나중에 드러나기 때문입니다.

Scrum은 숨어있는 문제를 빨리 드러나게 해 준다고 하는데 도대체 어떻게 하길래 그럴 수 있을까? 궁금하다.

Agile software with Scrum development

관련 포스트. (프로젝트 초기의) 때 이른 고통


14
Oct 08

Zen To Done(ZTD)

GTD도 아직 실천을 못하고 있는데 ZTD(Zen To Done)라는 게 있다는 걸 알았다.

ZTD가 GTD의 고급(?) 버전은 아니고 GTD의 실천 과정에서 만나게 되는 문제점을 해결하려는 노력이라고 한다.

일전에도 GTD 관련 링크로 알려져 있는 Zen Habits를 몇 번 방문하기 했었는데.

궁금하니 시간 날때마다 살펴봐야겠다. 친절하게 한글로 정리해 주신 도 있으니.


8
Aug 08

개밥 먹기(Eating one’s own dog food)

얼마 전에 했던 생각인데 아직 파트장등에게 제대로 제안을 해 보지는 못한 아이디어 하나.

Rephrasing 하려고 했다가 그냥 도비호님 포스트에 적은 댓글을 그냥 옮겨왔다.

분야는 다름니다만 저희 팀이 S/W 인력만 100명이 넘는 지라 여러 작은 팀으로 나뉘어져 있고, 그 덕(?)에 부서간 알력이나 협조가 안되는 경우가 무척 많습니다.

그리고 문제가 생겨 디버깅을 하다 보면 남의 파트의 로그나 디버깅 기능을 이용하는 경우가 많은데 무척이나 불편한 경우가 많습니다. 솔직히 그 담당자가 봐도 해석이 어려운 로그가 많더군요.

그래서 부서내 게시판을 하나 만들어서 내가 아닌 남의 프로그램에 대해 아쉬운 점이 있으면 적는 건 어떨까 하는 생각을 했습니다. 그리고 주기적으로 각 부서장들이 모여서 리뷰를 해서 정말 코드 수정까지 반영할 만한 가치가 것을 뽑아서 다음 번 패치때 추가하는 겁니다.

근데 아직 제대로 제안은 못했습니다. 제 생각에는 그럴 듯한데 말이죠.

  • 개밥 먹기란 자신이 만든 프로그램을 직접 사용하는 것을 의미한다. 내가 만든 걸 내가 사용해 봐야 당연히 소비자가 느낄 수 있는 불편함이나 아쉬운 점을 먼저 느낄 수 있을 것이다.

13
Jul 08

(펌) 랜디 포시의 시간 경영법

공병호의 시간 경영법 메일 중

  • 시간은 명쾌하게 관리되어야 한다. 마치 돈처럼.
  • 계획은 늘 바뀔 수 있지만, 단 분명할 때만 바꿔라
  • 스스로에게 물어라. 옳은 일에 시간을 쓰고 있는가?
  • 전화를 사용하기 전 다시 생각해봐라
  • 위임하라
  • 제대로 쉬어라

이 중에서도 “옳은 일에 시간을 쓰고 있는가?”가 가장 핵심이 아닐까 싶다. 지금도 시간을 “죽이고” 있는건 아닌 지 반성해 보자.


13
Jul 08

시간이 가장 소중한 자원

출처 : 내가 애자일을 좋아하는 이유, 그리고 황금률

저작권법때문에 인용문 삭제

늘 시간이 없다고 하는 사람들에게 아예 일할 수 있는 시간을 제한해 버린다면 어떨까?

시간이 없다고 아우성 치다가 ‘시간을 너무 조금밖에 안 줘서 일을 못 끝냈어요?”라고 하는 사람/시기도 있겠지만, 그래도 주어진 짧은 시간내에 일을 마무리 하기 위해 다양한 시도를 하는 사람/시기도 있을 것이다.

만일 후자처럼만 된다면 모두에게 win/win이 아닐까? 인건비가 사실 제품 원가에 많은 비중을 차지할테니 자연스럽게 그 비용이 줄 거고, 개개인도 좀 더 가족과 함께 지내는 생활이 많아져 좋아질 것이고. 그렇지 않을까? 내가 너무 이상적인가?

저작권법때문에 인용문 삭제

윗 글에 대한 댓글 중 인상에 남는 것. 팀장님은 팀장 역할의 미덕을 뭐라고 생각하실까?

저 말에 대해서는 해석차이가 있을 수 있겠지만, 적어도 난 일을 덜하고, 칼퇴근하겠다는 것보다는 좀 더 근무시간에 집중해서 필요한 일을 하고, 불필요한 일은 최대한 줄여서 칼퇴근을 지키겠다는 말로 해석한다.


4
Jun 08

소통의 문제는 여기에도

요즘 “소통의 부재”가 유행이다.

그런데 그 “소통의 부재”가 청와대와 국민 사이에만 있는 것은 아닐 것이다.

회사 내의 “소통의 부재”는 참 많은 생각을 하게 한다.

Agile에서 적극 추천하고 있는 “Stand-up meeting”을 시행하고 있다. 시작한 지 1년이 훨씬 넘은 듯하다.

하지만 한 번도 Agile에서 기대하고 있는 것처럼 적극적인 의사교환이나 정보 교환을 본 적이 없다.

늘 대장 노릇을 하는 사람이 주절주절 이야기를 하고, 나머지 사람들은 땅을 보거나 모니터를 보거나 가끔은 대장을 보거나.

피드백? 그런 거 별로 없다.

게다가 대장이 해주는 이야기는 대부분 진행 중인 과제의 “문제점”인 경우가 많아 듣기에 썩 좋은 이야기는 아니다. 타산지석으로 삼으면 좋겠지만 아쉽게도 전달하는 사람은 항상 “저런 저런 문제가 있었다. 우리는 이게 문제다”가 논지이기 때문에 과히 듣기 좋지는 않다. 맞는 이야기겠지만 비슷한 톤으로 비슷한 논지의 이야기를 주 5일 듣는다고 생각해 보자. 끔찍하지 않은가? 이건 마치 예전 5공때 9시 뉴스에 앵커나 늘 “오늘 대통령 각하는”으로 시작하는 기사를 매일 보도하는 거랑 다를 바가 없다.

아쉽다.

같은 이야기를 하더라도 조금만 다른 투로 친근하게, 때로는 능글맞게, 그리고 피드백을 쉽게 할 수 있는 분위기를 만들면서 한다면 좋겠는지.

그런 분위기를 만드는 게 쉽지는 않겠지만 노력을 안하는 듯 하니.

여기도 “소통”의 문제가 심각하다.

“소통”이 없으니 “팀 웍”을 꿈도 꾸지 못하고, 남이 뭐 하는 지 알 수도 없다.


29
May 08

log activity with launchy

  1. make a directory named c:scratch

  2. create a python script log.py and save the same directory import time
    import sys

    now = time.localtime(time.time())
    tim=time.strftime(“%Y/%m/%d %H:%M:%S”, now)

    fp = open(“c:scratchmyLog.txt”, “a”)
    message = ” “.join(sys.argv[1:])
    print >>fp, tim+” “+message

    fp.close()

  3. register that directory and *.py in launchy category and rescan

  4. Restart launchy

  5. invoke launchy and type “log” and type tab

  6. jot down log message and enter

Reference http://benkraal.wordpress.com/2007/05/16/launchy-append-text-to-a-file-from-anywhere/


29
May 08

이건 아니잖아~

몇 번을 버텼더니 결국 하는 이야기.

씩수시구마가 임원 평가에 들어간다. 만약 니들이 안 해서 임원 평가가 나쁘면 임원이 본인 점수가 왜 나쁜 지 볼 거고, 그러면 결국 너한테도 좋을 거 없다.

씩수시구마를 이용해 업무의 생산성을 높인다는 등의 그럴 듯한 소리가 아니라 아주 대놓고 이야기를 하는 거다. 저게 무슨 업무 진행이냐. 고과를 무기로 협박하는 거지.

또 본질은 사라지고 껍데기만 남았구나.

제발 누가 좀 말려줘요. 씩수시그마가 소프트웨어 얼마나 잘 맞는 건지 좀 알려달라고

제일 고래잡는 데 호미들고 설치지 말아라.


24
May 08

How to be an expert

끊임없이 개선하려고 노력하고, 새로운 더 좋은 방법을 찾는 것.

How to be an expert


11
May 08

취중진담

얼마전 진급자 회식자리에서 회사생활 중 주변에서 본 최고참 여자 선배가 랩장과 술 기운에 이야기를 하는 걸 봤다.

“부장님의 문제점은 자신의 코드를 강요한다는 거예요. 모든 사람에게 자신의 코드를 강요하지 마세요. 모든 사람이 그런 건 아니예요” “이 부서에는 부장님이 한 마디하면 거기에 줄을 서는 사람과 그렇지 않은 떨거지들만 있어요”

옆에서 한 마디를 거들려고 하다가 말았다.

“그래봐야 소용없을 거라는 생각”과 “괜히 찍혀봐야 좋을 거 없다는” 현실적인 생각때문에.

입사때부터 알아서 함께 일한 것은 근래 3-4년이지만 그 분 스타일은 이제 눈에 선하게 보인다.

다달이 하는 반상회에서는 부드러운 목소리로 “난 우리가 잘 하고 있다고 생각해”라고 말을 하지만 회의에서는 너무나도 잔인(?)하게 추궁하는 스타일인 것을 다들 알고 있기에 별로 기대를 안한다.

그래서 생긴 문제점이 내가 그렇듯

“잘 해봐야 소용이 없다”, “부장님의 의견에 반하는 생각을 가져도 제안할 수가 없다”

는 것이다.

“사람”과 “소통(대화)”를 중요하게 생각하지 않는다는 느낌을 주기에 더욱 그렇다.

단 한번도 사람(개발자)등의 의견을 물은 적이 없다. -_-

아래 사진을 보고 불현듯 이런 글을 쓰고 싶었다.(출처 우리는 어디에? from Life is wonder-ful)

사람은 어디에?


30
Apr 08

관리자가 잘못 생각하는 착각들

via 관리자가 잘못 생각하는 착각들

착각1 : 하나를 알려주면 열을 안다.

착각2 : 회식을 하면 침체된 분위기가 좋아진다.

착각3 : 사람을 중시하는 경영을 하고 있다.

착각4 : 물질적인 보상은 직원들을 열심히 일하게 한다.

크.. 부서내 위키를 재정비하고 있는데 이런 글을 올려놓으면 관리자들이 어떤 반응을 보일까?

중국 정부처럼 위키를 검열하려고 들까? 하긴 그럴 마음이 있어도 그럴 필요가 없겠지. 그냥 불러서 말 한마디를 하지 않을까?


21
Apr 08

Positive Retrospective

우리는 왜 긍정적인 회고를 하지 못하는가?

  • 짜증스런 목소리로 “왜 잘못했냐고?” 소리치는 매니저가 만들어 놓은 아픈 상처때문에?
  • 짜증스런 표정으로 의자에 엉덩이를  걸치고 앉아 핸드폰 게임만 하고 있는 개발자들때문에?
  • 해봐야 소용없다는 회의적인 생각때문에?
  • 얄팍한 자존심때문에? 이미 패치내서 지난 간 일을 들쳐내기 싫어서?
  • 왜 회고를 맨날 골방에서 큰 소리를 내가면서 해야 할까? 왜 밝은 장소에서 할 수 있는 분위기가 안 되는 걸까?

우리는 안 하는 걸까? 못하는 걸까? 둘 다 겠지.

어떻게 하면 바꿔갈 수 있을까?


20
Apr 08

너무나 이기적인 개발자

옆 부서는 신입사원이 들어오면 기존 블럭에 대한 F/U을 시키는 것이 아니라 무조건 Test 작업부터 할당한다. 그래서 옆에서 보기에 참 불쌍(?)하다는 생각을 많이 했다.

Test 업무라는 것이 내가 만든 것이 아니라 대부분 남이 만들어 놓은 것을 대상으로 하는 지라 나름 부품 꿈을 안고 “개발자”의 길을 선택했는데 그것과는 사뭇 다른 일을 하고 있으니 어찌 흥이 나겠는가?

얼추 보면 최소 6개월에서 1년동안 이런 일을 한다.(리더가 특별히 계획을 가지고 이렇게 진행하는 것인지는 모르겠다. 아무래도 그 분이 그럴 것같지는 않고)

개인적으로 이렇게 하는 것에 그리 공감하는 편이 아니었는데 이번에 출장와서 겪은 일을 계기로 다른 생각이 들었다. 바로 “역지사지”, “사용자 입장에서 바라보기”가 그것이다.

많은 실은 대부분의 개발자들은 코딩을 할때 자신의 관점에서 작업한다. 자신의 관점이라 하면 어떤 방법을 사용하던 자신에게 주어진 요구사항에 맞게 프로그램이 동작하게 만드는 것이다. That’s it.

당연히 코딩하고, 시험하면서 필요한 부분을 확인하기 위해 로그 메시지도 출력하고, 상태 확인을 위한 디버깅 기능도 추가한다. 하지만 이런 것은 거의 100%가 자신을 기준으로 한 것이다. 즉 누구보다 해당 블럭을 잘 알고 있다는 것을 바틍으로 로그나 디버깅 기능을 추가하는 것이다.

그런데 정말 로그나 디버깅은 개발자 자신만 사용하는 것일까? 만일 그 사람이 다른 업무를 맡게 되었다면? 만일 퇴사했다면? 갑자기 동작에 문제가 있는데 연락이 안된다면? 담당자가 있는 곳이랑 전혀 반대의 시간대에서 문제가 발생했다면?

결코 로그나 디버깅 기능은 개발자를 위한 기능이 아니다. 개발자(담당자) 자신을 포함한 많은 사용자를 위한 기능이다.

그렇다면 어떻게 해야 할까?

쉽고 직관적이어야 한다.

당연한 이야기다. (대부분의 경우) 쓸데없는 소스 파일 이름, 함수 이름, 라인수를 찍어 로그를 지저분하게 하지 말고, 단순하게 error 문이나 Return -1 같은 거의 무의미한 내용을 출력하지 말고, 16진수를 0x도 없이 찍지 말고, 16진수를 10진수로 출력하지 말고, 디코딩이 필요한 값을 단순하게 숫자로 찍어서는 안된다.

한가지 정보를 얻기 위해 사용자가 몇 번의 명령어를 입력하게 해서는 안된다. 개발/시험 중에는 고작해야 1-2군데에서 그 명령어를 치겠지만 현장에서는 단위가 달라진다. 몇 십번에서 몇 백번 똑같은 명령을 입력하는 경우도 있다. 이런 어처구니 없는 불편함은 누구 잘못이겠는가? 모든 것이 자신을 기준으로 자신만을 생각하고, 사용자를 생각하지 않는 개발자 잘못이다.

그럼 처음에 왜 신입사원에게 Test 업무부터 시키는 것에 대한 생각이 바뀌었는지 답이 나온다. 바로 다른 사람이 만들어 놓은 불편한 로그/디버깅 기능을 체험하라는 것이다. 내가 다른 사람이 만들어 놓은 지저분한 로그를 분석할 때도 있고, 불편한 디버깅 기능을 이용해 봐야 정말 다른 사용자의 심정을 조금이라도 이해할 것이라고 생각하기 때문이다.

정말 부서내에 게시판을 하나 만들어놓고 다른 사람의 로그나 디버깅 기능을 이용하면서 느낀 불편한 점을 공유했으면 좋겠다. 모든 불편한 점을 해결할 수는 없을 테니 주기적으로 게시판에 올라온 것중에서 꼭 필요한 부분을 골라 activity로 잡아 개선하는 작업이 있으면 좋겠다.

그리고 시험 인력은 로그가 부정확하거나 불편한 점 역시 개선요구사항을 개발팀에 feedback을 줄 수 있는 분위기/체계가 있었으면 한다. 제대로 기능 동작은 기본이 아닌가? 단지 제대로 동작하는 것 그 이상을 목표로 삼아야 한다.

많은 경우 제대로 되지 않는 management나 process를 욕하는 경우가 많다. 하지만 시간이 가면 갈수록 결국 문제점은 개발자의 태도라는 생각이 든다. 개발자의 능력이 아니라 태도.

꼬랑지) 그래서 읽고 싶은 책. “소프트웨어, 누가 이렇게 개떡같이 만든거야” 중 (via Inuit Blogged)

geek들의 지적 만족을 위한 프로그램이 아니라 제품으로서의 소프트웨어를 만들어야 합니다