17 Mar, 2010  |  Written by codewiz  |  under 나머지

종종 어린 친구들이 진로 상담을 해오는 경우가 있습니다. 원래 알고 있던 경우가 태반이고, 어쩌다 보니 알게 되어서 하는 경우도 있고, 종종 제가 엄청 나이가 많은 줄 알고 메일을 보내는 친구들도 있습니다. 물론 그런 친구들 중에 지금 속세에서 말하는 성공적인 길을 가고 있는 친구들은 잘 없습니다. 그러니 상담 같은 걸 받고 싶어하겠죠. 그런데 그런 친구들을 보면 참 이상하게도 하나같이 공통점이 있습니다. 바로 문제의 본질을 보지 못한다는 점입니다. 예를 들면 이런 겁니다.

토익점수가 낮아서 취직이 안되는것 같아요. 프로그래머에게 토익이 꼭 필요한가요?
졸업 평점이 너무 낮아서 걱정입니다. 개발자는 학력은 많이 안 본다던데, 그런데 그것 때문이 취직이 되지 않는 것 같아요.
매번 면접에서 떨어집니다. 제 말투가 너무 어눌해서 그런가 봐요.

물론 제가 오프라인 상에서 만나보지 않은 분들까지 단정짓기는 힘들지만 이런 고민을 하시는 분들 대부분은 사실 위에 적힌 결격 사유 때문에 취직을 못하는 경우는 없었습니다. 거의 대부분 단지 그냥 실력이 부족해서가 이유인 것 같았습니다. 그래도 당사자들은 한사코 자신의 실력 때문은 아니라고 믿고 있는 것 같더군요.

제가 돈 받고 프로그래밍이라는 일을 한지 근 10년이 되어 가는 것 같습니다. 돈 받고 일을 하면서 정말 다양한 개발자들을 만나게 되었습니다. 잘하는 사람도 있고, 못하는 사람도 있고 그렇죠. 개발자의 생산성에 관한 많은 이야기가 있는데 현업에서 제가 느낀 생산성의 차이는 책이나 연구 자료에 나오는 그것과는 비교도 되지 않을 만큼 컸습니다. 5배, 20배 이런 건 정말 우습죠. 제가 현실에서 느끼는 차이는 이것보다도 훨씬 더 큽니다.

적당히 잘하는 개발자 10명을 뽑을 수 있고, 쩌는 개발자 5명을 뽑을 수 있다면 어떤 편이 좋을까요? 여러분이 인사권을 가지고 있고, 패키지 제품을 만든다면 후자를 택하는 편이 정신 건강에 좋습니다. 물론 적당히 잘하는 개발자들이라고 했기 때문에 5명이 1년에 걸려서 하는 것을 10명이 6개월 내지는 그보다 더 짧은 기간에 끝낼 수도 있습니다. 그런데 여기에는 함정이 있습니다. 바로 경쟁사와의 차별성을 둘만한 핵심 기능을 만들 때에는 5명이 1달에 걸려 만드는 것을, 10명이 10년이 지나도 만들어 내지 못할 수도 있다는 사실입니다. 즉 단순히 얼마나 효율적이냐, 얼마나 빠르냐의 관점이 아니라는 것이죠. 진짜 차이는 할 수 있냐, 없냐라는 부분으로 드러난다는 사실입니다. 세상에는 마술피리의 밤의 여왕 아리아를 훌륭하게 소화할 수 있는 소프라노는 많지 않습니다. 마찬가지로 실제로 돌아가는 괜찮은 제품을 만들어낼 수 있는 개발자도 몇 명 없습니다.

제대로 된 개발자를 뽑는 회사라면 여러분의 문제 해결 능력과 개발 실력을 제외한 나머지는 모두 부차적인 것으로 생각할겁니다. 영어 성적, 졸업 평점, 성격, 말투 등은 여러분이 형편없는 개발자가 아니라는 것만 반증해 줄 뿐이지, 뛰어난 개발자라는 것을 증명해 주지는 않습니다. 진짜 뛰어난 개발자라는 것을 증명하는데 모든 노력을 쏟으세요. 자신이 진짜 개발을 할 수 있는 능력을 가지고 있음을 온몸으로 증명해 보이세요.

여기까지 이야기하면 열에 아홉은 전부 그걸 어떻게 증명하나요, 라는 질문을 던져 옵니다. 개인적인 관점에서 제가 백신을 만드는 업체에 있다면 아마추어 백신 개발자를 영입 1순위에 올려둘 겁니다. 그 중에서도 우리 제품에 없는 기능, 내지는 우리가 해결하지 못한 기능을 가진 백신을 만든 사람이라면 0순위에 랭크 되겠죠. 예전에 MVP Global Summit에 갔을 때 들은 이야긴데 한국 MS에 계시다가 MS본사로 가신 분이 어떻게 취직했냐는 질문에, 애들한테 나보다 BizTalk에 대해서 잘아는 사람은 없다는 말 한마디로 통과했다는 이야기를 하더군요. 농담이 좀 섞인 이야기긴 합니다만 어느 회사나 직접적인 문제 해결 능력을 가진 사람은 반기게 마련입니다.

물론 이와는 정반대의 방법도 있습니다. 해당 제품에 대해서 굉장히 논리적으로 딴지를 거는 것이죠. 그리고 더 나은 해결책을 제시하는 겁니다. 물론 이 방법은 사실 개발자로 취직하기 보다는 주로 대학 교수님들을 컨택할 때 많이 사용되는 방법이긴 합니다. 학술지 등을 보고 자신의 타겟 교수님의 논문만 집중 공략 하는 거죠. 털어서 먼지 안나는 사람은 없고, 또 똑똑한 사람이라면 그런 것들을 지적해 주는 것을 싫어하는 사람은 없습니다. 몇 번 반복되다 보면 어떤 놈인지 궁금해지는 거죠. 그러다 보면 자연스레 한번 보고 싶어지고, 면접 티켓도 끊어주고 하는 거겠죠. 누구나 자신의 저작물에 관심을 가져 주는 사람을 반기게 마련입니다.

그리고 제발 이 모든 이야기에 앞서서 취직을 하려면 좀 기본적인 실력은 갖추고 하도록 합시다. 예전 글에도 썼지만 정말 기본이 안 된 개발자가 너무도 많습니다. 가끔 면접을 보면 정말 어처구니 없는 퐝당 시츄에이션에 많이 놀라곤 합니다. 컴퓨터 공학과를 졸업하고 C언어를 사용하는 회사에 취직하려는 사람이 화이트보드 앞에서 C언어 문법이 생각나지 않는다고 말하는 건 좀 그렇잖아요. 물론 구라 이력서는 언급할 필요도 없겠습니다. 실력을 가장 빨리 향상시키는 방법은 단순 무식한 시간 밖에는 없습니다. 여려분 주위에 있는 사람들 중에서 특별히 엄청 똑똑한 사람은 잘 없습니다. 그 사람이 자기보다 월등히 잘한다면 한 시간 덜자고 그 분야에 투자를 한 겁니다.

덧) 제목은 “모어 조엘 온 소프트웨어”에서 따왔습니다. 해당 책에 동일한 제목의 챕터가 있습니다. 개발자들이 읽으면 좀 헛배 불러질 내용이 많은 책입니다. 소프트웨어 회사를 꾸려나가는 사장님들께서 읽으시면 참 좋겠다라는 생각을 많이 했습니다. 물론 최고의 책이라는 사실은 제가 굳이 말하지 않아도 십만년전에 벌써 검증이 끝난 상태라죠. ㅎㅎ~

심심하신 분들은 아래 글도 같이 덤으로 한 번 읽어보세요. 세상에 실력 있는 개발자가 정말 드물다는 제 이야기에 조금은 공감 하실지도 모르겠네요.

http://www.zdnet.co.kr/ArticleView.asp?artice_id=00000039129985

15 Mar, 2010  |  Written by codewiz  |  under 나머지

작년부터 용현님과 용휘님과 윈도우 프로그래밍 책을 하나 같이 쓰게 되었습니다. 그동안 마소에 기고한 것들을 정리하고 고치고, 해서 단행본을 내기로 한 것이죠. 처음에는 의외로 쉽게 끝날 것 같던 일이 지지부진하게 지금까지 와버렸습니다. 독촉하는 기자님과 마감을 맞추지 못한 죄책감, 그리고 압박. 그랬던 일이 방금 제 분량은 마감을 했습니다. 물론 교정및 검수 작업이 남았지만 뭔가 한 단계가 끝나니 좀 후련하네용. 어쨌든 이제는 좀 편한 마음으로 밀린 책들을 볼 수 있을 것 같습니다. ㅋ~

14 Mar, 2010  |  Written by codewiz  |  under 양피지

#0.
둘째…
가장 먼저 할글을 깨우쳤다는 사람…
매일 유치원까지 나를 데리러 왔던 사람…
배구공은 가볍다고 농구공으로 피구를 했던 사람…
눈부시게 새하얀 마음을 가진 사람…
운동을 제일 잘했던 사람…
여자 골목대장…
미술을 좋아했던 사람, 그리고 미술에 소질이 있었던 사람…
가장 예술적 감각이 좋은 사람…
물폭탄을 도시락 통에 넣고 다닌 사람…
비행 청소년의 항목을 가장 많이 수행해 본 사람…
성격이 제일 좋은 사람…
자기 일은 세상이 두쪽나도 똑부러지게 하는 사람…
가요 테이프를 가장 많이 모은 사람…
돈관리를 제일 못하는 사람…
여자친구보다 남자친구가 많은 사람…
유일하게 석사 과정을 하고 있는 사람…
가장 이해받지 못하는 사람, 동시에 가장 가족을 많이 이해하는 사람…
엄마를 가장 많이 닮은 사람…
주량이 쩌는 사람…
둘째라서 가장 많은 부분을 희생해야 했던 사람…
유치원 원장…

#1
아주 어렸을 때 이야기다. 둘째 누나는 큰 누나에게 피아노를 배웠다. 피아노를 배우면 처음에 악보 보는 법을 같이 배우게 마련이다. 몇 분 음표 같은 것들을 읽고 쓰는 법들 말이다. 한참을 수업 받았던 작은 누나는 한 날 큰 누나의 음악 시험을 보게 되었다. 어려운 것은 아니었다. 몇 분 음표 따위를 적는 시험이었다. 큰 누나는 시험을 보라고 하고는 밖으로 나갔다. 방에는 나와 누나 둘만 남게 되었다. 눈치를 살핀다. 모르는 눈치다. 나는 누나를 부추긴다. 답을 베끼라고 말이다. 악마의 속삭임에 한참을 고민한다. 그러다 정녕 모르겠는지 답을 베끼고 말았다. 시험은 무사히 통과했다. 하지만 다음이 문제였다. 나는 그 사건을 가지고 폭로한다고 협박하며 한달을 작은 누나를 조종했다. 작은 누나는 그 사건을 은폐하기 위해서 한 달 넘는 기간동안 나에게 많은 것들을 양보했다. 누나는 그만큼 순수한 사람이었다.

어렸을 때 나는 미술 학원을 제법 오래 다녔다. 그런데도 나는 상장을 하나도 받지 못했다. 지금 느끼기에 나는 너무 오래 크레파스를 붙잡고 있었던 것 같다. 물론 그닥 소질이 있지도 않았다. 미술 학원을 몇 년 다니면서 내가 배운 거라고는 나뭇잎을 붓으로 터치하는 기법 밖에는 없었다. 그런 나와는 반대로 작은 누나는 미술 학원을 거의 다니지 않았음에도 온동네 상장은 휩쓸고 다녔다. 누나는 정말 그 방면에는 소질이 있었다. 누나의 방황의 시기가 끝났을 때, 누나는 미술 대학을 가기를 원했다. 하지만 그런 누나의 꿈은 이루어지지 않았다. 아마 누나가 미대를 같으면 정말 멋진 화가가 되었을 것 같다. 그리고 동시에 집에도 한 명 쯤은 진지한 대화를 할 수 있는 사람이 생길뻔 했는지도 모를 일이다.

#2
나의 유년기 시절의 앞 장을 점령했던 한 사람. 둘째 누나가 결혼을 한다고 한다. 가장 최후까지 버텨 주었기에 나의 방패 역할을 몇 년간 충실히 더 수행해 줄 것이라 믿었던 나의 환상은 깨지고 말았다. 누나의 인생, 전반부는 그녀의 순수한 마음을 그대로 사회에 투영하면서 빚어진 실수로 점철된 나날들이었다. 이제는 누나의 인생, 그 후반전이 시작된다. 후반전에는 그 전반부의 실수들을 조금은 만회할 수 있는 시간이 되었으면 좋겠다. 그리고 잊었던 누나의 꿈을 찾는 시간이 되면 더더욱 좋을 것 같다. 하지만 그럴 확률은 개미가 달착륙을 할만큼 희박할 것 같다.

그냥 마지막 바램이 있다면, 제발 제발 그냥 아줌마가 되지 않았으면 좋겠다. 고교 시절에 토플러를 읽고, 대학 교육을 4년이나 받은 큰 누나가 그냥 아줌마가 되어 있는 모습은 정말 나에게는 충격과 공포 그 자체였기 때문이다.

#3
이 세상에 내가 존재하는 이유를 설명해 주는 삼만사천가지 이야기들 중에 가장 신빙성 있는 한 가지 이유를 선택해 보자면 그건 바로 작은 누나의 존재일 것이다. 왜냐하면 우리 부모님은 딸이 아닌 아들이 나왔다면 자식을 더 이상 늘리지는 않았을 것이기 때문이다.

어렸을 때 나는 누나들과 정말 많은 일들을 같이 했다. 심지어는 목욕탕을 같이 가기도 했다. (<- 예전에는 이런 일들이 종종 있었다. 물론 진짜 진짜 어릴때의 이야기다. 나의 믿지 못할 상황 기억력 덕에 기억을 하고 있을 뿐이다.) 그런 누나들과의 끈이 끊어진 첫 번째 사건은 작은 누나의 졸업이었다. 그것은 나에게는 독립을 알리는 신호탄과도 같았다. 수많은 도움을 주던 사람들이 나에게서 일순간 사라지는 느낌이었기 때문이다. 이후 나는 그 전에 같이 하던 수많은 일들을 혼자해야 했다. 그런 맥락에서 누나의 결혼은 나에게는 조금 특별하게 다가온다. 이제는 내가 어른이 되어야 한다는 사실을 알리는 신호탄같은 느낌이다. 그래서 내가 아는 모든 형용사를 동원해서 축복해 주어야 할 작은 누나의 결혼 앞에서 서글픈 눈물이 나는지도 모르겠다.