2007년 6월 29일 금요일

6월의 마지막 주를 과거로 보내며

오늘 일을 마무리 짓고, 이제 퇴근합니다. 6월의 마지막 주를 이렇게 과거로 보내는군요.
더불어 2007년의 상반기도 함께 보냅니다.

여러분은 2007년에 목표한 바에 충실이 다가가고 계십니까? 저는 일부는 그렇고, 일부는 그렇지 않은 것 같군요. 이번 상반기에 얻은 수확 하나가 있다면 인생의 volatility 는 감히 계산할 수 없다는 사실을 알았다는 정도랄까요?

자, 다음 주는 후반기의 시작입니다.
모두들 이 더운 여름에 건강 유의 하시고 즐거운 주말 보내시기 바랍니다 ^^

2007년 6월 22일 금요일

삶은 고달프나, 프로그래밍은 즐겁다.

"어느 IT 맨의 사직서(http://blog.daum.net/moveon21/5423451)"라는 글이 요즘 큰 반향을 일으키고 있습니다. IT 업계의 전태일이 나오는 것 아니냐는 이야기도 나오고 있네요.

예, 그렇습니다. 부정할 수 없는 대한민국 IT의 현실입니다. 그리고 우리는 한 분야의 절정에 이른 전문가가 되지 않는 한 먹고 살기가 점점 힘들어지는, 이른바 양극화 사회에 살고 있다는 것도 현실입니다.

하지만 우리는 즐거운 프로그래밍을 하고 있습니다. 괴로운 일을 괴롭게 하는 사람들도 있는데,
우리는 즐거운 일을 괴롭게 하니 이 얼마나 축복된 일입니까? 아니면, 더한 저주일까요?

"Life is tough, but programming is fun."

2007년 6월 21일 목요일

덤벼라 슬럼프.

스포츠 선수들의 뉴스를 듣다 보면 제 이야기라고 느껴질 때가 가끔 있습니다.
제가 그 분들처럼 자신의 분야에서 유명하거나 뛰어나다는 뜻이 아니라, 그 분들이
처한 어려움이 공감된다는 것입니다.

얼마전 이승엽 선수가 4번에서 쫓겨났습니다. 이승엽 선수로써는 마음이 크게 상했을
것입니다. 그는 6번 타자로써 필요에 따라 희생번트를 날려야 하는 위치에 놓였습니다.
한국과 일본에서 홈런왕 타이틀을 거머쥔 바 있는 이승엽 선수와 같은 빅 슬러거에게는
엄청나게 자존심 상하는 일이지요.

하지만 그는 묵묵히 자신의 일을 하고 있습니다. "과거의 홈런왕"에 연연치 않고 "3타석 연속 삼진을 당한 타자"로써 자신을 인정하며 이를 야무지게 물고 연습을 하고 있습니다. 우리 모두 잘 알고 있습니다. 그가 다시 4번 자리에 서리라는 사실 말입니다.
그리고 앞으로도 가끔씩 지금처럼 힘든 시기가 찾아오겠지만, 그 때도 지금처럼 강하게 이겨내리라는 사실도요.

저도 요즘 슬럼프에 있습니다. 그리고 이를 극복하기 위해 저를 바꾸고 있습니다. 누군가가 이렇게 이야기 했다고 합니다. "슬럼프는 실력이 벽 앞에 쌓이는 시간이다."라고요.

이 시간이 빨리 지나갔으면 좋겠지만, 너무 늦게 끝나지만 않는다면 그렇지 않아도 상관없습니다. 앞으로 이런 시간이 왔을 때 이기는 방법을 충분히 배워야 하기 때문입니다. 다음 번엔 슬럼프가 더 강해져서 돌아올지도 모르는 일이니까요.

자, 이제 잡담 끝내고 다시 에디터 앞으로..... ^^

2007년 6월 19일 화요일

구글 말고

구글은 아주 훌륭한 검색엔진입니다만, 또 다른 검색 엔진에서 자료를 찾고 싶다면
아래의 검색 엔진을 사용해 보세요.

http://www.quintura.com/

2007년 6월 5일 화요일

컴퓨팅의 미래는 웹일까?

TV를 켰을 때 1분 정도 걸려야 비로소 전원이 들어오고, 리모컨으로 채널을 바꿀 때마다
모래 시계가 나타난다고 상상해 보셨나요?

우리는 "컴퓨터는 이런거야."라고 별 문제없이 사용하고 있지만, 아직도 컴퓨터는 갈 길이 멀었습니다. 궁극적으로는 웹도 답이 아닙니다. 여느 가전제품처럼 간단하고, 빠르며, 견고해야 합니다. MS가 미래의 컴퓨팅에 대해 한가지 안을 제시하고 있습니다.

다음 URL에서 MS의 새로운 컴퓨팅 인터페이스를 살펴 보시기 바랍니다. 그리고 우리네 소프트웨어 개발자들이 궁극적으로 만들어야 하는 세상이 어떤 것일지도 같이 생각해 봅시다.

http://www.microsoft.com/surface/

동이 터옵니다.

겨울 이 맘때에는 밖이 캄캄한데, 지금은 저 동쪽에서 해가 서서히 올라오고 있습니다.
빌딩만 빽빽히 들어선 이 동네에도 아침을 알리는 새가 노래를 시작합니다.
그리고 졸음은 저에게 이제 그만 쉬라고 속삭이고 있습니다.

집중이 되는 흐름을 깨고 싶지 않아서 밤샘하는 것과, 일이 많아서 밤샘하는 것은 분명히
구분하는 것이 좋다는 것을 오늘 여실히 느꼈습니다. 검토해도 검토해도 고쳐야 할 게 계속 나옵니다. 어떤 후배의 충고처럼, 이젠 나이를 의식해야 하는게 아닌가 하는 생각도 듭니다.(저 멀리에서 어떤 분이 돌들고 달려 오시는 광경이 보이는군요.^^ )

이렇게 정신적, 육체적으로 피로할 때는 무조건 쉬어주는 게 좋습니다. 아무렴요, 쉬는게 장땡이지요.

전 어서 일을 마무리 짓고 들어가야겠습니다. 막판까지 왔는데 제발 수월히 끝나주기를... T-T

2007년 6월 3일 일요일

공정이 제품을 만듭니다.

요즘 우리나라 소프트웨어 업계에서 "소프트웨어 품질"이라는 주제가 조금씩 이슈화 되고 있습니다. 이전에는 개념조차 없던 것이 이제는 "Good Software"라는 인증이 생기고 업체들도 해당 인증을 받기 위해 노력하는 곳이 많아졌습니다. 어느 정도 규모가 있는 회사에는 품질 관리(Quality Control)또는 품질 보증(Quailty Assurance) 부서를 운영하기 시작했습니다. 굉장히 고무적인 일이지요.

하지만 안타깝게도 이렇게 의욕적으로 품질에 공을 들이는 회사들도 소프트웨어 품질을 어떤 방법으로 향상시켜야 하는지에 대해서는 별 아이디어가 없는 것으로 보입니다. 컴파일러 옵션은 줄줄 꿰고 있어도 핸드폰의 간편 전화번호 검색 기능은 모르는 우리, 바로 소프트웨어 개발자들이 품질 개선의 주역이니 이해가 갈만 합니다.

우리 주위에는 이런 문제에 대해 경험을 가지거나 연구를 해온 선배가 없습니다. 300에 등장하는 스파르타 전사들이 갑옷도 없는 맨몸에 창과 방패 하나씩 들고 페르시안들과 싸웠던 것처럼 우리도 에디터와 컴파일러 하나로 수십년 동안 소프트웨어를 개발해 왔습니다. 버그가 적은 소프트웨어라는 말은 들어봤어도, 품질이 좋은 소프트웨어라는 말은 들어본 적이 없는 것이지요.

결국 우리가 품질을 위해 현재 할 수 있는 일은, 테스트 뿐입니다. 일단 소프트웨어의 개발을 마친 후에는테스트, 디버그, 테스트, 디버그 ... 의 사이클로 버그가 어느 수준 이상으로 발견되기 전까지 반복합니다. 그리고 테스트-디버그 사이클의 비용은 전체 소프트웨어 개발 비용의 40%에서 70%까지 차지하게 됩니다.

"원래 소프트웨어 품질 비용은 비싼거야."라고 넘길 수도 있지만, 이 정도로 많은 비용이 든다는 것은 큰 개선이 가능하다는 뜻도 됩니다.

제조업에서는 "수율(Yield)"이라는 개념이 있습니다. 투입한 자재대비 품질에 이상이 없는 제품을 얻는 비율을 말하는 것이지요. 수율이 높을 수록 낭비되는 비용이 적습니다. 특히 휴대폰과 같은 고부가가치 상품은 애써 만들어 놓은 제품이 출하전 검사 단계에서 불량 판정을 받아 폐기하거나 수리(또는 재작업)를 하는 비용이 만만치 않기 때문에 수율을 높이기 위한 노력을 엄청나게 기울입니다.

제조업에서는 제품을 내보내기 전의 품질 검사/감시 이상으로, 제품을 만드는 공정 내에서의 품질에 대한 감시를 중요하게 여기고 투자를 합니다. 각 생산 공정(Process)의 품질을 측정하고, 품질 저하의 원인을 공정에서 찾아내어 이를 개선합니다. 이렇게 개선된 공정 하나하나는 더 품질이 좋은 제품의 원동력이 되고 결국 원가 절감으로까지 이어집니다.

다시 눈을 돌려, 우리의 소프트웨어 공장을 봅시다. 우리가 만드는 소프트웨어는 그 어느 분야의 제품 못지않게 복잡하고 정교한데도, "공정" 따위는 없습니다. 우리 소프트웨어가 어떤 모습을 하고 있을지도 첫번째 컴파일이 끝나기 전까지는 알지 못합니다. 그 뿐인가요? 제조업에서 제품을 생산하는 것이 작업자의 "손"이라면, 소프트웨어업에서는 작업자의 "정신"이라 할 수 있는데, 많은 개발자들이 집중력이 떨어지는 근무환경에서 잠을 이겨가며 제품을 만들고 있습니다.

제품은 "공정"에서 나오는 것이지 "품질 감시"에 의해 만들어 지는 것은 아닙니다. 테스트 이전에 소프트웨어의 설계, 요구 사항 및 기능 정의, 작업자의 명확한 임무 정의, 일정 계획 등이 정상적으로 이루어지고 있는지를 점검해야 합니다. 지극히 상식적인 일이지만, 잘 지켜지지는 않지요. 마치 건강해지려면 담배를 끊고, 다이어트를 하고, 운동을 하고, 긍정적인 사고를 가지며, 브로컬리와 같은 녹화색 야채를 챙겨 먹어야 하지만 그 어느것 하나 생활에 반영하기가 어려운 것처럼, 이들도 그럴 것입니다.

하지만 한가지 확실한 사실은, 건강을 위한 노력을 하지 않으면 사소한 질병 때문에 대단한 의료비용을 지출하거나 죽을 수도 있다는 것입니다. 우리도 소프트웨어 개발 공정에 대한 개선을 시작하지 않는다면, 언제 죽을지 모르는 일입니다.

성공이냐/실패냐의 결과만을 판정하기 전에, 실패하지 않도록 최선을 기울여야 합니다.

"공정이 제품을 만듭니다."

2007년 6월 2일 토요일

어떤 Mac을 쓰냐고요?

회사 워크샵 때 상품으로 얻은 iPod 때문에 고객 등록을 애플에 해놨더니 가끔 애플에서 광고 이메일이 옵니다. 오늘은 "어떤 Mac을 쓰십니까?"라는 제목으로 이메일이 왔는데(사실 같은 메일을 몇 주만에 두 번째 받았습니다.), 잔소리를 하려고 이렇게 올립니다.

행사 일시 제품 정보는 별도 공지없이 변경될 있습니다.

이메일은 광고성 정보전송에 대한 정보통신망 법률 관련규정에 의거하여 발송되었습니다.

저작권 © 2007 애플컴퓨터코리아. 서울특별시 강남구 삼성동 159 아셈타워 32 애플컴퓨터코리아() )135-090
모든 권리 보유 / 문의 / 개인정보 보호정책 / 정보

Apple에서 제공하는 이메일 수신을 원하지 않는 경우에는 여기 방문하세요.


혹시 위 문구를 아래의 그림에서 찾을 수 있습니까? 깨알같이 작은 글씨에 흐릿한 폰트로 메일의 가장 아래 부분에 위치하고 있습니다. 최고의 디자이너들을 갖춘 애플이 이런 식으로 일을 마무리 한다는 사실이 대단히 실망스럽군요. 또한 "수신 거부 방법" 등의 고객이 정확히 알아야 할 정보를 얼버무린다는 느낌을  지울 수 없습니다.


iPod이 많은 결함에도 엄청나게 팔려서인지 몰라도, 애플이 실수에 많이 관대해진 것으로 보입니다. 사람이 하는 일이기 때문에 실수가 없을 순 없지만, 실수를 만들 수밖에 없다는 걸 깨달았다면 실수를 줄이고, 실수를 막을 수 있는 장치를 준비해야 하지 않을까요?

써 놓고 보니 정말 잔소리가 됐네요. 즐거운 주말 보내세요 ^^