BLOG main image

분류 전체보기 (321)
free (36)
영화 (85)
드라마 (21)
게임 (28)
만화/책 (34)
개발 (46)
IT (68)
연예 (3)
Visitors up to today!
Today hit, Yesterday hit
TETRIS
rss
2009. 1. 18. 17:47

프로그래밍과 작가라는 두 마리 토끼를 모두 잡는데 성공한 임백준씨가 컬럼이나 엣세이가 아닌 소설 형식으로 쓴 책입니다. 행복한 프로그래밍, 누워서 읽는 알고리즘, 나는 프로그래머다, 프로그래밍은 상상이다 등 임백준씨가 쓴 다른 책들도 꽤 재미있게 읽었지만, 뉴욕의 프로그래머는 그 중에서도 가장 재미있고, 많은 생각을 하게 해주는 책이었습니다.

나름 냉정한 평가라고 생각하는 IT 전문 서점 강컴의 독자 평가를 봐도 꽤 괜찮은 것을 알 수 있습니다.



뉴욕의 프로그래머는 임백준씨가 실제로 해외에서 일을 하면서 겪은 경험을 바탕으로 소설로 꾸민 내용입니다. 그래서 상당히 현실적인 느낌이고, 등장하는 인물들이 생동감이 넘쳐 흐릅니다. 특히, 영웅문 같은 무협지처럼 점점 고수의 프로그래머들이 등장하는 구성은 몰입도를 높여줍니다.

소설에는 주인공 영우를 비롯해, 마이크, 톰, 콜린, 폴, 리오, 프라빈, 로버트, 이브, 알렉스까지 다양한 인물들이 등장합니다. 임백준씨는 이 개성 넘치는 캐릭터들의 일상을 통해 프로그래머들의 다양한 삶과 사건들을 흥미진진하게 보여줍니다.

이 소설은 마이크가 해결 못하는 버그를 영우가 돕게 되는 에피소드로 소설이 시작되는데, 재미있는 것은 그 사건의 내용이 꽤 구체적으로 기술적인 접근을 하고 있다는 점 입니다. 마치 로빈 쿡의 의학 소설이나 존 그리삼의 법정 소설에서 그 사건의 전문적인 내용이 등장하는 것 처럼 말이죠. 그래서 개발자들은 '호곡~' 하면서 흥미롭게 소설에 더 몰입할 수 있습니다.

주변에 책 읽기를 부담스러워 하는 분들에게 권했을 때, 그 어떤 책 보다 이 책을 빨리, 그리고 즐겁게 읽는 것을 보면서 '재미있는 글'의 능력에 대해 다시 한번 느끼게 됩니다.

...이렇게 말하면서 감상을 엄청나게 지루하게 쓰고 있군요. 흘흘-_-;


이 책은 재미있지만, 두 가지 상반된 기분을 느끼게 합니다.

첫번째는 이 소설을 읽음으로 인해 나도 책에 등장한 고수들 처럼 실력을 높이고 싶다는 기분이고, 두번째는 천재들을 보며 한탄했던 어떤 등장인물처럼, 제 평범함에 탄식하게 되고 슬픈 기분까지 느끼게 됩니다.

보통 이 책을 읽은 분들은 '나는 어떤 캐릭터를 닮았는가?' 를 생각해보게 되고, 또 주변 사람들에서 책에 등장한 인물과 비슷한 사람들을 찾아보게 됩니다.

저 역시 그런 생각을 하면서 나는 어느 수준일까 생각해 봤습니다.

초고수의 반열에 올라 40대 이후에도 개발에서 탁월한 능력을 보여주는 리오, 그런 고수 리오가 1주일 걸려도 해결 못하는 문제를 몇 십분 살펴보고 해결하는 천재 프라빈, 프라빈에 못지 않은 천재이며 주인공 영우가 프로그래밍을 한 것이 아니라 작곡을 한 것 같다고 극찬한 알렉스, 고집불통에 반사회주의자 같지만 누구나 인정할 수 밖에 없는 실력을 가지고 있어서 회사에서도 건들지 못하는 콜린, 사진같은 기억력과 창의적인 능력으로 문제를 해결해 내는 톰...

이런 인물들을 보면 대입은 커녕 한숨만 나옵니다.
특히, 그냥 '소설에나 있는 인물들'이 아닌 것을 주변에서 직접 경험했던 저에게는 책을 다시 볼 때 마다 아픔(...)까지 느껴질 정도죠-_-;

말이 앞서고 얼렁뚱땅 해결하는 복서 출신의 마이크, 자존심만 강하고 실력도 없으면서 문제만 일으키는 이브, 대충 대충 일하다 심각한 사건을 일으키고 개발자를 포기하는 로버트...

이런 인물들을 보면서 혹시 내가 이 수준은 아닐까? 하는 고민을 하게 됩니다.

그나마 대입을 시켜 볼 수 있는 인물은 주인공인 영우인데, 기본기가 튼튼하고 어느 정도 수준에 도달해 있기도 하고, 또 실제로 임백준씨 자신을 옮긴 케릭터인 것을 고려하면, 나보다 역시나 높은 수준의 개발자인 것이 분명하죠.

그야말로 소설에 등장한 인물들에서 내 위치를 찾아보면 '막장' 개발자 보다 겨우 나은 수준...

불행인지 다행인지, 한국의 개발 회사에는 영우 정도의 개발자들은 어느 정도 있지만, 리오나 프라빈, 알렉스 같은 고수/천재들은 아~~~주 많지는 않습니다. 만약 회사마다 저런 개발자들이 쌓여 있었으면 스트레스로 인해서 아무리 좋아하는 개발이더라도 포기하고 말았을 지도 모릅니다.

어떤 분야나 노력으로 안되는 경지가 있거든요.


어쨌든, 이 소설을 읽으면서 저는 제가 회사 생활을 경험하면서 알게 됐던 인물들과 소설의 인물들을 한번 추억해 봤습니다.

마이크
마이크는 복서 출신으로 나오고, 말이 앞서면서 책임감도 부족한 개발자로 나옵니다. 첫 에피소드에 등장하는 만큼 실력적으로 등장 인물들 중에서 가장 낮는 수준에 속합니다. 복서 출신답게 일이 해결이 잘 안되면 욱~ 하는 성격도 있고 말이죠. 전 회사에 마이크와 똑같은(운동 선수 출신은 아니지만) 분이 한명 있었습니다. 아마도 아직도 개발자를 하고 계실 것 같기는 하지만 참 안타까웠던 기억이 납니다.

영우
한국인으로 영어에 능숙하지 못하지만 어느 정도 평균(평균의 기준이 대체 뭐냣!-_-)의 실력을 가진 개발자로 등장합니다. 아마도 임백준씨 본인의 모습을 투영했을 겁니다. 기술적인 기본기는 확실하고, 개발 방법론(XP, TDD 등)에 대해서도 신념을 가지고 있습니다. 기술에 대한 열정을 가지고 있어서 저처럼 뛰어난 개발자에 감탄도 하고, 한탄도 하면서 열심히 사는 인물입니다. 그나마 제가 절 대입할 수 있는 유일한 인물이었고, 아마 이 책을 읽는 대다수의 개발자들이 공감할 수 있는 정도의 수준일 것이라고 봅니다.
(다른 천재 케릭터랑 비슷하다고 대입하실 수 있는 분... 진정 부럽습니다. T_T)


젊은 친구인데 사진 같은 기억력과 뛰어난 기본기, 그리고 창의력을 가진 인물로 등장합니다. 이미 두번째 인물 부터 심상치가 않습니다. 뛰어난 기본기를 가지고 있는 것 만으로도 개발자는 꽤 괜찮게 성장할 수 있는데, 사진 같은 기억력이라는 특수 능력을 갖췄고, 거기다 창의력까지 뛰어나다니...

아마, 실제로 미국의 유명 IT 기업 (MS, 구글, 페이스 북 등)에서 톰 같은 인물은 '평범한 개발자' 수준일 겁니다. MIT 나 스탠포트에서 쏟아져 나오는 상상도 못할 천재들이 넘쳐나는게 미국 IT 시장이니까요.

어쨌든 톰 같은 개발자도 전 회사에 한명 있었습니다. 정말 짧은 시간에 기본기를 갖추고, 뛰어난 머리로 많은 기술들을 습득해 나가는 모습이 소설 읽을 때 떠오르게 되더군요. 안타깝게도 더 이상 IT 에서 일하지는 않지만 그 좋은 학습 능력을 오랫동안 부러워 했던 기억이 납니다.

콜린
뛰어난 UI 개발자로 나옵니다. 엄청난 실력을 가지고 있지만, 자기만의 세계에 빠져 있어서 동료들의 사랑을 듬뿍 받지는 못합니다. 개발 방법도 '노트패드'를 수십개 열어놓고 코드를 작성하는 그야말로 전설적인 방식을 사용하고, 다른 사람들이 읽기 불가능한 난해한 변수 이름과 코딩 방식을 사용해서 가독성은 형편 없습니다. 더구나 종종 해결이 잘 안되는 버그까지 담겨 있습니다. 그럼에도 불구하고 워낙 뛰어난 결과물을 내놓기 때문에 회사에서는 그의 반사회적인 태도를 묵인하죠.

UI 개발자는 아니지만 이런 인물도 만나봤습니다. 어떤 분야에서 특별한 경지에 이르렀고, 남들의 시선은 전혀 생각하지 않고, 배려 같은 것은 거의 없는 사람. 하지만 워낙 독보적인 존재라서 회사에서 어쩔 수 없는...

사실 개발자 세상에 이런 스타일의 인물이 꽤 있다고 알려져 있고, 어느 정도 사실입니다. 다만 모두가 이렇지는 않은데 많은 영화나 드라마 소설 등에서 개발자 하면 이런 외곬수에 독불장군으로 표현하는 경우가 참 많습니다. 하지만 그건 옛날 핵커들의 전성기 시절에나 그랬고 요즘은 톰이나 영우 같은 개발자들이 보통이라고 생각합니다. 제발 더 이상 개발자들을 이상한 이미지로 만들지 말아주세요-_-;

리오
아마도 평범하거나 머리가 어느 정도 좋은 사람이 이를 수 있는 최고의 경지까지 도달한 개발자 모습일 것입니다. 객체지향의 마법사이며, C++, Java, Ruby 등 다양한 언어를 자유 자제로 다룰 수 있고, 설계 실력도 발군이고 열정도 넘쳐 흘러서 나이에 연연하지 않고 톰과 함께 항상 지식을 나누며 공부하는 모습은 정말 멋졌습니다.
지금 다니는 회사에 이런 분이 있었습니다. 나이도 그렇게 많은 편은 아니지만 다양한 분야에서 대단한 실력을 갖추고 있었죠. 그런데 리오와 다른 점은 성격적인 부분이 너무 전투적이어서, 결국 회사를 떠나더군요. 게다가 소설에서의 리오처럼 다른 사람과 실력과 기술을 공유하는 스타일이 아니었습니다.

프라빈
드디어 등장한 인도 출신의 천재 프로그래머 프라빈!
이 전설적인 프로그래머에 대해서는 소설을 보고 느끼시라고 밖에 얘기할 수 없지만, 그래도 간단히 소개를 하자면, 바로 위에서 소개한 '리오'가 한탄을 하게 만들었던 인물입니다.

소설에서는 영화 '굿 윌 헌팅'의 교수와 윌 헌팅의 일화를 통해 프라빈과 리오의 관계를 설명하죠.

교수가 열심히 풀던 문제를 헌팅(멧 데이먼)에게 맡기자,

"교수님에게는 이 문제가 어려울지 몰라도 저한테는 지루하기 짝이 없는 문제에요!"

라고 말하고 간단히 풀어 버리고는 교수에게서 답안지를 빼앗아 불을 붙이셔 버리자 교수가 불을 끄기 위해 달려드는 장면이 있습니다.

이 때 교수가 눈물을 흘리며(흘리던가요?) 이렇게 얘기하죠.

"너 같은 사람이 존재한다는 사실을 차라리 몰랐더라면 얼마나 좋았을까. 그럼 요즘처럼 밤마다 뜬 눈으로 지새우지 않아도 되었을 텐데."

네, 리오같은 경지에 도달한 초고수가 영화속의 교수 얘기를 하면서, 자기가 프라빈하고 겪은 얘기를 해주죠.

전 리오는 커녕 톰에게도 도달을 못했지만, 그 마음 자체는 이해가 갑니다.

연구소에 파견 나갔을 때 직접 겪었거든요-_-;

전 논어에서 공자가 얘기한 "知之者, 不如好之者 ; 好之者, 不如樂之者. (아는 사람은 좋아하는 사람만 못하고, 좋아하는 사람은 즐기는 사람만 못하다)" 라는 말을 참 좋아합니다.

제가 프로그래밍을 좋아하고, 또 즐기기 때문에 아무리 천재들이 많아도 상관없다! 하는 마음이었죠.

근데... 상관이 있더군요-_-;

공자가 생략한 문장이 있었습니다. (혹은 천재를 못 만나봤거나)
아는 사람은 좋아하는 사람만 못하고, 좋아하는 사람은 즐기는 사람만 못하다.
하지만, 아는 사람이고 좋아하는 사람이고 즐기는 사람이고 천재한테는 택도 없다. -_-;

네, 택도 없습니다. -_-;
게다가 천재들은 잘 알기도 잘 알고, 열라 좋아하고, 겁나 즐깁니다. 남들보다 몇 배나 더...

아놔 시발-_-;

다만, 제가 만난 분들과 소설속의 프라빈과의 차이점이 있다면..

프라빈이 좀 더 천재인 것 같습니다만, (비교할 수치적 근거는 없지만요)
프라빈은 프로그래밍이 사실 좋아하는 일이 아니었습니다. 작가가 꿈이었던가 그렇습니다. (이런 썅놈-_-)

인도에서는 머리가 좋고 성적이 좋으면 무조건 IT 에서 일하는 경향이 있어서 부모의 뜻에 의해 개발자를 했는데, 사실은 작가가 꿈이었던거죠. 그래서 돈 많이 벌어서 IT 를 떠납니다. (작가로도 성공하면 나 삐질듯...)

그래요 갈 사람은 가는겁니다. 그래야 저 같은 평범한(이젠 평범 이하인 것 같어...-_-) 사람도 살죠.


이브
이브는 그냥 사건의 원인으로 나오는 인물인데, 그냥 전형적인 자기만 옳고 남이 지적하면 성질 내고, 실력도 없으면서 문제만 일으키는 최악의 개발자 모습입니다. 아마, 어느 회사에나 있을 법한 평범한(?) 개발자죠.
뭐, 이 경우는 비교할 대상도 마땅치 않고 그럴 필요도 없겠네요 ^_^;
다만, 제가 이런 인물이 되지 않아야지.. 하는 경각심은 느꼈습니다.-_-;;;


알렉스
무려, 프라빈과 필적한 천재이면서, 회사를 떠나지 않는 -_- 나쁜 놈입니다;;
프라빈하고 대화가 통했다... 라는 말로 소설에서는 알렉스를 소개하고 있습니다.
초고수(이젠 이 사람 조차 고수가 아닌 것 같기도) 리오도 그 둘의 대화에는 쉽게 낄 수가 없었다고 하죠.
네, 지금 회사에서 그런 사람 둘이 대화하는 사이에 껴서 '멍 때리고' 있던 적이 있어서 어떤 기분인지 압니다.
근데 생각해보면 저 보다는 리오가 더 기분 나빴을 것 같아요.
저야 실력이 안되니 '뭔 소리여~' 하고 있었지만, 리오는 자기도 나름 초고수인데(...), 정말 막막하죠...-_-;

마지막 에피소드를 장식하고 있을 만큼, 알렉스의 영웅담도 엄청납니다.
다만 적극적이고 천재라고는 믿을 수 없게 커뮤니케이션이 괜찮았던 프라빈과 달리, 알렉스는 전형적인 천재들의 소심함, 내성적 성격을 가지고 있습니다.

여기서 잠깐 제가 아는 내성적인 성격의 천재 개발자 분 중 한분 얘기를 하나 소개해드리겠습니다.

도널드 커누스 교수가 쓴 'Art of Programming' 이라는 책이 있습니다.

빌게이츠가 "이 책을 다 본(이해한) 사람은 절 찾아오세요. MS에 입사시켜드립니다" 라고 얘기해서 더욱 유명한 책으로,

제가 강컴에 주문했다가 택배 받아서 책 펼쳐보고 "즉시" 반품한 책입니다. 
(반품 사유 : 니가 읽어봐 시발-_- 이라고 적고 싶었습니다. 번역하신 류광님 진정 최고!!! 후우;;;)

반품하기 전에, 팀원들이랑 다른 개발자들이랑 막 저자(류광님 말고 커누스 교수요)를 욕하고 있었는데...

그 천재 개발자 분은 어쩐지 읽었을 것 같은 느낌이 들어서 물어봤습니다.

"이거 혹시 보셨나요?" (설마~~~~)

"어, 그거 10년전쯤 읽었는데..."  (무덤덤)

아악!!!-_-;

10년전이면 번역본이 나오기 전입니다. 아트 오브 프로그래밍을 무려 원서로 읽었다는 거죠-_-;

전 지금도 항상 의문이 듭니다.

'님, 왜 MS 안가셨나요?-_-'


어쨌든 소심하면서 천재적인 개발자 알렉스의 '예술적인' 프로그래밍의 경지를 보여주는 것으로 이 소설은 끝납니다.

영우는 마지막에 알렉스의 실력에 감탄하면서 이런 개발자들과 함께 일해서 행복하단 얘기를 하죠.

니미-_-

행복하긴 개뿔이...-_-;


저도 뛰어난 개발자를 꿈꾸고, 계속해서 멘토를 찾고 있지만...
평범한 사람에게 천재는 멘토가 되어주지 못하는 것 같아요.
(웃기네~ 난 천재가 멘토였는데 정말 좋았다! 라고 생각하시는 분이 있다면 님도 천재라는 뜻입니다)

사실 천재가 동료로 있으면 좋긴 좋습니다. ^^
도저히 해결될 것 같지 않은 문제도 해결하고...
'이건 있을 수 없는 일이야!' 싶은 일도 해내기도 합니다.
그래도 살짝 열 받잖아요-_-;
어느 정도 접근할 수 있는 (최소한 보면서 감탄할?) 범위 내에 있어야 감동도 하고 놀랍기도 하지...;;;


뉴욕의 프로그래머는 이런 프로그래밍 히어로들의 스토리를 정말 재미있게 풀어내고 있습니다.
인물들의 개성도 살아있고, 누군가에게 캐릭터를 대입하는 재미도 있고 말이죠.

천재들을 보고 한탄하는 마음이 생긴다고 얘기하긴 했지만,
그것보다는 아~ 정말 나도 리오 같은 개발자로 성장하고 싶다... 라는 의욕도 생깁니다.

또, 좀 부족한 개발자들의 예를 보면서, 나는 저런 실수를 하지 말아야지 하는 경각심도 생기구요.


개발자라면 정말 재미있게 읽을 수 있고, 얻는 것도 많을 책입니다.

임백준씨의 책 중에서 최고라고 뽑고 싶네요~!!!