Data Modeling Evangelist Kaien Kim's Blog
안철수 의장의 개발자 컨퍼런스 기조연설 본문
안철수 의장이 밝히는 개발자로 성공하기 위한 5가지 비결
개발자 전문 포털 ‘데브멘토(www.devmento.co.kr)’가 9월 27일 주최한 ‘2008 대한민국 SW 개발자 컨퍼런스’의 기조연설을 안철수 안철수연구소 의장이 맡았다. 안철수 의장은 개발자로 성공하기 위한 5가지 비결을 설명했다. 기조연설 중 핵심 내용을 전문 게재한다. <편집자주>
개발자들이 지금 살아가기 힘든 것은 크게 3가지 이유를 들 수 있습니다. 아직도 소프트웨어(SW) 가치가 존중을 받지 않고 있다는 것이 첫째요. SW 산업 자체가 발전하지 않아서 일할 수 있는 터전이 많지 않다는 것도 문제입니다. 그리고 마지막으로 기술자가 대접을 못 받는 환경이기 때문입니다.
먼저 SW 가치에 대해 얘기를 하면 예전에 CEO로 있을때 산업 전망 토론회에 참석했었습니다. 산업 전망이라는 주제를 가지고 발표를 했는데, 하드웨어와 SW, 인터넷 서비스 등을 나눠서 비전에 대한 설명을 하는 것이었습니다. 그런데 쉬는 시간에 어떤 전자회사 부사장님이 오셔서 하시는 말이 "다음 부터는 HW, SW를 구분을 하지 말게. 사람들이 SW를 HW와 같은 레벨로 설명을 하면 오해한다"고 말씀하시던군요. 그 말을 듣고 얼마나 기가 막히든지 말이 나오지 않았습니다.
그 전자회사에서 그 당시 발표했던 것이 애플의 아이팟이 벤치 모델이라고 했었습니다. 하지만 아이파드는 하드웨어 때문에 성공한 것이 아니라 아이툰즈라는 SW가 있었기 때문에 가능한 것이죠. SW와 HW가 서로 엮여서 경쟁력을 키운 것입니다. 아이파드는 나중에 시장 점유율 80%까지 차지하는 대 성공을 거뒀습니다.
그 전자회사는 SW를 하드웨어의 부품으로 생각하는 회사였던 것입니다. 이 일은 5년 전의 일이었는데 하드웨어 위주의 사고 방식이 그렇게 많이 변하지 않았다는 것을 증명해주는 일이었습니다. 이처럼 우리나라에서는 아직도 의사 결정자들이 SW에 대한 여러 문제들을 보이고 있습니다.
의사 결정권자 뿐 아니라 일반 대중들도 SW의 가치에 대해서 생각하는 수준이 낮습니다. SW를 제값주고 사면 바보 취급을 당하는 분위기가 여전하죠. 한달에 휴대폰 사용료만 따져도 1년에 100만원을 지급하면서 매일 쓰는 SW에 대해서는 만원 쓰는 것도 아까워합니다. 이는 젊은 사람들 스스로가 자신의 일자리를 없애는 것이나 다름없습니다. 자기 살을 깍아먹는 것입니다.
두 번째로 SW 산업이 발전하지 못한 것이 문제입니다. SW 개발자들이 성장하는 데 장애가 있습니다. 정통부 시절에 아키텍트 양성 프로그램이라는 것을 추진하려고 했습니다. 교육적인 측면에 굉장히 투자한다는 것이었습니다. 하지만 아키텍트가 공부만 해서 되는 것이 아닙니다. 아키텍트 정도로 성장하기 위해선 일을 해야 하고 프로젝트 경험이 있어야 하고, 배울 만한 선배들이 있어야 합니다. 교육 예산만 투자해서 길러지지 않는 것이죠.
단순한 교육 프로그램이 아니라 정부에서 대형 프로젝트를 제안하면서 절반 인력은 한국에서 뽑는다고 하던지, 협력 업체 50% 정도를 한국의 중소 업체들로 결정하는 등의 현실적인 방안이 더욱 효과적이었을 것입니다. 하지만 결론적으로 먹히지는 않았습니다. 정부측에서 일한 티가 나지 않는다고 해서 진행을 하지 못했습니다. 실무자 입장에서는 내세울 것이 없어서 안타깝게도 할 수 없었다고 하더군요. 이처럼 국내 개발자들은 실력을 발휘할 만한 터전이 부족합니다.
전망은 항상 바뀌는 것, 전망만을 믿고 선택하지 말라
20년 전만 하더라도 공부 제일 잘하는 사람이 내과를 갔고 못하면 피부과로 갔습니다. 하지만 20년이 흐른 지금, 의대에서 제일 공부 잘하는 사람이 피부과를 갑니다. 지금 예전의 동기들을 만나면 전망만 보고 갔던 사람들은 후회하고 있습니다. 하지만 그 당시 피부과 갔던 사람들은 지금은 떵떵거리며 살고 있습니다.
우리나라 산업 환경 속에서는 일단 한 분야의 전문가가 되면 먹고 사는데 크게 지장이 없습니다. 좋아서 하는 분야를 택해서 가라. 전망하고는 상관이 없다고 말하고 싶습니다.
의대의 예를 더 들어보면 의사들 설문 조사를 해본 결과 50%가 직업에 만족도가 없다고 합니다. 20%는 개업해서 실패한다고 합니다. 현재 굉장히 많은 의사들이 동남아로 갔습니다.
사실 의사는 똑똑한 사람이 필요한 직업이 아니라고 합니다. 성실하고 마음이 따뜻한 사람이 좋은 의사가 됩니다. 의사들은 매일 100명이상의 환자들을 봐야 하죠. 매일 같이 새로운 사람을 만난다고 했을 때 성격상 맞지 않으면 견디기 힘들게 됩니다. 마음이 따뜻한 사람은 한 사람 한 사람 친정하게 대해주고 병을 치료해 주면서 보람을 느낄 수 있는 것입니다.
하지만 50%의 의사가 의사를 안했으면 좋겠다고 생각을 한다면, 이것은 환자들도 불행한 것입니다. 제대로 대접을 받고 있지 않다는 것과 같습니다.
자기가 실력이 있어야 합니다. 처음 컴퓨터를 접하는 사람이 있다고 가정했을 때, 워드 프로세스를 하려고 사서 워드 매뉴얼만 공부한 사람이 있습니다. 워드를 먼저 공부하면 당장 일을 시작할 수 있습니다.
반면에 운영체제를 먼저 공부한 사람이 있습니다. 이 사람은 당장은 문서 작업하는 데 시간이 많이 걸립니다. 하지만 나중에 두 사람 다 문서 작업을 할 실력이 됐을 때, 파일 작업하다가 에러가 나면 첫 번째 사람은 해결할 능력이 없습니다. 다음에 다른 문제가 생겨도 해결할 능력이 없습니다. 반면 운영체제를 사용해본 사람은 혼자서 해결을 할 수 있고 다른 분야 공부도 보다 수월히 할 수 있게 됩니다.
자바 공부하시는 분들 중에 C 기반이 돼 있는 사람이 자바를 더 잘 할 수 있습니다. 세계적으로 C 프로그래머들을 살펴보면 백그라운드가 어셈블리를 했다는 것입니다. 어셈블리를 알면 C 할 때 어떻게 컴파일해서 바이너리되는 지를 생각합니다. 가장 효율적으로 빠르고 프로그래밍을 하게 되는 것이죠.
전문성을 기를 때도 더 기초적인 것에 소홀히 하지 말고 기본 원칙에 대해 잘 알아야 합니다. 그러한 사람이 나중에 더욱 빛이 납니다. 전문성을 기르실 때 한번 생각해 볼 값어치가 있습니다.
새로운 일을 할 때만 하는 것이 아니라 새로운 일을 할 때를 돌이켜 보면 창조적인 일이 생깁니다. 현재는 인터넷을 통해서 라이브러리도 소스를 쉽게 받을 수 있습니다. 어떤 사람들은 소스 코드를 받기 쉽다 보니깐 막 갔다 씁니다. 이런 부분은 사실상 우려됩니다.
잘된 것은 안심하고 써도 되지만 소소 코드도 잘못된 것을 사용하면 치명적입니다. 때문에 시간을 투자해서 내부 구조를 다 이해한 다음에 자기가 쓴 프로그래밍에 갔다 써야하는 것이죠. 시간에 쫒기다 보니 그렇게 많이 안되고 있는 것을 알고 있습니다.
3. 장인 정신
혼이 있는 개발자가 많이 나왔으면 좋겠습니다. 누가 시켜서 한 것이 아니라 능동적이고 자기 스스로 만족하는 레벨 수준이 돼야 합니다. 요즘 버그 잡는 것은 QA(품질관리)가 알아서 해준다라고 생각하는 개발자들이 있습니다. 그래서 코딩한 다음에 그냥 바로 QA팀으로 보내줍니다. 이는 굉장히 문제가 많아요. 퀄리티는 시간의 문제가 아닙니다. 의지와 실력의 문제입니다. 버그는 QA가 잡는 것이 아닙니다. QA팀에서 버그가 나올 때 마다 개발자는 부끄러워해야 합니다. 이런 마인드가 필요합니다.
사실은 한사람이 모든 것을 할 수 없습니다. 요즘은 팀으로 이뤄지다 보니깐 제대로 전달을 해야 합니다. 여러 분야의 전문가가 함께 만들어 가야 합니다. 예전에는 전문가의 실력이 전문지식이었지만 이제는 전문 지식 + 커뮤니케이션 능력이 실력입니다.
시험을 칠 때 100점 받을 실력인데, 하나씩 잘못 내려 써서 0점을 받았을 경우 이에 대해 자신의 의사를 표현해야 합니다. 하지만 대학 입시에서 실력은 최고라 할지라도 0점으로 처리됩니다. 세상은 점수로 평가 받고 있습니다. 그 사람을 보는 주위의 시선은 0점입니다. 주위 사람에서 표현하지 못하면 그 사람은 그 팀에서 그 전문성을 쓰지 못합니다. 오히려 실력이 낮은 사람이 팀에 공헌을 하게 되는 것입니다, 스스로 인정받을 수 있도록 커뮤니케이션 능력을 길러야 합니다.
개발자들은 조금이라도 손해 보려고 하지 않는 경향이 있습니다. 하지만 그것이 반복이 되면 결국 손해를 자신이 입습니다. 일반적으로 친구들 사이에도 항상 얻어먹는 친구가 있습니다. 하지만 10년 되면 그 친구와는 멀어지게 마련입니다. 손해 보는 것 같아도 자기가 먼저 내고 그러한 자세가 필요합니다.
자기가 손해 보지 않으려고 하는 것 보다는 친구가 빈틈이 있으면 메워주려는 노력이 필요합니다. 자기가 미리 할 일을 다 했으면 다른 사람도 좀 도와주라고 말하고 싶습니다. 이런 마음이 나중에 쌓이면 많은 사람들이 같이 일하고 싶어 하는 전문가가 됩니다.
영어 실력 향상도 중요
여기에 한 가지 더 강조하고 싶은 것이 있습니다. 글로벌 시대에서는 미래에는 어떻게 될지 모릅니다. 영어 실력이 갈수록 중요해 지고 있습니다. 그렇다고 청산유수처럼 잘 하라는 것이 아닙니다. 인터넷이나 책을 통해서 프로그래밍 실력을 높일 수 있는 만큼은 해야 합니다. 그래야 향후에 실리콘밸리에서 일하면서 실력을 높일 수도 있습니다. 한 후배가 있었는데 영어를 정말 못했습니다. 서른이 넘어서 영어를 시작했는데, 현재 피츠버그에서 일하고 있습니다. 실력이 있으면 성공은 보장됩니다.