이런 핑계는 피하자

자신의 S/W 블럭이 죽은 후

  • A 블럭이 엉뚱한 메시지를 잘못 줬어요
  • A 블럭이 보낸 메시지에서 이 필드에 이런 값이 있으면 안되요.

약속된 인터페이스대로 동작하지 않은 상대방 블럭의 책임도 있지만 그렇다도 예상하지 않은 값을 받았다고 죽어버리는 블럭을 작성한 개발자도 50%의 책임이 있다. 항상 외부와의 인터페이스에는 message length check, value range check를 수행해서 죽지 않도록 해야 한다.

새 핸드폰 사야 하는데 -_-

이번에는 혜승엄마가 핸드폰을 잃어버렸다. 쩝. 분명히 출근길에 가지고 갔다고 하는데 찾을 수가 없단다. 며칠 동안 전화를 했는데 딱 6번만 신호가 가고 그냥 음성사서함으로 넘어가버린다. 쩝.

전화기보다는 전화기에 남겨있는 전화번호부나 문자메시지등이 더 소중한 자료인데 아깝다.

새 전화기를 구입해야 겠는데 혜승엄마도 나 처럼 쉽게 핸드폰을 아무 거나 살 수 있는 처지가 아니다. 전화요금의 30%를 할인받는 혜택을 받고 있는데 현재 이통사가 아닌 다른 이통사로 옮기거나 혹은 현재 이통사도 신규로 가입하면 그 혜택이 더 이상 제공되지 않는다.

결국 할 수 있는 방법은 기기변경이나 내가 지금 쓰고 있는 2G 폰을 넘겨주고 내가 3G로 가는 방법.

2G 기기 변경이나  3G로의 전환신규나 어떤 경우든 이통사 입장에서는 이미 잡아놓은 물고기가 파닥거리는 걸로 보이기때문에 거의 혜택이 없다. -_-

마침 회사에서 사용하는 info-mobile서비스가 3G도 지원하게 되어서 전화기를 무료로 바꿔주는 행사가 있던데 전화기 모델이 W3300이다. 예쁘게 생겼지만 스펙이나 마무리는 대략 난감인 전화기. 아쉽게도 정말싼티 나는 전화기라 선뜻 손이 가질 않는다. -_-

은근히 이거 골치 아프다.

그냥 중고 전화기를 하나 살까?

사람, 사람 그리고 사람

내가 공대를 간 이유 

내가공대를 지망한 것은 어린 마음에 막연히 컴퓨터가 좋아서였다(근데왜 전산을 전공하지 않았을까???)

당시 내 성적이면 그래도 맘만 먹는다면 일류대는 아니더라도 의대는 갈 수준이었지만 “피”를 무서워하고 사람 대하는 데 도통 자신이 없는 터라 사람이 아닌 “기계”를 대하는 공대가 적성에 맞다고 생각했다.

10년.

입사한 지도 10년이 지났다. 주변머리가 없어 다른 길을 보지도 않고 그냥 한 길로만 왔다.

철없던 어린 시절에는 나에게 주어진 일, 내가 맡은 블럭만 신경써서 (당연히 타 블럭과의 연동 포함) 문제 없이 동작하는 게 전부 인 줄 알았다.

그리고 이제서야 깨달은 것은

결국 S/W 개발도 사람을 관리하는 게 핵심이구나.

얼마전에 만난 친구 녀석. 이젠 현역(?)이 아니라 8명의 부하직원을 둔 매니저가 되었단다. 첫 마디가

“말도 어지간히 안 듣는다”

후배들

함께 일하는 후배나  동료를 본다.

그들 중에 얼마나 많은 이가

S/W quality, 문서화, 자발적인 코드 리뷰, 타인에 대한 배려, 방어적인 프로그래밍, 정보 공유, productivity, unit test, block test, test automation…

이런 것들에 대해 고민하는 가 생각해 봤다. 몇 명의 얼굴이 떠올랐지만 그들은 손가락으로 꼽을 만한 수였다.그것도 왼손만.

Process

자꾸만 process를 복잡하게 한다. 패치하나를 내려고 하면 이런 저런 문서를 몇 가지를 함께 제출해야 한다. 당연히(?) 개발자들은 힘들어 한다.

그런데 어찌 보면 당연한 작업이다. 그동안 하지 않았을 뿐. 코드를 수정해서 패치를 내면 당연히 뭘 고쳤는지, 왜 고쳤는지등을 설명해야 할 것이고, 수정된 코드로 인해 기존에 잘(?) 동작하던 것들에 영향을 미칠 수 있으므로 regress test결과를 제출해야 할 것이다. 그래야 잘못된 패치로 인해 발생할 수 있는 부작용을 줄일 수 있는 것이다.


블럭 독점주의

블럭 담당자가 자기가 맡은 블럭이 뭘 해야 하는 지 모르는 경우도 많다. 누구말대로 “블럭 담당자”가 쉽게 딸 수 없는 타이틀이라는 것이라고 알게 해야 할 정도다. 이런 저런 잡일을 하다가 나름 실력을 인정받은 경우에만 “블럭”을 할당해서 자부심을 갖게해야 할 지도 모르겠다. 하지만 지금은 자신이 맡은 블럭은 남들은 전혀 신경도 안 쓰고, 신경도 못쓰게 자신만의 블럭으로 생각한다.

All I have to know is the programming language 

코딩을 위해 당연히 언어는 기본이고(모르면 필요하면 책을 보거나 reference code를 보면 된다) 코드 관리나 unit test, block test, documentation 등 다양한 내용을 알아야 한다. 하지만 오직 설계 문서도 없고(문서가 아니더라도 어떤 형태던지 설계에 대한 내용을 알 수 있는 기록) 코드에는 코멘트도 없고, test case도 정리하지 않고, 타 블럭과의 연동은 항상 직접 붙어야 한다고 생각하는 자세.

결국 사람이 문제다.

개발자의 능력이 문제고, 그 보다는 개발자의 자세/자질의 문제다. 동시에 입사한 신입사원을 보더라도 정말 흔한 말로 “열정”을 가지고 노력하는 모습이 보이는 사람과 그렇지 않은 사람은 확연하게 구분이 된다. 비록 지금은 별 차이가 없을 지라도 불과 1-2년만 지나면 그 두 사람에 대한 대우가 달라진다. 금전적인 것이 아니라 동료 혹은 선배들이 바라보는 시선이 달라진다.

잔소리

매일 아침마다 하라고 하는 이야기가 있다. 하지만 한 명도 안한다. 왜 안하는 걸까?

하기 싫어서? 하기 귀찮아서? 힘들어서?

이유가 뭘까? 정말 이유가 뭘까?

큰소리

왜 회의때마다 그 사람이 그렇게 언성을 높이는 지  가끔은 이해가 된다.  “왜 내가 시킨 걸 안했어” 도 있겠지만 “왜 너희들은 나만큼 관심을 갖지 않는 거야”라고 이해가 될 때도 있다. 나도 나이가 들어서 그런 것일까?

Management

사람이 싫어 공학을 했지만 가끔은 사람을 관리하고 싶다는 생각을 한다. 나라면 조금 다르게 해 보지 않을까? 나라면 좀 더 인간적으로 대할텐데. 지금 내 위의 관리자들은 “사람”을 “사람”으로 대하지 않고그저 “블럭 담당자”로 보는 듯해서 무척 아쉽다. 그렇게 해서는 품질 개선을 위한 지시 사항은 모두 “숙제”로 느껴질 뿐일 것같다. 사람들의 “공감”을 얻는 노력이 필요한데 그게 없다.

이러한 문제는 Ego가 강한 한 개인의 문제라기보다는, 팀 문화의 문제라고 생각한다. 어떤 잘못이 있을 때 원인과 해결 방법에 집중해서 논의가 일어나기 보다는 그 사람의 성격 탓으로 돌리는 행위나 감정을 자극하는 언행들이 팀원 하나하나로부터 조금씩 보이면서 팀의 문화로 형성되는 경향이 있는 듯하다.

egoless programming

그래서 뭐~

그냥 그렇다고. 나중을 대비해서 열심히 효과적인  S/W project management나 심리학등을 공부해야 겠다.


Filco Majestouch 104

회사에서 사용하고 있는 키보드는 펜타그래프 방식중에 가장 좋은 제품중의 하나라는 매컬리 키보드였다.

근데 언젠가부터 손가락에 지나치게 힘을 주고 있다는 것을 느꼈다. 그래서 조금만 타이핑을 해도 손가락이(특히 새끼 손가락)이 아프다.

당장은 예전에 쓰던 로지텍 멘브레인 키보드를 사용하고 있는데 이 녀석도 누를 때 꽤 힘을 줘야 하는 녀석이라 빨리 손에 편한 키보드를 구해야겠다.

가장 좋은 것은 집에서 사용하고 있는 맥미니 키보드이다. 타이핑할때도 경쾌감이란 정말~

하지만 집에서 키보드를 별로 쓰지는 않지만 이걸 회사에 가져오면 집에서는 뭘 써야할 지가 문제되기때문에 고민이다. 그래서 하나 추가로 구입하려고 했는데 국내 수입이 안되는 지라 구하기가 어렵다.

그러다 찾은 것은 바로 필코 마제스터치 104 키. 외국회사에서 만든 키보드라 내가 전혀 사용하지 않는 한/영 키가 없다. 덕분에 스페이스바는 충분히 길고, 기계식이라 손에 부담도 적다.

다만 문제는 기계식이라 시끄럽다는 점. 이번에 필코 키보드를 알아보다 공부한 내용이 바로 체리 키캡인데

  • 청축 : 흔히 말하는 기계식. 경쾌하고, 키를 누를 때 중간쯤 걸리는 느낌이 있고, 딸깍 소리가 난다(흔히 클릭 이라고 불림)
  • 갈축 : 청축에서 소리를 없앤 모델(흔히 넌클릭이라고 불림)
  • 흑축 : 갈축에서 중간에 걸리는 느낌도 없앤 모델(흔히 리니어 라고 불림)

웹에 올라와 있는 소리 관련된 동영상을 봐도잘 감이안 온다. 이걸 사무실에서 사용할수 있을지 아닌지.

예전에 회사 사람이 사용하던 HHKpro2는 소리는 확실히 크기 않아서 사무실에서 사용하기에 문제는 없었는데 지나치게 비싼값(물론 모니터, 마우스, 키보드와 같은 사람이 사용하는 부품은 좋을걸 써야 한다는 것이내 지론이지만…) 그리고 결정적으로 방향키가 없다. -_-

vi에서야 방향키가 없어도 되지만 어디 맨날 vi만 쓰는 거도 아니고. -_-

고민스럽다.

VDT 증후군이 오기 전에 얼른 대비해야 할 텐데…

그리고 추가로 체리 백색 키보드(G80-3000)

누가 나의 "고객"일까?

Scott Guthrie 와의 대담 중에 이런 내용이 있다.

“고객 중심”  이란 말은 정말 지겹게 들은 이야기지만 정말 내게 “고객”이 누굴까 하는 생각을해 본다.

  • 나는 제품을 만드는 개발자이므로 내가 만든 제품을 구입하는 사람이 1차 고객일 것이다.
  • 하지만 그 외에 내가 만든 S/W를 시험하는 사람이나 내 블럭의 정보를 이용해서 디버깅하는 사람(검증 담당자나 내 블럭과 관련된 동료 개발자)도 2차 고객이다.

1차 고객도 중요하지만 2차 고객도 그에 못지 않게 중요하다. 2차 고객이 쉽게 일을 할 수 있어야 1차 고객에게 제품을 제공하기 전에  제품의 완성도를 보다 높일수 있기 때문이다.

그러므로 고객에게 제공하는 “기능 설명서”나 “운용 설명서”외에도 나 혹은 동료 개발자 고객을 위한 “디버깅 설명서”에도 신경을 써야겠다.

Wiki 대중화?

작년 말부터 회사에 wiki 를 사용하기 시작했다.

처음에는 mediawiki 를 사용하다 기능이 많아서 인지 몰라도 불필요하게 복잡한 듯 보여 다른 wiki를 찾다가 dokuwiki 를 만났다. 예전에 일롭자 님이 쓰던 위키로만 알고 있었는데 의외로 훌륭했다. 게다가 언제 자료인지 모르겠지만 위키중에 가장 평이 좋은 것이 dokuwiki라는.

mediawiki는 wikipedia 가 사용하는 덕에 사용자층이 무척 넓다. 덕분에 다양한 부가 기능이 장점이다. 하지만 편집 기능이 내겐 불편했고, DB를 사용한다는 점이 오히려 부담스럽다.

dokuwiki는 별도의 DB를 사용하지 않고 파일시스템을 사용한다. 덕분에 백업이 무척 용이하고 migration도 편리한 편이다.(물론 내가 MySql를 잘 다룰 줄 안다면 mediawiki도 괜찮겠지만)

암튼 설치도 쉽고 사용도 쉬운 dokuwiki를 내가 관리하고 있는 개발 서버(라고 해봐야 펜4에 리눅스 설치한 것이 전부)에 설치하고 혼자서 열심히 사용하고 있었다. 위키가 위키다워야 하는데 혼자서만 쓰니 아쉽기는 했지만 주변에 위키를 쓸만한(?) 사람이 보이질 않아 애써 권장하지 않았다.

그러다 productivity에 대해 고민하게 되고 특히나 release it, the practice of agile development등의 책을 보면서 개발 팀에 wiki가 아주 적합한 툴임을 다시 생각하고 주변사람들에게 조금씩 소개하기 시작했다.

10명쯤에게 소개했더니 2-3명이 관심을 갖기 시작했다. 하지만 실제로 사용하는 사람은 1명.

그러다 내가 맡은 일때문에 정보 공유를 해야 할 때 자료를 위키에 정리한 후에 메일에 URL을 알려줬다. 물론 그래도 별 반응은 없었다. 그러다 오늘 파트장이 저녁먹으로 가기전에

“위키 그거 괜찮던데~”

라고 한 마디 하셨다. ㅎㅎ

마치 신입사원이 자신의 성과를 인정받은 것처럼 속으로 좋아라 했다. 내가 하는 일을 인정받았다는  게 중요한 게 아니라 파트장이 위키라는 툴을 이용한 자료 정리의 장점을 인지하고 인정했다는 점이 중요했다.

지금도 여전히 혼자서만 자료를 올리고 있는 위키지만 조금씩 나아질 것이라고 믿는다. 그렇게 함으로써 서로가 가진 정보를조금씩 공유해야지만 현재 우리 부서에 팽배해있는 부서이기주의(내가 하는 일만 관심있어 하기)를 조금이라고 완화시키고 각자가 머리속에만 가지고 있는 노하우를 모을 수 있을 것이다.

That’s the POWER of wiki.

잡스 대략 난감

별 볼일 없는 맥월드를 마치고 나니 새로 판매되는 터치에는 기존 사용자에게는 20$를 받고 판매하는 5종 프로그램이 빌트인되어 있다. 사실상의 가격 인하.뭐냐.

iPhone도 나온지 몇 달만에 200달러를 내려버리더니 터치도 그런 꼴 난거 아냐.

무슨 생각인거냐 잡스. 요즘 하는 짓이 점점 불만스럽다. 사용자의 파일을 멋대로 버려버리는 치명적인 “파일 이동 오류”를 가진 프로그램을 버젓이 팔고 그나마 패치도 바로 안 내고.

그래도 마소는 며칠 내에 패치는 냈던 것같은데.

암튼 요즘 애플 맘에 안 들어. 무슨 x배짱이냐?

꼬랑지 2) 클리앙 맥당에 올라온 글을 보니 iTunes 7.6으로 업데이트 한 후 소리가 안 나온다는 말도 있다. 허허

꼬랑지 3) 터치를 1.1.3 버전으로 올려버리면 jailbreak한 거 다 날아가 버린다. 지금 itunes에서 1/22일에 자동으로 firmware 버전 확인한다고 하는데 실수로 update라도 하면 -_- 대략 난감이다. 해킹후 많은 걸 쓰고 있지는 않지만 그래도 메일은 무지 잘 쓰고 있는데…

WiMax support from Apple?

정말일까???

출처 : product-review

애플이 WiMax를 지원하는 13인치 랩탑을 출시할 거라는 소문…

그러나. 기대했던 10.5.2나 맥미니 등은 나오질 않았다. WiMax 지원도 그렇고. -_-