2008년 10월 07일
개발자의 길. 예술이냐, 밥벌이냐?
책 한권 써보겠다는 생각은 오래 전부터 해 온 것이지만 그리 쉽게 손에 잡히는 일은 아니었습니다. 우리나라에게 IT 분야의 책을 써봤자 제대로 팔리지도 않는다는 건 이미 오래 전부터 알고 있던 것이니, 무슨 떼 돈을 벌겠다는 심산도 아니었고... 그저 제가 솔직히 프로그래밍을 잘하는 능력을 가진 것도 아닌데, 남들에게 설명하는 능력이 오히려 낫다는 것을 알았기 때문에 그저 내가 잘할 수 있는 일을 해보자는 심산이었습니다. 제가 가르친 후배들 중에 오히려 저 보다 나은 자리에 있는 사람들이 많이 있습니다. 지금도 여전히 노력하고 있지만, 평생을 노력해서 코딩 능력에서는 그들을 따라 잡을 수는 없을 겁니다.
어쨋든 제가 아는 모든 것들을 한번 정리해보자는 심산에서 목차를 정리해 보기는 했습니다만, 날카로운 비판들이 예리하게 가슴을 찌르는군요. 덧글로 지적해주신 분들의 의견은 정확히 옳습니다. 출판사에 목차를 들고 가도 분명히 똑같은 지적을 했을테니까요. 그래도 소심한 A형인지라, 며칠 동안 낙심 아닌 낙심을 하고 있었습니다.
그런데 앞서 말씀드린 것처럼 저는 최고의 프로그래머는 아닙니다. 그렇다고, 정치적인 술수가 뛰어나서 프로젝트 매니저 역할을 잘하는 사람도 아니었습니다. 딱히 어떤 면에서 잘하는게 없다보니 이런 저런 회사를 많이 옮겨 다녔습니다. 하지만 사람들은 누구나 타인에게 인정받기를 원하는 법입니다. 저 또한 마찬가지 이고, 또 많은 사람들이 그렇습니다.
좋은 프로그램을 작성하고 회사에 이익을 가져다 주면 분명히 인정을 받게 될 것입니다. 일단은 제가 월급쟁이로서 IT 분야에 참가하기 시작했으니까요. 직장 생활하면서 꽤나 여러번 인정 받을 기회가 있었습니다. 그렇다고 해서 역시 돈을 많인 번 것은 아닙니다. 전통있는 시스템 개발 업체에서 근무할 때 최우수 사원 수상을 두 번 정도 했는데, 수상한 건 원가 5만원짜리 은수저 셋트였거든요. 덕분에 어머님께서 혼수로 가져오신 은수저 셋트를 버리고 부모님께서 새로운 식기를 쓰시게 되었다는건 좋은 일일 겁니다.
그런데 문제는 좋은 프로그램을 개발하는 것과 회사에 이익을 가져다 주는 일은 양립할 수 없다는 것을 알게 되었지요. 물론 그런 일을 가능하게 해주는 분들도 계십니다. 정말 소수에 가까운 분들이지만 말입니다. 그리고 그런 분들이 어디에나 존재하는 것도 아니지요. 그래서 회사는 이익을 창출하기 위해 과감히 품질을 포기합니다. 더 낮은 임금을 받는 개발자를 찾고, 유능하기보다는 밤샘을 잘하는 개발자를 선호합니다. 그런 회사가 싫어서 이리저리 도망치다 보니 역시 좋은 일자리를 구하지도 못하겠더군요.
그렇습니다. 우리나라 개발자가 회사에서 인정 받는 방법 중 가장 손쉬운 방법은 밤샘을 자처하는 일입니다. 저 또한 그런 생활을 오래 해왔습니다. 왜냐구요? 군대가 싫어서 도망친 사람이기 때문입니다. 군대 가기 싫어서 계속 병역특례를 원했고 그런 저를 사회에서는 요긴하게 이용하더군요.
하지만, 저는 월급쟁이 이전에 엔지니어(engineer) 입니다. 세상 사람들이 엔지니어를 무시하고 다들 공대를 기피한다고 해도 저의 정체성은 엔지니어라는 것입니다. 스스로가 부정해서 이 나이에 다른 길을 원한다고 해도 쉽지 않을 뿐더러 후회하고 있지도 않습니다. 문명이라는 것 자체가 단지 소수의 천재들의 힘으로 쌓아올려진게 아니니까요.
사람들은 엔지니어를 무시하고, 예술가라면 일단 찬사를 보냅니다. 그런데 엔지니어와 예술은 통하는 것입니다. 예술의 목적이 무엇입니까? 아름다움을 추구하는 것이죠. 아름다움을 평가하는 수단은 무엇입니까? 사람의 감동을 불러 일으킬 수 있느냐 하는 것이지요. 애플의 스티브 잡스를 보십시오. 발명가 에디슨은 어떻습니까? 빌 게이츠는 과연 사람들을 협박해서 돈을 벌었나요? 무수히 많은 엔지니어들이 사람들에게 감동을 선사했고 그렇기 때문에 사람들은 비싼 자동차를 사고, 기꺼이 커다른 액정 TV를 사려고 하는 것입니다. 부자들의 거실에 놓인 예술작품과 쓸모 그 이상을 뛰어넘는 기술품들의 차이는 무엇입니까? 근본은 똑같은 것입니다.
처음 마음가짐을 떠올리고, 또 제가 여러 사람들을 가르치면서 느끼는 초심은 다들 똑같습니다. 엔지니어의 길을 걷는 사람도, 정치를 공부하는 사람도, 예술을 익히는 사람이나 스포츠 선수도 마찬가지 입니다. 모두가 타인의 감동을 통해 자신의 존재를 확인하기를 원하는 것입니다. 그로 인해 얻는 부수적인 이익들도 그다지 나쁜 것은 아니겠지요. 살기 위해서는 분명 경제적인 뒷받침이 있어야 할테니까요.
여기서 갈등이 빚어지게 된다는 것을 쉽사리 예측하실 수 있을 겁니다. 개발자가 진정 인정받기 위해서는 예술가적 기질을 가지고 최고의 작품을 만들어야 할 것입니다. 제대로 성과를 얻기 위해서는 끓임없는 노력이 필요할 것입니다. 하지만, 그 길을 걷기 위해서 과연 생활을 포기할 수 있을까요? 당장, 내일 그리고 모레가 아니라 바로 오늘 결과를 보기를 원하는 직장 상사와 프로젝트 매니저 앞에서 완성도 있는 프로그램을 개발해야 한다고 맞서 싸울 수 있는 개발자가 몇명이나 되겠습니까?
우리나라 개발자들에게는 솔직히 책을 사 볼 만한 시간이 없습니다. 하지만 제대로 기술을 익혀서 제대로 써먹기 위해서는 적어도 수십권이 넘는 책을 읽어야 합니다. 제가 대학을 다니던 시절에는 그저 '터보 C 정복' 한권이면 한 학기동안 요긴하게 후배들에게 강의할 수 있었습니다. 그외에 필요하다면 어셈블리 책을 사보고, 또 천리안이나 하이텔에서 다운 받은 샘플 소스들을 실습실 프린터의 시끄러운 소리 들어가면 결국 망가질 때까지 인쇄하며 보면 실력이 나날이 늘어 갔습니다. 그런데 지금은 그렇지 않습니다. 아무리 객체지향 언어에서 포인터가 사라졌고, 이클립스 같은 놀라운 개발환경이 주어지고, 개인 PC에서 네트워크 개발이 가능하다고 할지라도 오히려 지금 공부해야 할 분량은 과거의 10배가 넘습니다. 양적인 측면에서의 보완 대책이나, 지나치게 원론적인 비판은 아무런 도움이 되지 않습니다. 우리에게 필요한 것은 현실을 직시하고 원인을 이해하며 정확한 대응책이 필요하다는 것입니다. 재채기를 한다고 해서 휴지만 꺼내주면 되는 겁니까? 아니면, 왜 감기가 들게끔 자신을 돌보지 않았냐고 훈계만 늘어놓을 겁니까?
자신이 써먹는 기술, 스스로가 밥벌이라고 말하는 기술들을 자신 있게 이해하고 있다라고 말할 수 있는 개발자가 얼마나 되겠습니가? 그런데 개발자들에게 노력을 게을리하고 있다고 질책하는 것이 과연 타당할까요? 정부에서는 계속 개발자 양성을 위한 대책을 마련하겠다고 하지만 결국 그건 학원과 대학들의 배를 불리는 일입니다. 김대중 정부 시절에 IT 인력 양산 정책 때문에 어떤 일이 벌어졌는지 저는 모교에서 똑똑히 지켜볼 수 있었습니다. 그리고, 지금 우리나라 개발자들보다 10분의 1의 몸값으로 일할 수 있는 인력들이 아시아 곳곳에 포진해 있습니다. 그들의 실력과 결과물을 제 눈으로 또한 확인해 보았습니다.
책 한권에 모든 것을 담겠다는 노력이 어쩌면 풍차를 향해 달리는 돈키호테와 다르지 않은 일인지도 모릅니다. 하지만, 당장의 밥벌이를 끓을 수 없지만 또한 엔지니어로의 꿈도 저버리지 못하는 무수한 개발자들에게 자신이 다루는 도구가 무엇인지 이해하도록 도울 수 있는 책은 분명히 필요할 것입니다.
단지 API 사용법 만을 나열하는 책을 쓸 생각은 없습니다. 그렇다고 해서, 난해한 용어와 개념들을 제시하기만 할 뿐 그것을 현장에서 어떻게 써야할 지 알아차릴 수 없는 책도 대부분의 개발자에게는 소용없을 것입니다. 우리나라 소프트웨어 기술 수준이 인도보다 못하다는 점은 인정해야 합니다. 객체지향의 이상적 이론을 가르치면서 당장 현장에서 써먹으라는 책은 더 이상 현장 개발자의 책장에서 폼내지 말아야 합니다. 그것을 이해할 수 있는 사람들, 그것을 연구하는 사람들에게 필요한 책이라는 것이지요.
저 역시 GoF의 디자인 패턴 책을 몇년 째 보고 있지만 한번도 완독을 해보지 못했습니다. XP 방법론에 관한 책들이라던가, 여러 유명하신 영도자님들에 속하는 켄트 벡이나, 이바 야곱슨, 제임스 럼바, 부치 선생의 책들도 제대로 읽어본 적이 없습니다. 현장에서는 디자인 패턴이나 리팩토링이 무언지도 모르고 개발하는 개발자가 90%가 넘습니다.
이상을 추구하는 것이야말로 인간의 권리이자 의무이겠지만, 현실을 받아들이는 것도 필요하겠지요. 그렇습니다. 저는 죽도 밥도 아닌 요리를 만들려고 하고 있습니다. 그런 요리가 필요한 사람들이 있다고 믿습니다. 차마, 스스로 드러내놓고 인정하지 못할지언정 자신이 아직은 부족한 개발자라는 것을 알고 있는 그런 사람들 말입니다.
어쨋든 제가 아는 모든 것들을 한번 정리해보자는 심산에서 목차를 정리해 보기는 했습니다만, 날카로운 비판들이 예리하게 가슴을 찌르는군요. 덧글로 지적해주신 분들의 의견은 정확히 옳습니다. 출판사에 목차를 들고 가도 분명히 똑같은 지적을 했을테니까요. 그래도 소심한 A형인지라, 며칠 동안 낙심 아닌 낙심을 하고 있었습니다.
그런데 앞서 말씀드린 것처럼 저는 최고의 프로그래머는 아닙니다. 그렇다고, 정치적인 술수가 뛰어나서 프로젝트 매니저 역할을 잘하는 사람도 아니었습니다. 딱히 어떤 면에서 잘하는게 없다보니 이런 저런 회사를 많이 옮겨 다녔습니다. 하지만 사람들은 누구나 타인에게 인정받기를 원하는 법입니다. 저 또한 마찬가지 이고, 또 많은 사람들이 그렇습니다.
좋은 프로그램을 작성하고 회사에 이익을 가져다 주면 분명히 인정을 받게 될 것입니다. 일단은 제가 월급쟁이로서 IT 분야에 참가하기 시작했으니까요. 직장 생활하면서 꽤나 여러번 인정 받을 기회가 있었습니다. 그렇다고 해서 역시 돈을 많인 번 것은 아닙니다. 전통있는 시스템 개발 업체에서 근무할 때 최우수 사원 수상을 두 번 정도 했는데, 수상한 건 원가 5만원짜리 은수저 셋트였거든요. 덕분에 어머님께서 혼수로 가져오신 은수저 셋트를 버리고 부모님께서 새로운 식기를 쓰시게 되었다는건 좋은 일일 겁니다.
그런데 문제는 좋은 프로그램을 개발하는 것과 회사에 이익을 가져다 주는 일은 양립할 수 없다는 것을 알게 되었지요. 물론 그런 일을 가능하게 해주는 분들도 계십니다. 정말 소수에 가까운 분들이지만 말입니다. 그리고 그런 분들이 어디에나 존재하는 것도 아니지요. 그래서 회사는 이익을 창출하기 위해 과감히 품질을 포기합니다. 더 낮은 임금을 받는 개발자를 찾고, 유능하기보다는 밤샘을 잘하는 개발자를 선호합니다. 그런 회사가 싫어서 이리저리 도망치다 보니 역시 좋은 일자리를 구하지도 못하겠더군요.
그렇습니다. 우리나라 개발자가 회사에서 인정 받는 방법 중 가장 손쉬운 방법은 밤샘을 자처하는 일입니다. 저 또한 그런 생활을 오래 해왔습니다. 왜냐구요? 군대가 싫어서 도망친 사람이기 때문입니다. 군대 가기 싫어서 계속 병역특례를 원했고 그런 저를 사회에서는 요긴하게 이용하더군요.
하지만, 저는 월급쟁이 이전에 엔지니어(engineer) 입니다. 세상 사람들이 엔지니어를 무시하고 다들 공대를 기피한다고 해도 저의 정체성은 엔지니어라는 것입니다. 스스로가 부정해서 이 나이에 다른 길을 원한다고 해도 쉽지 않을 뿐더러 후회하고 있지도 않습니다. 문명이라는 것 자체가 단지 소수의 천재들의 힘으로 쌓아올려진게 아니니까요.
사람들은 엔지니어를 무시하고, 예술가라면 일단 찬사를 보냅니다. 그런데 엔지니어와 예술은 통하는 것입니다. 예술의 목적이 무엇입니까? 아름다움을 추구하는 것이죠. 아름다움을 평가하는 수단은 무엇입니까? 사람의 감동을 불러 일으킬 수 있느냐 하는 것이지요. 애플의 스티브 잡스를 보십시오. 발명가 에디슨은 어떻습니까? 빌 게이츠는 과연 사람들을 협박해서 돈을 벌었나요? 무수히 많은 엔지니어들이 사람들에게 감동을 선사했고 그렇기 때문에 사람들은 비싼 자동차를 사고, 기꺼이 커다른 액정 TV를 사려고 하는 것입니다. 부자들의 거실에 놓인 예술작품과 쓸모 그 이상을 뛰어넘는 기술품들의 차이는 무엇입니까? 근본은 똑같은 것입니다.
처음 마음가짐을 떠올리고, 또 제가 여러 사람들을 가르치면서 느끼는 초심은 다들 똑같습니다. 엔지니어의 길을 걷는 사람도, 정치를 공부하는 사람도, 예술을 익히는 사람이나 스포츠 선수도 마찬가지 입니다. 모두가 타인의 감동을 통해 자신의 존재를 확인하기를 원하는 것입니다. 그로 인해 얻는 부수적인 이익들도 그다지 나쁜 것은 아니겠지요. 살기 위해서는 분명 경제적인 뒷받침이 있어야 할테니까요.
여기서 갈등이 빚어지게 된다는 것을 쉽사리 예측하실 수 있을 겁니다. 개발자가 진정 인정받기 위해서는 예술가적 기질을 가지고 최고의 작품을 만들어야 할 것입니다. 제대로 성과를 얻기 위해서는 끓임없는 노력이 필요할 것입니다. 하지만, 그 길을 걷기 위해서 과연 생활을 포기할 수 있을까요? 당장, 내일 그리고 모레가 아니라 바로 오늘 결과를 보기를 원하는 직장 상사와 프로젝트 매니저 앞에서 완성도 있는 프로그램을 개발해야 한다고 맞서 싸울 수 있는 개발자가 몇명이나 되겠습니까?
우리나라 개발자들에게는 솔직히 책을 사 볼 만한 시간이 없습니다. 하지만 제대로 기술을 익혀서 제대로 써먹기 위해서는 적어도 수십권이 넘는 책을 읽어야 합니다. 제가 대학을 다니던 시절에는 그저 '터보 C 정복' 한권이면 한 학기동안 요긴하게 후배들에게 강의할 수 있었습니다. 그외에 필요하다면 어셈블리 책을 사보고, 또 천리안이나 하이텔에서 다운 받은 샘플 소스들을 실습실 프린터의 시끄러운 소리 들어가면 결국 망가질 때까지 인쇄하며 보면 실력이 나날이 늘어 갔습니다. 그런데 지금은 그렇지 않습니다. 아무리 객체지향 언어에서 포인터가 사라졌고, 이클립스 같은 놀라운 개발환경이 주어지고, 개인 PC에서 네트워크 개발이 가능하다고 할지라도 오히려 지금 공부해야 할 분량은 과거의 10배가 넘습니다. 양적인 측면에서의 보완 대책이나, 지나치게 원론적인 비판은 아무런 도움이 되지 않습니다. 우리에게 필요한 것은 현실을 직시하고 원인을 이해하며 정확한 대응책이 필요하다는 것입니다. 재채기를 한다고 해서 휴지만 꺼내주면 되는 겁니까? 아니면, 왜 감기가 들게끔 자신을 돌보지 않았냐고 훈계만 늘어놓을 겁니까?
자신이 써먹는 기술, 스스로가 밥벌이라고 말하는 기술들을 자신 있게 이해하고 있다라고 말할 수 있는 개발자가 얼마나 되겠습니가? 그런데 개발자들에게 노력을 게을리하고 있다고 질책하는 것이 과연 타당할까요? 정부에서는 계속 개발자 양성을 위한 대책을 마련하겠다고 하지만 결국 그건 학원과 대학들의 배를 불리는 일입니다. 김대중 정부 시절에 IT 인력 양산 정책 때문에 어떤 일이 벌어졌는지 저는 모교에서 똑똑히 지켜볼 수 있었습니다. 그리고, 지금 우리나라 개발자들보다 10분의 1의 몸값으로 일할 수 있는 인력들이 아시아 곳곳에 포진해 있습니다. 그들의 실력과 결과물을 제 눈으로 또한 확인해 보았습니다.
책 한권에 모든 것을 담겠다는 노력이 어쩌면 풍차를 향해 달리는 돈키호테와 다르지 않은 일인지도 모릅니다. 하지만, 당장의 밥벌이를 끓을 수 없지만 또한 엔지니어로의 꿈도 저버리지 못하는 무수한 개발자들에게 자신이 다루는 도구가 무엇인지 이해하도록 도울 수 있는 책은 분명히 필요할 것입니다.
단지 API 사용법 만을 나열하는 책을 쓸 생각은 없습니다. 그렇다고 해서, 난해한 용어와 개념들을 제시하기만 할 뿐 그것을 현장에서 어떻게 써야할 지 알아차릴 수 없는 책도 대부분의 개발자에게는 소용없을 것입니다. 우리나라 소프트웨어 기술 수준이 인도보다 못하다는 점은 인정해야 합니다. 객체지향의 이상적 이론을 가르치면서 당장 현장에서 써먹으라는 책은 더 이상 현장 개발자의 책장에서 폼내지 말아야 합니다. 그것을 이해할 수 있는 사람들, 그것을 연구하는 사람들에게 필요한 책이라는 것이지요.
저 역시 GoF의 디자인 패턴 책을 몇년 째 보고 있지만 한번도 완독을 해보지 못했습니다. XP 방법론에 관한 책들이라던가, 여러 유명하신 영도자님들에 속하는 켄트 벡이나, 이바 야곱슨, 제임스 럼바, 부치 선생의 책들도 제대로 읽어본 적이 없습니다. 현장에서는 디자인 패턴이나 리팩토링이 무언지도 모르고 개발하는 개발자가 90%가 넘습니다.
이상을 추구하는 것이야말로 인간의 권리이자 의무이겠지만, 현실을 받아들이는 것도 필요하겠지요. 그렇습니다. 저는 죽도 밥도 아닌 요리를 만들려고 하고 있습니다. 그런 요리가 필요한 사람들이 있다고 믿습니다. 차마, 스스로 드러내놓고 인정하지 못할지언정 자신이 아직은 부족한 개발자라는 것을 알고 있는 그런 사람들 말입니다.
# by | 2008/10/07 00:14 | Development | 트랙백(2) | 덧글(9)





제목 : 궁시렁의 생각
난 지금 밥벌이인데.... T.T써니의 一生牛步行 : 개발자의 길. 예술이냐, 밥벌이냐?...more
제목 : 개발자의 길. 예술이냐, 밥벌이냐?
문제는 좋은 프로그램을 개발하는 것과 회사에 이익을 가져다 주는 일은 양립할 수 없다는 것을 알게 되었지요. 물론 그런 일을 가능하게 해주는 분들도 계십니다. 정말 소수에 가까운 분들이지만 말입니다. 그리고 그런 분들이 어디에나 존재하는 것도 아니지요. 그래서 회사는 이익을 창출하기 위해 과감히 품질을 포기합니다. 더 낮은 임금을 받는 개발자를 찾고, 유능하기보다는 밤샘을 잘하는 개발자를 선호합니다. 그런 회사가 싫어서 이리저리 도망치다 보니 ......more
그래서, 책을 쓰신다면 어떤 내용이든, 어떤 방식이든 (제 이해 범위 안이라면 OTL) 기꺼운 마음으로 읽어보겠습니다 ^^
어떤 저자가, 그저 폼 잡으려고, 아님 돈이나 벌려고 책을 썼을까요? 다들 나름대로 고민하고 꿈을 가지고 썼을 것입니다.
님의 의도를 폄하하는 것이 아니고, 그 좋은 의도만큼, 좋은 책을 쓰기 위해선 신경써야 할 것이 많다는 것을 말하고 싶었습니다.
저 역시 개발자로 시작해서 현재는 컨설팅을 하고 있지만, 하도 많은 문서를 읽고 쓰다보니 목차는 물론이고, 제목 하나만 봐도 그 사람의 머릿속이 얼마나 정리되어 있는지 보여올 때가 있습니다.
전에 적어 주신 제목과 목차로는, 열정과 의도가 앞서 정리가 안되고 있는 듯 합니다. 열거하신 내용들은 각 장만으로도 한권의 책들이 될 듯 하더군요. 한 권의 책으로 모든 걸 해결하려기보다, 단계적으로 여러권으로 풀어봄은 어떠실런지요?
걍, 좋은 책을 쓰시길 바라며 그에 대한 제 의견을 드릴 뿐입니다.
다만, 어떤 것을 담아야할지 미리 염두에 두는 것이 오히려 벅찬 관계로 일단 제가 그 동안 정리해 온 것을 모두 풀어 놓으려고 했던 것이지요. 그 중에서 꼭 필요한 것들을 취사선택해야 할 것입니다. 저 혼자 판단할 일도 아니고, 여러 사람들의 의견과 검토를 거치는 과정이 있을 겁니다.
어쨋든 의견 주신 것에 대해 머리 숙여 감사 드립니다. 질러버린 후에 후회하는 것보다 좀 더 신중한 것이 좋은 것이니까요.