고음내기

@codemaru · March 17, 2010 · 11 min read

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

토익점수가 낮아서 취직이 안되는것 같아요. 프로그래머에게 토익이 꼭 필요한가요?

졸업 평점이 너무 낮아서 걱정입니다. 개발자는 학력은 많이 안 본다던데, 그런데 그것 때문이 취직이 되지 않는 것 같아요.

매번 면접에서 떨어집니다. 제 말투가 너무 어눌해서 그런가 봐요.

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

제가 돈 받고 프로그래밍이라는 일을 한지 근 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

 0  0

 

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중